Conversation
- Add Rote deployment template with frontend, backend, and PostgreSQL services - Configure domain routing for frontend (port 80) and backend (port 3000) - Set up automatic password generation and environment variables - Use latest image tag by default - Add logo and metadata to meta.json
…demirror/autocomplete', '@radix-ui/react-dialog', and React packages to their latest versions. This includes updates to '@types/react' and '@types/react-dom' for improved compatibility and performance.
… target 'canary' branch for pull requests.
… and future modifications.
…deployment process and clarity.
* Update template.toml * Update template.toml * Update template.toml
feat: add Rote template
…shrouded-server for autoupdate and easier config
changed image to mornedhels/enshrouded-server
* feat: add Openinary template * feat: update Openinary configuration to support ALLOWED_ORIGIN and refactor domain variable
… template files - Introduced a GitHub Actions workflow to validate Docker Compose files and template.toml on pull requests. - Added helper functions for generating random values and processing variables in templates. - Implemented validation scripts for checking the structure, syntax, and best practices of Docker Compose and template files. - Created necessary TypeScript types and configuration files for the build scripts.
* feat(templates): add Passbolt blueprint for Dokploy - Add docker-compose.yml defining services for Passbolt and MariaDB - Create template.toml with configurable domain, email, and database credentials - Add meta.json with metadata, tags, and link to logo * fix(meta): sort meta.json entries * fix: passbolt template had several issues that broke deployment - env variables were using old array format, changed to new table format - mariadb healthcheck was broken (wrong command for mariadb 11) - missing volume mounts for gpg keys, jwt tokens, and database - setup instructions weren't visible to users, moved to docker-compose - email config had circular references causing warnings - tested admin user creation and confirmed working everything works now, fully tested * Update blueprints/passbolt/template.toml --------- Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
* feat: Add Kokoro TTS FastAPI template (#353) - Add CPU-optimized docker-compose.yml with source build - Add GPU-optimized docker-compose-gpu.yml for NVIDIA support - Add comprehensive template.toml with OpenAI-compatible API docs - Add kokoro-tts.svg logo and meta.json entry - Support streaming audio, timestamps, and multi-language TTS - Resolves #353 * updated the meta.json for the build errors * removed the docker-compose-gpu.yml file * Update docker-compose.yml --------- Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
* feat: add Moltbot template Add template for Moltbot - a WhatsApp gateway CLI with Pi RPC agent. - Uses official ghcr.io/moltbot/moltbot:latest image - Exposes ports 18789 (gateway) and 18790 (bridge) - Includes persistent volumes for config and workspace - Auto-generates gateway token - Optional Claude AI integration support Co-Authored-By: Claude <noreply@anthropic.com> * Update docker-compose.yml * Enhance Moltbot configuration in docker-compose and template files - Added CLAWDBOT_GATEWAY_URL and OPENROUTER_API_KEY to docker-compose.yml - Updated service binding to 'auto' and added init: true for improved service management - Defined CLAWDBOT_GATEWAY_PORT and CLAWDBOT_BRIDGE_PORT in template.toml - Included CLAWDBOT_PLUGINS for plugin configuration in template.toml * Add Moltbot entry to meta.json - Introduced a new entry for Moltbot, a WhatsApp gateway CLI with Pi RPC agent. - Included details such as version, description, logo, links, and relevant tags for better discoverability and integration. --------- Co-authored-by: Claude <noreply@anthropic.com> Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> Co-authored-by: Mauricio Siu <siumauricio@icloud.com>
* feat: rename Moltbot to Openclaw and update related configurations * fix: update Openclaw image version to 2026.1.29 in docker-compose.yml * fix: correct environment variable name for Openclaw gateway * fix: correct volume path for Openclaw workspace in docker-compose.yml * feat: rename Moltbot to Openclaw and update metadata * fix: moving 'openclaw' entry below so the file looks sorted * fix: add missing newline at end of meta.json * fix: update docker-compose.yml to use 'expose' instead of 'ports' and change bind option to 'lan' * feat: update Openclaw service configuration in docker-compose.yml and template.toml - Changed service name from 'openclaw-gateway' to 'openclaw' and updated image version. - Enhanced environment variables for better configuration management. - Added a new 'browser' service with health checks and updated volume paths. * refactor: update environment variable configuration in docker-compose.yml for Openclaw service --------- Co-authored-by: Mauricio Siu <siumauricio@icloud.com>
* feat: added Cloudflare DDNS template * fix: make CLOUDFLARE_API_TOKEN and DOMAINS mandatory env
Expose the CONTAINER_PREFIX environment variable to kong service, then utilize it to format the URL of realtime service.
…ckups (#574) * fix: use environment variables from configuration in habitica-server * feat: add users to mongodb replicaSet This commit adds admin and habitica users + enables replicaSet auth by introducing a keyfile. Dokploy DB backups require specifying an user and password, so this enables that feature for Habitica app. * chore: less retries * chore: do not start server until mongo is healthy * fix: ensure habitica user exists for habitica db * fix: remove BASE_URL to prevent infinite redirects * fix: add missing ADMIN_EMAIL --------- Co-authored-by: Jorge Gómez Zarzosa <jorgegomez@bmat.com>
#598) * New Templates (#586) * feat(librechat): add LibreChat blueprint with compose, toml, metadata, links and tags * fix: rename templates to template.toml * fix(librechat): rename api service to librechat in docker-compose.yml * Update blueprints/librechat/template.toml * Update blueprints/librechat/template.toml * fix(librechat): add version under [config] and remove stray [config.mounts] header * fix(librechat): remove predefined persistent volume mounts from template.toml * docs(librechat): add authentication reference link to docker-compose.yml * feat: add Rote template - Add Rote deployment template with frontend, backend, and PostgreSQL services - Configure domain routing for frontend (port 80) and backend (port 3000) - Set up automatic password generation and environment variables - Use latest image tag by default - Add logo and metadata to meta.json * fix: process meta.json to fix formatting and sorting * Update GitHub workflows to target 'canary' branch for meta validation * Update pnpm-lock.yaml to upgrade various dependencies, including '@codemirror/autocomplete', '@radix-ui/react-dialog', and React packages to their latest versions. This includes updates to '@types/react' and '@types/react-dom' for improved compatibility and performance. * Enhance GitHub workflows: add production deployment configuration and target 'canary' branch for pull requests. * Refactor GitHub workflow: comment out build preview steps for clarity and future modifications. * Remove unnecessary blank line in deploy-preview.yml for improved readability. * Refactor GitHub workflow: uncomment build preview steps for improved deployment process and clarity. * Update template.toml (#555) * Update template.toml * Update template.toml * Update template.toml * fix: change VITE_API_BASE to http:// for traefik.me compatibility * changed image from sknnr/enshrouded-dedicated-server to mornedhels/enshrouded-server for autoupdate and easier config * Add Openinary Template (#567) * feat: add Openinary template * feat: update Openinary configuration to support ALLOWED_ORIGIN and refactor domain variable * fix: correct DEFAULT_DOMAIN environment variable reference in docker-compose.yml (#562) * add rustfs template (#568) * feat: add pull request template for improved contribution guidelines * fix: update pull request template to clarify issue closing keywords * feat: add validation scripts and configuration for Docker Compose and template files - Introduced a GitHub Actions workflow to validate Docker Compose files and template.toml on pull requests. - Added helper functions for generating random values and processing variables in templates. - Implemented validation scripts for checking the structure, syntax, and best practices of Docker Compose and template files. - Created necessary TypeScript types and configuration files for the build scripts. * Add Passbolt template blueprint to Dokploy templates (#376) * feat(templates): add Passbolt blueprint for Dokploy - Add docker-compose.yml defining services for Passbolt and MariaDB - Create template.toml with configurable domain, email, and database credentials - Add meta.json with metadata, tags, and link to logo * fix(meta): sort meta.json entries * fix: passbolt template had several issues that broke deployment - env variables were using old array format, changed to new table format - mariadb healthcheck was broken (wrong command for mariadb 11) - missing volume mounts for gpg keys, jwt tokens, and database - setup instructions weren't visible to users, moved to docker-compose - email config had circular references causing warnings - tested admin user creation and confirmed working everything works now, fully tested * Update blueprints/passbolt/template.toml --------- Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> * feat: Add Kokoro TTS FastAPI template (#353) (#403) * feat: Add Kokoro TTS FastAPI template (#353) - Add CPU-optimized docker-compose.yml with source build - Add GPU-optimized docker-compose-gpu.yml for NVIDIA support - Add comprehensive template.toml with OpenAI-compatible API docs - Add kokoro-tts.svg logo and meta.json entry - Support streaming audio, timestamps, and multi-language TTS - Resolves #353 * updated the meta.json for the build errors * removed the docker-compose-gpu.yml file * Update docker-compose.yml --------- Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> * chore: remove package-lock.json file from the app directory * chore: update Tolgee to latest version and fix SMTP config typo (#432) * chore: update Tolgee to latest version and fix SMTP config typo * Update docker-compose.yml * Update docker-compose.yml --------- Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> * fix: improve Docker Compose validation workflow to handle subshell issues - Converted the handling of COMPOSE_FILES from a pipe to an array to ensure error propagation in the parent shell. - Updated the loop to iterate over the array for better reliability in the validation process. * refactor: enhance Docker Compose validation workflow to improve error handling - Replaced the pipe with an array to handle directory names, ensuring that errors within the loop propagate correctly to the parent shell. - Updated the loop structure for better reliability in processing the directories. * Feat: Add parseable (#460) * Add parseable * Update docker-compose.yml * Update docker-compose.yml * Update blueprints/parseable/template.toml --------- Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> Co-authored-by: Mauricio Siu <siumauricio@icloud.com> * feat: add ChirpStack LoRaWAN Network Server template (#486) * feat: add ChirpStack LoRaWAN Network Server template Add complete ChirpStack v4 template with: - Main ChirpStack server with web UI - UDP and Basics Station gateway bridges - REST API interface - PostgreSQL database with PostGIS extensions - Redis cache - Mosquitto MQTT broker Default configuration for EU868 region with secure random credentials. Supports all LoRaWAN frequency bands globally. * fix(chirpstack): use original configurations from chirpstack-docker repo Update template.toml to use exact configuration files from the chirpstack-docker repository instead of simplified versions: - Use original chirpstack.toml with all 15 enabled regions - Use original gateway bridge configuration with documentation links - Use complete Basics Station EU868 config with frequency plans - Keep original Mosquitto and PostgreSQL initialization scripts Template size increased from 131 to 219 lines (4.7KB) to include comprehensive default configurations that match the official setup. * feat: add all 38 region configuration files * fix(chirpstack): add volume mounts to expose config files to containers * fix(chirpstack): remove read-only flag * fix(chirpstack): correct file paths for configuration mounts in docker-compose and template files * fix: update volume paths to be on correct directory level * fix: configure template for dokploy-network with proper DNS resolution - Add dokploy-network configuration to docker-compose.yml - Replace environment variable placeholders with actual service hostnames - Change PostgreSQL DSN from $POSTGRESQL_HOST to postgres - Change Redis server from $REDIS_HOST to redis - Replace $MQTT_BROKER_HOST with mosquitto in all 39 region configurations These changes ensure Docker DNS resolution works correctly by: - Using dokploy-network (overlay) instead of bridge network - Using service names directly in TOML config files (TOML doesn't expand env vars) - Enabling proper service discovery between containers This resolves DNS resolution failures that caused ChirpStack to fail connecting to PostgreSQL and MQTT services during deployment. * fix: add missing network configurations for all services in docker-compose * feat: add internal services to config.domains for proper network configuration * Update docker-compose.yml * fix: enhance domain validation in template validator - Updated the TemplateValidator to ensure that if the 'host' field is provided, it must be a valid string. - Added comments to clarify that 'host' is optional for internal services. * refactor: remove redundant host validation in template validator - Removed the validation for the 'host' field in the TemplateValidator, as it is optional for internal services and does not require a type check if not provided. * refactor: remove internal service domain configurations from template - Eliminated the domain configurations for internal services (Postgres, Redis, Mosquitto) from the template.toml file, streamlining the configuration for better clarity and maintainability. --------- Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> Co-authored-by: Mauricio Siu <siumauricio@icloud.com> * Update section title from 'Suggestions' to 'Requirements' * Feat : Add MCSManager template support (#521) (#522) * feat: Add MCSManager template support (#521) * Update docker-compose.yml --------- Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> * feat: Add MediaCMS template (#524) * Feat : Add Quant-Ux template -#173 (#525) * Feat : Add Quant-Ux template -#173 * Remove extra newline in docker-compose.yml * Update blueprints/quant-ux/docker-compose.yml * Update blueprints/quant-ux/docker-compose.yml * Update blueprints/quant-ux/docker-compose.yml * Update blueprints/quant-ux/docker-compose.yml --------- Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> * fix(rustdesk): use explicit ports, use port 21118 on hbbs instead of hbbr (#526) * fix: use explicit ports, use port 21118 on hbbs instead of hbbr * fix: whitespace character in rustdesk * feat: Add anytype template (#527) * add anytype template * sort * Update name field for Anytype in meta.json * Update meta.json * Update docker-compose.yml * Update blueprints/anytype/docker-compose.yml --------- Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> * refactor: remove dokploy-network configurations from multiple docker-compose files - Removed the external dokploy-network configuration from various services' docker-compose.yml files to streamline network management. - This change simplifies the setup and ensures consistency across blueprints. * chore: upgrade Infisical from v0.90.1 to v0.135.0 (#529) * chore: upgrade Infisical from v0.90.1 to v0.135.0 * Update docker-compose.yml --------- Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> * fix: update pull request template link for clarity - Changed the link in the pull request template from 'general suggestions' to 'general requirements' to better reflect the content and ensure users follow the correct guidelines when creating templates. * chore: add section for screenshots or videos in pull request template - Introduced a new section in the pull request template to encourage contributors to include screenshots or videos, enhancing the clarity and context of their submissions. * Feat : Add MuleSoft ESB Runtime Template (#498) * added the mulesoft esb template * updated the compose and the meta.json * feat(mulesoft-esb): update image and add dynamic env configuration - Updated image to hari1367709/mule-esb:latest - Added dynamic HTTP_PORT for runtime port configuration - Added MULE_VERSION environment variable for Mule ESB version selection * updated the meta.json to use the version as latest * added a comment line to the template file * updated the mule runtime image * fix(mulesoft-esb): update ports configuration to follow guidelines * updated the port to use the env(HTTP_PORT) * Update docker-compose.yml * Update docker-compose.yml * Update blueprints/mulesoft-esb/docker-compose.yml --------- Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> * feat(blueprint): update trmnl-byos-laravel template (#533) * feat(blueprint): update trmnl-byos-laravel template * Update docker-compose.yml --------- Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> * feat(blueprint): peerdb template (#579) * feat(blueprint): initial attempt at peerdb template * fix: entrypoint and healthcheck * fix: entrypoint * fix: temporarily remove network * fix: temporal port * chore: remove 36987 for minio * fix: remove peerdb 9900 port exposure * fix: port for console * fix: minio env fix * fix: expose peerdb and minio to dokploy network * fix(peerdb): add defaults * fix: remove extra hosts * fix: remove network entries * fix: use consistent environment variables * feat: add Bluesky PDS template (#542) * feat: Bluesky PDS template * chore: add bluesky pds svg * chore: metadata for bluesky pds * yaml > yml * pnpm lock * fix: correct rotation key config * fix volumes * fix: volumes in the pds compose * define volumes in compose * fix: 32 bit rotation key * create pds.env correctly * some extra fixes * more extra fixes * a blank line * update pnpm lock * Add dokploy-prom-monitoring-extension template with comprehensive tests and documentation (#548) * Add dokploy-prom-monitoring-extension template with comprehensive tests and documentation * Fix METRICS_CONFIG environment variable: use single-line JSON format * Fix template.toml: use correct [config.env] syntax for environment variables * Fix docker-compose.yml: add env_file reference to load environment variables * Delete blueprints/dokploy-prom-monitoring-extension/README.md * Delete test-dokploy-prom-monitoring-extension.sh --------- Co-authored-by: Sanjeevi Subramani <ssanjeevi.ss@gmail.com> Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> * feat: improve RustDesk template configuration (#571) * feat: improve RustDesk template configuration - Add comprehensive environment variables for RustDesk server - Add RELAY_HOST, API_SERVER, ID_SERVER, and ENCRYPTION_KEY variables - Follow Dokploy best practices (no container_name, proper port format) - Use restart: unless-stopped policy - Add encryption key generation with password helper * fix: use explicit port mapping for RustDesk services RustDesk requires explicit port bindings (host:container format) to function properly. The service uses specific ports for: - 21115-21116 (TCP/UDP): hbbs service for ID and NAT traversal - 21117-21119 (TCP): hbbr relay service Without explicit port mapping, RustDesk clients cannot establish connections to the server. This is an exception to Dokploy's general port guidelines due to RustDesk's specific networking requirements. --------- Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> * feat: add Mumble voice chat server template (#572) * feat: add Mumble voice chat server template - Add Mumble VoIP server blueprint with docker-compose.yml - Configure environment variables for superuser password, welcome text, and max users - Add template.toml with auto-generated secure password - Follow Dokploy best practices (no container_name, proper port format) - Add Mumble metadata to meta.json with proper tags - Support for TCP and UDP on port 64738 * Update template.toml * fix: correct JSON formatting in meta.json for Mumble template entry --------- Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> Co-authored-by: Mauricio Siu <siumauricio@icloud.com> * fix: update WireGuard Easy template for proper functionality (#573) * fix: update WireGuard Easy template for proper functionality - Changed to named volume (etc_wireguard) instead of host path mount - Added explicit port mappings (51820:51820/udp, 51821:51821/tcp) required for WireGuard - Updated environment variables to use correct WG_HOST and PASSWORD format - Added all required WireGuard environment variables: - WG_PORT, PORT, WG_MTU, WG_DEFAULT_DNS, WG_ALLOWED_IPS - WG_POST_UP/WG_POST_DOWN for iptables rules - Added NET_RAW capability for proper network operations - Simplified template.toml to use WIREGUARD_HOST and WIREGUARD_PASSWORD - Removed explicit networks config to enable Dokploy's isolated deployment - Template now works with Dokploy's automatic network isolation This configuration has been tested and confirmed working with isolated deployment enabled. * Update template.toml --------- Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> * add: restart policy to MinIO service (#576) restart: unless-stopped is a Docker restart policy that automatically restarts a container if it stops due to an error or Docker daemon restart --------- Co-authored-by: Sunil Shrestha <sunil.shrestha@tekkon.com.np> Co-authored-by: Rabithua <rabithua@gmail.com> Co-authored-by: Mauricio Siu <siumauricio@hotmail.com> Co-authored-by: Scan <103391616+scanash00@users.noreply.github.com> Co-authored-by: Crackvignoule <kiki.kalagan@gmail.com> Co-authored-by: florianheysen <39408021+florianheysen@users.noreply.github.com> Co-authored-by: Thiago MadPin <madpin@gmail.com> Co-authored-by: BlinkStrike <18644035+BlinkStrike@users.noreply.github.com> Co-authored-by: M Jupri Amin <127651222+Juupeee@users.noreply.github.com> Co-authored-by: Harikrishnan Dhanasekaran <harikrishnan@mulecraft.in> Co-authored-by: Kamil Dzieniszewski <kamil.dzieniszewski@gmail.com> Co-authored-by: Nick Anderson <nbrookie@gmail.com> Co-authored-by: lefolalan <alan.lefol@omirion.com> Co-authored-by: Chris <31969757+ChrisvanChip@users.noreply.github.com> Co-authored-by: kipavy <88386090+kipavy@users.noreply.github.com> Co-authored-by: Benjamin Nussbaum <bnussbau@users.noreply.github.com> Co-authored-by: Khiet Tam Nguyen <86177399+nktnet1@users.noreply.github.com> Co-authored-by: Vidhya LKG for IT <24915474+VidhyaSanjeevi@users.noreply.github.com> Co-authored-by: Sanjeevi Subramani <ssanjeevi.ss@gmail.com> Co-authored-by: Muzaffer Kadir YILMAZ <34358176+muzafferkadir@users.noreply.github.com> Co-authored-by: Jemg <murksopps@gmail.com> * Refactor wg-easy service configuration in docker-compose Updated environment variables for wg-easy v15 * Refactor wg-easy service configuration in docker-compose Updated environment variables for wg-easy v15 --------- Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> Co-authored-by: Sunil Shrestha <sunil.shrestha@tekkon.com.np> Co-authored-by: Rabithua <rabithua@gmail.com> Co-authored-by: Mauricio Siu <siumauricio@hotmail.com> Co-authored-by: Scan <103391616+scanash00@users.noreply.github.com> Co-authored-by: Crackvignoule <kiki.kalagan@gmail.com> Co-authored-by: florianheysen <39408021+florianheysen@users.noreply.github.com> Co-authored-by: Thiago MadPin <madpin@gmail.com> Co-authored-by: BlinkStrike <18644035+BlinkStrike@users.noreply.github.com> Co-authored-by: M Jupri Amin <127651222+Juupeee@users.noreply.github.com> Co-authored-by: Harikrishnan Dhanasekaran <harikrishnan@mulecraft.in> Co-authored-by: Kamil Dzieniszewski <kamil.dzieniszewski@gmail.com> Co-authored-by: Nick Anderson <nbrookie@gmail.com> Co-authored-by: lefolalan <alan.lefol@omirion.com> Co-authored-by: Chris <31969757+ChrisvanChip@users.noreply.github.com> Co-authored-by: kipavy <88386090+kipavy@users.noreply.github.com> Co-authored-by: Benjamin Nussbaum <bnussbau@users.noreply.github.com> Co-authored-by: Khiet Tam Nguyen <86177399+nktnet1@users.noreply.github.com> Co-authored-by: Vidhya LKG for IT <24915474+VidhyaSanjeevi@users.noreply.github.com> Co-authored-by: Sanjeevi Subramani <ssanjeevi.ss@gmail.com> Co-authored-by: Muzaffer Kadir YILMAZ <34358176+muzafferkadir@users.noreply.github.com> Co-authored-by: Jemg <murksopps@gmail.com>
* feat(blueprint): strapi template * feat: strapi meta.json * fix: strapi extra colon * fix: docker syntax for expose and depends_on * fix: change image base * fix: strapi healthcheck * fix: add jwt secret and admin jwt secret to strapi * fix: strapi healthcheck start interval * fix(template): strapi v5.33.0 * Update docker-compose.yml --------- Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> Co-authored-by: Mauricio Siu <siumauricio@icloud.com>
* feat: Add Pulse monitoring template - Add docker-compose.yml with healthcheck and Docker socket access - Add template.toml with domain and authentication variables - Add pulse.svg logo - Add meta.json entry with monitoring, proxmox, docker tags - Supports Proxmox VE, PBS, and Docker monitoring with real-time metrics * fix: Update Pulse docs link to GitHub repository - Replace non-existent docs.pulse.rcourtman.com with GitHub docs path - Use canonical documentation location in Pulse repository * update pulse links * Update blueprints/pulse/docker-compose.yml --------- Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
…lugin (#621) * Initial plan * Fix Obsidian LiveSync template links to point to correct project Co-authored-by: Siumauricio <47042324+Siumauricio@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: Siumauricio <47042324+Siumauricio@users.noreply.github.com>
* feat: add SeaweedFS template * chore: add specific seaweedfs version
…base (#639) * Update image versions in the docker-compose and meta.json files for AList, Appsmith, and Budibase. * Update MinIO image version in docker-compose Pins a specific MinIO image version RELEASE.2025-09-07T16-13-09Z
- Added guidelines for keeping pull requests small and focused. - Emphasized the importance of testing contributions before submission to maintain a tidy PR queue.
* feat/add trilium next template * fix: test verify to pr * fix: fix validation error in docker-compose * fix: static version to trilium image --------- Co-authored-by: jbello <jbello@raodsystem.com>
* feat: add wuzapi template * chore: remove temporary meta_entry.json * fix(wuzapi): remove explicit networks and simplify depends_on for Dokploy compatibility * fix(wuzapi): remove invalid config.mounts from template.toml * Update Docker images for wuzapi and PostgreSQL fixed the version of the wuzapi docker image.
* feat: add PostgreSQL with PgDog template Add postgres-pgdog template providing PostgreSQL database with PgDog connection pooler, load balancer, and horizontal scaling proxy. Modern alternative to PgBouncer with multi-threading support. - Configurable PostgreSQL (default: 18-alpine) and PgDog (default: v0.1.26) images - Optional admin interface on port 6433 - Includes healthcheck and dependency management * 🐛 fix(postgres-pgdog): add config mounts and fix postgres volume path - Add [[config.mounts]] for pgdog.toml and users.toml - Mount config files from ../files/ in docker-compose - Change postgres volume to /var/lib/postgresql (postgres 18+ standard) - Add explicit command with config paths to prevent warnings * 🐛 fix(postgres-pgdog): correct binary path and use default config locations - Mount configs to /pgdog/ (default WorkingDir) instead of /etc/pgdog/ - Remove explicit command (binary is /usr/local/bin/pgdog, not /pgdog/pgdog) - Use image's default CMD with default config paths * 🐛 fix(postgres-pgdog): remove invalid admin_port config field - Remove admin_port from [general] section (not a valid field) - Admin DB uses same port 6432 with special database name - Remove commented admin domain config * 🐛 fix(postgres-pgdog): enable external access via fixed port mapping - Add fixed port 6432:6432 to postgres-pgdog service - Remove HTTP domain config (incompatible with TCP protocol) - Add comment for internal-only option Fixes UnsupportedStartup errors when using domain config for PostgreSQL protocol access. * 🐛 fix(postgres-pgdog): use standard port format per convention - Change port mapping from '6432:6432' to '6432' format - Follows Dokploy template convention for port declarations - External access requires checking Dokploy UI for assigned host port * 📝 docs(postgres-pgdog): clarify port settings comment * 🐛 fix(postgres-pgdog): default to internal access with opt-in external port - Remove obsolete version field - Port mapping commented by default for security - Users uncomment to enable external access on port 6432
* Add IPFS Kubo template * Update init cmds * Remove port forwarding
* Bump version to 2.1.0 * Update meta.json with new version number
Co-authored-by: Aaron McGuire <git.figment276@passmail.net>
…ork instructions (#595) * fix: superset version fixed, tweak network instructions * chore: simplify mapbox key * fix: volume mount * deps: bump superset to 6.0.0
| - OPENCLAW_GATEWAY_BIND=${OPENCLAW_GATEWAY_BIND:-loopback} | ||
| - OPENCLAW_STATE_DIR=/data/.openclaw | ||
| - OPENCLAW_WORKSPACE_DIR=/data/workspace | ||
| - BROWSER_CDP_URL=http://browser:9223 |
There was a problem hiding this comment.
Browser CDP port mismatch
The BROWSER_CDP_URL is set to port 9223, but the browser service configures Chrome's remote debugging port as 9222 (line 73: CHROME_CLI=--remote-debugging-port=9222), and the browser healthcheck also checks port 9222 (line 78). This mismatch means openclaw will fail to connect to the browser.
| - BROWSER_CDP_URL=http://browser:9223 | |
| - BROWSER_CDP_URL=http://browser:9222 |
| test: ["CMD-SHELL", "pg_isready -h localhost -U $$POSTGRES_USER"] | ||
| interval: 2s | ||
| start_period: 30s | ||
| test: ["CMD-SHELL", "pg_isready", "-U", "${VIKUNJA_DATABASE_USER}", "-d", "${VIKUNJA_DATABASE_DATABASE}"] |
There was a problem hiding this comment.
Invalid healthcheck syntax for CMD-SHELL
When using CMD-SHELL, the entire command must be passed as a single string (the shell receives it as one argument to /bin/sh -c). Splitting into multiple array elements after CMD-SHELL will cause the healthcheck to fail because Docker only passes the second element as the shell command, ignoring the rest. Other Postgres healthchecks in this repo (e.g., strapi, superset) use the correct format.
| test: ["CMD-SHELL", "pg_isready", "-U", "${VIKUNJA_DATABASE_USER}", "-d", "${VIKUNJA_DATABASE_DATABASE}"] | |
| test: ["CMD-SHELL", "pg_isready -U ${VIKUNJA_DATABASE_USER} -d ${VIKUNJA_DATABASE_DATABASE}"] |
| POSTGRES_DB: ${POSTGRES_DB} | ||
| volumes: | ||
| - superset_postgres_data:/var/lib/postgresql/data | ||
| - superset_postgres_data:/var/lib/postgresql |
There was a problem hiding this comment.
Incorrect Postgres data volume path
The volume mount changed from /var/lib/postgresql/data (the standard PostgreSQL data directory) to /var/lib/postgresql. The official Postgres Docker image stores data in /var/lib/postgresql/data, so mounting a volume to the parent directory (/var/lib/postgresql) means the actual data subdirectory won't be persisted correctly across container restarts, and may also cause conflicts with PostgreSQL initialization scripts.
| - superset_postgres_data:/var/lib/postgresql | |
| - superset_postgres_data:/var/lib/postgresql/data |
| POSTGRES_USER: strapi | ||
| POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} | ||
| volumes: | ||
| - strapi_postgres_data:/var/lib/postgresql |
There was a problem hiding this comment.
Incorrect Postgres data volume path
Same issue as in superset: the volume should mount to /var/lib/postgresql/data, not /var/lib/postgresql. The official Postgres Docker image stores its data in the data subdirectory, and mounting to the parent directory will cause data persistence issues.
| - strapi_postgres_data:/var/lib/postgresql | |
| - strapi_postgres_data:/var/lib/postgresql/data |
| - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} | ||
| - POSTGRES_DB=${POSTGRES_DB} | ||
| volumes: | ||
| - postgres-data:/var/lib/postgresql |
There was a problem hiding this comment.
Incorrect Postgres data volume path
Same issue as in the other templates: the volume should mount to /var/lib/postgresql/data, not /var/lib/postgresql. The official Postgres Docker image uses the data subdirectory for its data files.
| - postgres-data:/var/lib/postgresql | |
| - postgres-data:/var/lib/postgresql/data |
| ] | ||
| }, | ||
| { | ||
| "id": "openclaw", |
There was a problem hiding this comment.
Version mismatch with docker-compose image tag
The meta.json version is 2026.1.29, but the docker-compose.yml uses coollabsio/openclaw:2026.2.6. Per AGENTS.md, the version in meta.json must match the Docker image tag. Update to 2026.2.6.
Context Used: Context from dashboard - AGENTS.md (source)
| { | ||
| "id": "pulse", | ||
| "name": "Pulse", | ||
| "version": "latest", |
There was a problem hiding this comment.
Version mismatch with docker-compose image tag
The meta.json version for Pulse is latest, but docker-compose.yml pins the image to rcourtman/pulse:5.1. Per AGENTS.md, the version must match the Docker image tag. Update to 5.1.
Context Used: Context from dashboard - AGENTS.md (source)
| { | ||
| "id": "seaweedfs", | ||
| "name": "SeaweedFS", | ||
| "version": "latest", |
There was a problem hiding this comment.
Version mismatch with docker-compose image tag
The meta.json version for SeaweedFS is latest, but docker-compose.yml pins the image to chrislusf/seaweedfs:4.02. Per AGENTS.md, the version must match the Docker image tag. Update to 4.02.
Context Used: Context from dashboard - AGENTS.md (source)
| { | ||
| "id": "trilium-next", | ||
| "name": "TriliumNext", | ||
| "version": "latest", |
There was a problem hiding this comment.
Version mismatch with docker-compose image tag
The meta.json version for TriliumNext is latest, but docker-compose.yml pins the image to triliumnext/trilium:v0.101.3. Per AGENTS.md, the version must match. Update to v0.101.3.
Context Used: Context from dashboard - AGENTS.md (source)
| { | ||
| "id": "wuzapi", | ||
| "name": "WuzAPI", | ||
| "version": "v1.0.0", |
There was a problem hiding this comment.
Version mismatch with docker-compose image tag
The meta.json version for WuzAPI is v1.0.0, but docker-compose.yml uses the SHA-based tag asternic/wuzapi:sha-30c1805. These don't match — either pin the image to a semantic version tag or update meta.json to reflect the SHA tag.
Context Used: Context from dashboard - AGENTS.md (source)
What is this PR about?
New PR of [Template Name]
Checklist
Before submitting this PR, please make sure that:
Issues related (if applicable)
Close automatically the related issues using the keywords:
closes #ISSUE_NUMBERScreenshots or Videos
Greptile Summary
Large PR adding 11 new templates (cloudflare-ddns, ipfs, openclaw, postgres-pgdog, pulse, seaweedfs, strapi, trilium-next, wuzapi, cloudflare-ddns, habitica overhaul) and updating ~12 existing templates (alist, appsmith, budibase, cloudflared, habitica, invoiceshelf, nextcloud-aio, supabase, superset, trmnl-byos-laravel, uptime-kuma, vikunja, wg-easy). Also adds PR guidelines to
CONTRIBUTING.mdand volume bind mount guidance toAGENTS.md.superset,strapi,postgres-pgdog) mount the Postgres data volume to/var/lib/postgresqlinstead of the correct/var/lib/postgresql/data. The superset template previously had the correct path and was changed in this PR. This will cause data persistence failures.BROWSER_CDP_URLreferences port9223but the browser service listens on9222, preventing the openclaw service from connecting.CMD-SHELLwith multiple array arguments instead of a single command string. Docker will only pass the first argument to the shell, causing the healthcheck to always fail.meta.jsonand theirdocker-compose.ymlimage tags:cloudflare-ddns,openclaw,pulse,seaweedfs,trilium-next, andwuzapi.template.toml(TRILIUM_DATA_DIR=/root) and the volume mount path, host path bind mounts instead of named volumes, and a typo (mountinstead ofmounts) intemplate.toml.container_name— Violates Dokploy template conventions perAGENTS.md.Confidence Score: 2/5
blueprints/superset/docker-compose.yml,blueprints/strapi/docker-compose.yml,blueprints/postgres-pgdog/docker-compose.yml(Postgres volume paths),blueprints/openclaw/docker-compose.yml(port mismatch),blueprints/vikunja/docker-compose.yml(healthcheck syntax),blueprints/trilium-next/(multiple issues), andmeta.json(version mismatches).Last reviewed commit: 38e417b
Context used:
dashboard- AGENTS.md (source)