Compare commits

..
Author SHA1 Message Date
Mauricio SiuandClaude Fable 5 fb64197738 fix(evolutionapi): enable integration flags and update version
Adds the integration enable env flags introduced in Evolution API v2.3.x
(N8N_ENABLED, OPENAI_ENABLED, EVOAI_ENABLED, DIFY_ENABLED, TYPEBOT_ENABLED,
CHATWOOT_ENABLED) so integrations no longer fail with 'N8n is disabled',
and pins the image to v2.3.7 instead of latest.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-14 11:38:27 -06:00
Mauricio SiuandGitHub 17efd705a4 Merge pull request #984 from zaaakher/fix-broken-links
fix: broken links in some blueprints
2026-07-08 12:36:31 -06:00
Mauricio SiuandGitHub 3e942a5a05 Merge pull request #982 from zaaakher/patch-1
fix: meta.json of Poke blueprint
2026-07-08 12:06:03 -06:00
zakher d7b9ac33dc fix: broken links in some blueprints 2026-07-08 21:04:58 +03:00
Zakher MasriandGitHub ea23fb658c fix: meta.json of Poke blueprint
The current github/docs links was broken

before:
https://codeberg.org/ashley/poke
after:
https://codeberg.org/ashleyirispuppy/poke
2026-07-08 20:09:23 +03:00
Mauricio SiuandGitHub c7c84ffbf0 Merge pull request #981 from Dokploy/fix/sync-main-into-canary
fix: sync main into canary (unblocks the #980 release PR)
2026-07-08 11:01:52 -06:00
Mauricio Siu 54c2d66ef5 Merge remote-tracking branch 'origin/main' into fix/sync-main-into-canary
# Conflicts:
#	meta.json
2026-07-08 11:00:56 -06:00
Mauricio SiuandGitHub cdfa328443 Merge pull request #979 from Dokploy/docs/readme-per-template-meta
docs: fix remaining README references to the removed root meta.json
2026-07-08 10:52:50 -06:00
Mauricio SiuandClaude Fable 5 ca5dfb87a7 docs: fix remaining README references to the removed root meta.json
Lines 11 and 65 still told contributors to add their entry to the root
meta.json, which was removed in #978 (metadata now lives in
blueprints/<id>/meta.json and the aggregate is generated at build time).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-08 10:52:20 -06:00
Mauricio SiuandGitHub 730b00d363 Merge pull request #775 from satyatulasijalandharch/erpnext-version-16
Add ERPNext v16 configuration and remove Strapi duplicates
2026-07-08 10:50:21 -06:00
Mauricio SiuandGitHub a06e409d05 Merge pull request #850 from ZeroWing-Automator/canary
feat: add 6 new templates (KeyDB, VictoriaMetrics, Gel, Matomo, Flarum, Leantime)
2026-07-08 10:49:07 -06:00
Mauricio SiuandGitHub 0563ee593e Merge pull request #961 from moskoweb/supabase
Update Supabase Template
2026-07-08 10:48:18 -06:00
Mauricio SiuandGitHub 895f08fbfe Merge pull request #883 from NightVibes33/feature/add-dokploy-templates
feat: add 11 Dokploy templates
2026-07-08 10:45:49 -06:00
Mauricio SiuandGitHub 0b8f194f9e Merge pull request #912 from leogomide/update-plane-v1.3.1
chore(plane): update template to v1.3.1 with healthchecks and bug fixes
2026-07-08 10:45:24 -06:00
Mauricio SiuandGitHub 98197dc7b2 Merge pull request #923 from brunofrank/evolution-crm
Evolution CRM & Evolution GO templates
2026-07-08 10:44:56 -06:00
Mauricio SiuandGitHub f38f8ace86 Merge pull request #939 from rohitmulani63-ops/codex/add-heyform-smtp-config
fix: expose HeyForm SMTP settings
2026-07-08 10:44:27 -06:00
Mauricio SiuandGitHub 922b3dcff2 Merge pull request #779 from jyoti369/add-glances
feat: add Glances system monitoring template
2026-07-08 10:26:21 -06:00
Mauricio SiuandGitHub 811748e222 Merge pull request #865 from ahmed-lotfy-dev/feat/add-powersync-template
feat: add powersync blueprint template
2026-07-08 10:25:49 -06:00
Mauricio SiuandGitHub 6bd5cd2197 Merge pull request #884 from BinkyTwin/codex/add-paperless-ngx-template
feat: add Paperless-ngx and Gatus templates
2026-07-08 10:25:02 -06:00
Mauricio SiuandGitHub 0244cf13bc Merge pull request #934 from rohitmulani63-ops/codex/add-zulip-template
feat: add Zulip template
2026-07-08 10:24:01 -06:00
Mauricio SiuandGitHub a0ecfc7ee0 Merge pull request #928 from danestves/add-engram-template
feat(blueprint): add engram template
2026-07-08 10:23:34 -06:00
Mauricio SiuandGitHub 9ed1424b41 Merge pull request #794 from juandelperal/canary
feat(chatwoot): update blueprint to latest production layout
2026-07-08 10:23:02 -06:00
Mauricio SiuandGitHub 5110c468d3 Merge pull request #812 from schmanat/add-duplicati
add duplicati
2026-07-08 10:22:45 -06:00
Mauricio SiuandGitHub 7d70100230 Merge pull request #799 from enemyrr/multica-clean
Add Multica template
2026-07-08 10:22:30 -06:00
Mauricio SiuandGitHub bc12a2ede9 Merge pull request #900 from NightVibes33/add-wallabag-template
feat: add wallabag template
2026-07-08 10:22:18 -06:00
Mauricio SiuandGitHub 1299984829 Merge pull request #782 from zrja/zrja/shopware-v1
feat: add Shopware blueprint
2026-07-08 10:22:01 -06:00
Mauricio SiuandGitHub ecfd938131 Merge pull request #765 from SamirChatwiti/canary
feat: add Matomo blueprint
2026-07-08 10:21:12 -06:00
Mauricio SiuandGitHub 28b254fff1 Merge pull request #886 from BinkyTwin/codex/add-thingsboard-template
feat: add ThingsBoard template
2026-07-08 10:20:17 -06:00
Mauricio SiuandGitHub 31839bfa29 Merge pull request #818 from Nico-Pergande/update-authentik-2026.2.2-pg18
feat(authentik): bump to 2026.2.2 and Postgres 18
2026-07-08 10:20:02 -06:00
Mauricio SiuandGitHub 0a0cabcfb0 Merge pull request #955 from rohitmulani63-ops/codex/add-tandoor-recipes-template
feat: add Tandoor Recipes template
2026-07-08 10:19:09 -06:00
Mauricio SiuandGitHub 00cb500a1f Merge pull request #887 from BinkyTwin/codex/add-nodelink-template
feat: add NodeLink template
2026-07-08 10:18:47 -06:00
Mauricio SiuandGitHub f2fdb525d8 Merge pull request #888 from BinkyTwin/codex/add-owncloud-infinite-scale-template
feat: add ownCloud Infinite Scale template
2026-07-08 10:18:34 -06:00
Mauricio SiuandGitHub e83d6d1192 Merge pull request #898 from MANFIT7/add-code-server-template
feat: add code-server template
2026-07-08 10:18:09 -06:00
Mauricio SiuandGitHub 9d007e826c Merge pull request #932 from rohitmulani63-ops/codex/add-filerun-template
feat: add FileRun template
2026-07-08 10:08:26 -06:00
Mauricio SiuandGitHub 8ffc5ef169 Merge pull request #863 from iRazvan2745/canary
add uptimekit
2026-07-08 10:07:09 -06:00
Mauricio SiuandClaude Fable 5 d6bf8ac34c fix: gel HTTP endpoint + admin UI, keydb as headless DB, leantime port/env; drop matomo — superseded by #765
- gel: allow plain HTTP for the reverse proxy (GEL_SERVER_HTTP_ENDPOINT_SECURITY=optional), enable admin UI and point the domain at /ui
- keydb: remove HTTP domain and published port — pure Redis-protocol DB reachable via internal network
- leantime: image serves on 8080 (non-root nginx), add required LEAN_APP_URL and LEAN_SESSION_PASSWORD, use utf8mb4
- matomo: removed from this PR, already fixed in #765

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-08 03:03:58 -06:00
Mauricio SiuandClaude Fable 5 c39505b9c6 fix: make chroma, homebox and languagetool templates deployable
- chroma: mount volume at /data (chromadb 1.x data dir), drop legacy 0.x
  env vars (IS_PERSISTENT/PERSIST_DIRECTORY) and point the domain to
  /api/v2/heartbeat so the API-only service verifies with HTTP 200
- homebox: newer images panic on boot without HBOX_AUTH_API_KEY_PEPPER
  (>=32 bytes); generate it via ${password:64} in template.toml
- languagetool: point the domain to /v2/languages (the API returns 400
  on "/"), which responds HTTP 200
- restore gotify/jellyseerr/privatebin/speedtest-tracker meta.json to
  canary so this PR no longer touches templates that already exist

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-08 02:54:56 -06:00
Mauricio SiuandClaude Fable 5 0ada7ae5f2 fix: remove public backend domain that always returned 404
The Multica backend is an API-only chi server with no route registered
at "/", so the generated backend domain (path "/") permanently answered
HTTP 404 even though the container was healthy. The web frontend already
proxies /api/*, /ws, /auth/* and /uploads/* to http://backend:8080 via
Next.js rewrites, and when NEXT_PUBLIC_WS_URL is unset the browser
derives the WebSocket URL from the page origin, so the backend never
needs to be exposed publicly.

- drop the backend [[config.domains]] entry and api_domain variable
- drop NEXT_PUBLIC_WS_URL so the WS URL falls back to the page origin
  and goes through the frontend's /ws rewrite
- remove ephemeral host port publications (ports: "8080"/"3000");
  Traefik reaches the containers over the docker network

Verified on a Dokploy instance: deploy done, frontend / -> 200 and
backend reachable through the proxy (/api/config -> 200).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-08 02:50:24 -06:00
Mauricio SiuandClaude Fable 5 c7487d8c09 fix: db healthcheck window too short and blocking depends_on aborted deploy
The deploy failed with 'dependency failed to start: container db-1 is
unhealthy'. Root cause: the MariaDB 11.8 healthcheck allowed only ~40s
(start_period 10s + 3x10s retries) before flagging the container
unhealthy, which is not enough for the first-boot datadir
initialization on a modest VPS. Since create-site depended on
db:service_healthy, docker compose up -d aborted the whole deploy.

Fixes, following the pattern of the existing working erpnext template:
- Extend the db healthcheck window (start_period 120s, 30 retries) so
  first-boot initialization does not mark the container unhealthy.
- Drop depends_on from the one-shot create-site and migration jobs and
  gate create-site with wait-for-it (db/redis) inside its command, so
  docker compose up -d returns without blocking on the multi-minute
  site creation and cannot fail on transient health states.

Verified on a fresh deploy: all services up, create-site installed
frappe + erpnext and enabled the scheduler, frontend serves the
ERPNext login page with HTTP 200.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-08 02:44:14 -06:00
Mauricio SiuandClaude Fable 5 987fdf3c09 fix: composer security audit blocked pinned shopware/core, bump to 6.7.12.1
Bootstrap died with exit 2 because Composer >= 2.9 enables
audit.block-insecure by default: shopware/core v6.7.8.2 is now affected
by 9 security advisories (all fixed in 6.7.10.1+), so
'composer create-project shopware/production:6.7.8.2' failed to resolve
dependencies and the whole stack never started.

- Bump the pinned Shopware version to 6.7.12.1 (latest, advisory-free).
- Disable audit.block-insecure in the bootstrap's global composer config
  so advisories published after a version is pinned cannot brick fresh
  one-click deploys.
- Use APP_URL=http://${main_domain} per template conventions; an https
  APP_URL breaks storefront sales-channel matching when the Dokploy
  domain is served over plain http.

Verified on a Dokploy instance: full bootstrap + deployment-helper
install completed in ~4 min, storefront and /admin both return HTTP 200.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-08 02:26:08 -06:00
Mauricio SiuandClaude Fable 5 c5033dc610 fix: remove interactive --password flag so Glances web server can start
The --password flag makes Glances prompt for a password interactively
via getpass, which fails in a non-TTY container. The container kept
crash-looping, so Traefik returned 404 for the domain. Glances also
does not read GLANCES_USERNAME/GLANCES_PASSWORD env vars, so the auth
setup was ineffective. Run the web server with GLANCES_OPT=-w and drop
the unused password env vars from the compose file and template.toml.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-08 02:20:36 -06:00
Mauricio SiuandClaude Fable 5 e6f7ede9a7 fix: don't force SSL by default so Chatwoot works on http domains
FORCE_SSL=true + FRONTEND_URL=https:// made Rails 301-redirect every
request to https, which Traefik answered with a sustained 404 because
Dokploy-generated template domains are http-only. Default to
FORCE_SSL=false and FRONTEND_URL=http://${main_domain} (matching the
repo convention); users who terminate TLS can flip these afterwards.

Verified on a Dokploy instance: fresh deploy of chatwoot/chatwoot:v4.12.1
migrates and answers HTTP 200 with the onboarding page.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-08 02:16:26 -06:00
Mauricio SiuandClaude Fable 5 288dfdce45 fix: mount postgres volume at new PGDATA path for postgres:18
The official postgres:18 image moved PGDATA from /var/lib/postgresql/data
to /var/lib/postgresql. Mounting the volume at the old path made the
entrypoint abort and the postgresql container restart-loop, failing the
deploy with "dependency postgresql failed to start". Mounting the volume
at /var/lib/postgresql fixes the deploy; server responds 200 on
/if/flow/initial-setup/.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-08 02:11:39 -06:00
Mauricio SiuandClaude Fable 5 ede9c3684c fix: align compose env vars with template.toml and allow external hostnames
The compose file referenced ${SERVICE_PASSWORD_ENCRYPT} and
${SERVICE_PASSWORD_WEB}, but template.toml defines the variables as
SETTINGS_ENCRYPTION_KEY and DUPLICATI__WEBSERVICE_PASSWORD, so both
values rendered empty at deploy time. Also removed the leftover
SERVICE_URL_DUPLICATI_8200 passthrough entry and added
DUPLICATI__WEBSERVICE_ALLOWED_HOSTNAMES=* so the Duplicati web server
(2.0.8+) accepts requests forwarded by Traefik for the configured
domain instead of rejecting unknown Host headers.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-08 02:10:02 -06:00
Mauricio SiuandClaude Fable 5 8480130401 fix: bundle Postgres so the service can actually start
The template pointed PS_DATA_SOURCE_URI at a placeholder connection
string (postgresql://user:password@host:5432/db), so the PowerSync
service could never connect and crash-looped, leaving the domain
returning Traefik 404s.

Changes:
- Add a bundled Postgres 17 service with wal_level=logical, a
  healthcheck, and a persistent volume; powersync waits for it to be
  healthy before starting.
- Replace the base64-encoded config env var with a readable
  powersync.yaml mounted via [[config.mounts]]. Replication reads from
  the powersync database and bucket storage uses a separate
  powersync_storage database (Postgres storage requires a database
  distinct from the replication source).
- Add an init SQL mount that creates the storage database, a demo
  "lists" table synced by the default sync rules, and the powersync
  publication required for logical replication.
- Replace the unsupported sync_config block with standard sync_rules,
  and add an HS256 dev key so client auth works out of the box.
- Remove host port mapping (Traefik routes to the container port) and
  point the template domain at /probes/liveness since PowerSync has no
  route on "/".

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-08 02:05:00 -06:00
Mauricio SiuandClaude Fable 5 495f22c520 fix: postgres 18 data dir mountpoint breaking db startup
The postgres:18-alpine image moved PGDATA from /var/lib/postgresql/data
to /var/lib/postgresql, so mounting the volume at the old path made the
entrypoint abort and the db container restart forever, failing the
service_healthy dependency for dash and status-page.

- Mount db_data at /var/lib/postgresql (postgres 18 layout)
- Remove host port mappings (Dokploy routes via domains/Traefik)
- Generate POSTGRES_PASSWORD and CLICKHOUSE_PASSWORD with ${password:32}
  instead of hardcoded credentials
- Drop unused DASH_PORT/STATUS_PAGE_PORT env and dangling empty
  [[config.mounts]] section in template.toml

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-08 02:00:49 -06:00
Mauricio SiuandClaude Fable 5 e60d713179 fix: run init container as root so the install marker can be written
The tb-node image runs as the non-root "thingsboard" user (uid 799), but
the freshly created /data named volume is owned by root, so
"touch /data/.thingsboard-installed" failed with permission denied after
every successful install. Combined with "set -e" and "restart: on-failure",
the init container kept re-running the installer forever and the main
thingsboard service (gated on service_completed_successfully) never
started, leaving the domain returning 404.

Running the init service as root lets the marker be written so the init
completes and stays idempotent across redeploys. Also widened the main
service healthcheck start window (start_period 300s, retries 10) so the
slow first boot on modest VPS hardware is not marked unhealthy while
docker compose up --wait is in progress.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-08 01:55:38 -06:00
Mauricio SiuandClaude Fable 5 0999407513 fix: mount postgres 18 data volume at /var/lib/postgresql
The postgres:18 image moved its data directory from
/var/lib/postgresql/data to /var/lib/postgresql, and its entrypoint
now fails hard when a volume is mounted at the old path. This made
paperless-ngx-db restart-loop and never reach healthy, so the deploy
errored with 'dependency paperless-ngx-db failed to start'.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-08 01:55:26 -06:00
Mauricio SiuandClaude Fable 5 448d4ba76d fix: oCIS crash-loop and https-only redirect behind Dokploy proxy
The container was restart-looping because the built-in IdP fatals with
"invalid iss value, URL must start with https://" when OCIS_URL uses
plain http, which caused the sustained 502.

- Set owncloud_url to https://${main_domain} so the IdP issuer is valid
  and ocis server stays up.
- oCIS 8.x unconditionally answers 308 -> https:// whenever it receives
  X-Forwarded-Proto: http (services/proxy https_redirect middleware), so
  the domain check then died on a redirect loop into a non-existent 443
  router. Add a small nginx gateway in front of oCIS that forwards
  requests with X-Forwarded-Proto: https (what a TLS-terminating proxy
  sends) and point the Dokploy domain at gateway:8080.
- Update the README notes accordingly.

Verified on a live Dokploy instance: deploy done, GET / returns
HTTP 200 with title "ownCloud".

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-08 01:54:04 -06:00
Mauricio SiuandClaude Fable 5 ef8071e5ff fix: send Authorization header in NodeLink healthcheck
NodeLink requires the Authorization header on every API route,
including /version, so the healthcheck's unauthenticated fetch always
got a 401 and the container stayed permanently unhealthy. Traefik
skips unhealthy containers, so the assigned domain returned a
sustained 404 even though the deploy finished successfully.

Pass the container's NODELINK_SERVER_PASSWORD as the Authorization
header in the healthcheck fetch; the container now reaches a healthy
state and the domain routes to the server (401 on / without
credentials, 200 on /version with the password), as expected for a
Lavalink-compatible server.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-08 01:49:54 -06:00
Mauricio SiuandClaude Fable 5 5a6d31c147 fix: make Evolution CRM and Evolution GO templates respond on their domains
evolutioncrm:
- Point the evo-crm-frontend domain at port 80 instead of 5173: the
  community frontend image serves the built app via nginx on port 80
  (5173 is the vite dev port), so the domain returned 502.
- Set EVOLUTION_API_ONLY_SERVER=true on evo-crm: the community image
  ships without the Rails dashboard views (the UI lives in the separate
  evo-crm-frontend service), so the default root route (dashboard#index)
  can never render and returned 406 for every request. With the flag the
  root serves the API status JSON; all /api routes are unaffected.
- Drop the evolution-go-* volumes that were left over from the other
  template.

evolutiongo:
- Evolution GO has no route on "/" and answers 503 (LICENSE_REQUIRED)
  on API routes until a license is activated through the bundled
  manager UI, so the single domain never responded. Add a small nginx
  gateway that redirects "/" to /manager/login and proxies everything
  else (WebSockets included) 1:1 to evolution-go:8080, and point the
  domain at it.
- Persist /app/dbdata and /app/logs.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-08 01:41:12 -06:00
Mauricio SiuandClaude Fable 5 3523fc6a90 fix: remove nested .config volume that crash-looped code-server
The named volume mounted at /home/coder/.config was created root-owned
(the path does not exist in the codercom/code-server image), so
code-server running as uid 1000 failed with
"EACCES: permission denied, mkdir '/home/coder/.config/code-server'"
and restarted in a loop, leaving Traefik returning 404. The .config
directory already lives inside /home/coder, which is persisted by the
code-server-home volume, so the extra volume is unnecessary.

Verified: deploy done, container healthy, domain on port 8080 returns
HTTP 200 with the code-server login page.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-08 01:37:50 -06:00
Mauricio SiuandClaude Fable 5 65a9a0a5a5 fix: let wallabag entrypoint provision the database so the install runs
The template deployed but returned a persistent HTTP 500: MARIADB_DATABASE
pre-created the wallabag database, so the image entrypoint detected an
existing database, skipped bin/console wallabag:install and left an empty
schema. Only MARIADB_ROOT_PASSWORD is set now, letting the entrypoint
create the database/user and run the installer on first boot (matching the
official wallabag docker-compose).

Also:
- build SYMFONY__ENV__DOMAIN_NAME from the generated domain with the http
  scheme so assets/redirects match how the domain is served
- point SYMFONY__ENV__REDIS_HOST at the wallabag-redis service (default is
  'redis', which does not resolve here)
- randomize SYMFONY__ENV__SECRET instead of relying on the image's
  hardcoded default

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-08 01:37:02 -06:00
Mauricio SiuandClaude Fable 5 ce4e15741a fix(plane): clear network false positive and restore canary metadata
- Reword two docker-compose comments so the literal string
  "dokploy-network" no longer appears. The compose never declared the
  network manually (Dokploy attaches it automatically); the automated
  template check was tripping on the comment text alone.
- meta.json: keep canary's richer description and tags
  (kanban, project-management), bumping only the version to v1.3.1.

Deploy-verified on a test Dokploy instance: full stack booted in 465s
and proxy:80 answered HTTP 200 with the Plane landing page.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-08 01:26:27 -06:00
Mauricio SiuandClaude Fable 5 56df572522 fix: trust Dokploy's Traefik proxy via LOADBALANCER_IPS
Zulip 12 rejects requests forwarded by an untrusted reverse proxy with
a 500 "Proxy-Misconfiguration: Incorrect reverse proxy IPs set in
Zulip" error page. TRUST_GATEWAY_IP=True only whitelists the
container's default-route gateway IP, but Dokploy's Traefik connects
from its own container IP on the (dynamically-subnetted) compose
network, so it was never trusted.

Replace TRUST_GATEWAY_IP with LOADBALANCER_IPS covering the RFC1918
ranges, which Zulip feeds into nginx set_real_ip_from / its trusted
proxy list, so Traefik is trusted regardless of which Docker subnet it
connects from.

Also align meta.json version with the shipped image tag (12.1-0).

Note: the zulip-server image ships a HEALTHCHECK (/health, 300s start
period) and first boot runs full migrations, so Traefik only exposes
the router once the container turns healthy — expect several minutes
of 404 on the domain right after the first deploy.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-08 01:24:58 -06:00
Mauricio SiuandClaude Fable 5 b81de7fda7 fix: resolve conflict markers accidentally committed during meta migration
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-08 01:13:53 -06:00
Mauricio SiuandClaude Fable 5 eb1c47e86b fix: resolve conflict markers accidentally committed during meta migration
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-08 01:13:50 -06:00
Mauricio SiuandClaude Fable 5 fc447e3a9a fix: resolve conflict markers accidentally committed during meta migration
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-08 01:13:47 -06:00
Mauricio SiuandClaude Fable 5 f1709c321c fix: resolve conflict markers accidentally committed during meta migration
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-08 01:12:41 -06:00
Mauricio SiuandClaude Fable 5 16eacb1fdf fix: point domain at /dashboard — engram cloud serves no route at /
engram `cloud serve` only registers /health, /sync/* and /dashboard/*;
Go's ServeMux answers "404 page not found" at the root path, which is
indistinguishable from a Traefik router miss. The deploy itself was fine
(both containers healthy), but the default domain pointed at `/` and
kept returning 404. Adding `path = "/dashboard"` routes the app's real
browser surface (login page / dashboard).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-08 01:11:26 -06:00
Mauricio SiuandClaude Fable 5 ff625d2125 fix: resolve broken merge in supabase template, keep canary structure with updated image versions
The previous merge of origin/canary into this branch was committed with
unresolved conflict markers in docker-compose.yml and template.toml,
producing invalid YAML/TOML. It also carried over the old kong
eval-based entrypoint, which made the kong container unhealthy and
failed the deploy (dependency kong failed to start).

This commit restores the known-good template structure from canary
(kong-entrypoint.sh, declarative kong.yml with JWKS/asymmetric key
routes, vector + analytics stack, correct domains) and applies only
the version bumps intended by this PR:

- studio 2026.04.27 -> 2026.06.03-sha-0bca601
- gotrue v2.186.0 -> v2.189.0
- postgrest v14.8 -> v14.12
- realtime v2.76.5 -> v2.102.3
- storage-api v1.48.26 -> v1.60.4
- postgres-meta v0.96.3 -> v0.96.6
- edge-runtime v1.71.2 -> v1.74.0
- postgres 15.8.1.085 -> 17.6.1.136
- supavisor 2.7.4 -> 2.9.5

Deploy-tested on Dokploy: all 13 containers running, kong healthy,
studio dashboard reachable through kong (HTTP 200).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-08 01:03:04 -06:00
Mauricio SiuandClaude Fable 5 88fae2f9cc fix: chown named volumes so the non-root filerun user can install on first run
The filerun/filerun image runs as user filerun (1001:1001), but /var/www/html
is created as root in the image, so the named volume inherits root:root
ownership. The entrypoint's first-run installer then fails to download
filerun.zip into /var/www/html (Permission denied) and the container
crash-loops with exit 1.

- Add a busybox init service that chowns the html and user-files volumes to
  1001:1001 before filerun starts (gated via service_completed_successfully).
- Drop the user: "99:100" override, which is meant for pre-chowned host bind
  mounts in the upstream example, not named volumes.
- Remove the UTF-8 BOM at the start of the file, the legacy links: entry and
  the obsolete version: key.

Verified on a live Dokploy deploy: HTTP 200 with page title
"FileRun :: Installation".

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-08 01:00:34 -06:00
Mauricio SiuandClaude Fable 5 8e9d32a783 fix: pin heyform to v0.1.0 and use valid keydb tag
- heyform/community-edition:latest now points at v3.0.0-rc.* which hangs
  after Mongoose init and never binds port 8000 (502 behind Traefik).
  Pin the last stable release v0.1.0 (boots and serves the UI).
- eqalpha/keydb:6.3.3 does not exist on Docker Hub; use the multi-arch
  alpine tag instead.

Deploy-tested on a Dokploy instance: HTTP 200, HeyForm UI renders.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-08 00:45:53 -06:00
Mauricio SiuandClaude Fable 5 0b7511f79c fix: tandoor listens on unix socket by default — bind gunicorn to TCP 8080
The vabene1111/recipes 2.x image starts gunicorn on unix:/tmp/tandoor.sock
unless TANDOOR_PORT is set, so Traefik got 502. Set TANDOOR_PORT=8080 and
point the domain to 8080 (80 was never listening).

Deploy-tested on a Dokploy instance: HTTP 200, setup page renders.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-08 00:31:53 -06:00
Mauricio SiuandClaude Fable 5 b6710c39aa fix: matomo logo path in meta.json (filename, not full path)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-08 00:11:50 -06:00
Mauricio Siu 77edae36d8 Merge remote-tracking branch 'origin/canary' into SamirChatwiti/canary
# Conflicts:
#	meta.json
2026-07-08 00:06:38 -06:00
Mauricio Siu c5a713436d Merge remote-tracking branch 'origin/canary' into erpnext-version-16
# Conflicts:
#	meta.json
2026-07-08 00:06:34 -06:00
Mauricio Siu df4260d172 Merge remote-tracking branch 'origin/canary' into add-glances
# Conflicts:
#	blueprints/imgproxy/docker-compose.yml
#	blueprints/mediafetch/docker-compose.yml
#	blueprints/mediafetch/template.toml
#	blueprints/nextcloud-aio/docker-compose.yml
#	meta.json
2026-07-08 00:06:27 -06:00
Mauricio Siu 3a56077d39 Merge remote-tracking branch 'origin/canary' into zrja/shopware-v1
# Conflicts:
#	meta.json
2026-07-08 00:06:22 -06:00
Mauricio Siu ec70e7a5aa Merge remote-tracking branch 'origin/canary' into juandelperal/canary
# Conflicts:
#	meta.json
2026-07-08 00:06:05 -06:00
Mauricio Siu 9af20d0698 Merge remote-tracking branch 'origin/canary' into multica-clean
# Conflicts:
#	blueprints/imgproxy/docker-compose.yml
#	blueprints/mediafetch/docker-compose.yml
#	blueprints/mediafetch/template.toml
#	blueprints/nextcloud-aio/docker-compose.yml
#	meta.json
2026-07-08 00:06:01 -06:00
Mauricio Siu a8f186303a Merge remote-tracking branch 'origin/canary' into add-duplicati
# Conflicts:
#	meta.json
2026-07-08 00:05:50 -06:00
Mauricio Siu 533b433f6c Merge remote-tracking branch 'origin/canary' into update-authentik-2026.2.2-pg18
# Conflicts:
#	meta.json
2026-07-08 00:05:42 -06:00
Mauricio Siu 3fc4acc373 Merge remote-tracking branch 'origin/canary' into ZeroWing-Automator/canary
# Conflicts:
#	meta.json
2026-07-08 00:05:34 -06:00
Mauricio Siu 26860d94c0 Merge remote-tracking branch 'origin/canary' into iRazvan2745/canary
# Conflicts:
#	meta.json
2026-07-08 00:05:29 -06:00
Mauricio Siu 947f099806 Merge remote-tracking branch 'origin/canary' into feat/add-powersync-template
# Conflicts:
#	meta.json
2026-07-08 00:05:25 -06:00
Mauricio Siu c6c07246b6 Merge remote-tracking branch 'origin/canary' into feature/add-dokploy-templates
# Conflicts:
#	blueprints/gotify/docker-compose.yml
#	blueprints/gotify/gotify.svg
#	blueprints/gotify/template.toml
#	blueprints/jellyseerr/docker-compose.yml
#	blueprints/jellyseerr/jellyseerr.svg
#	blueprints/jellyseerr/template.toml
#	blueprints/privatebin/docker-compose.yml
#	blueprints/privatebin/privatebin.svg
#	blueprints/privatebin/template.toml
#	blueprints/speedtest-tracker/docker-compose.yml
#	blueprints/speedtest-tracker/speedtest-tracker.svg
#	blueprints/speedtest-tracker/template.toml
#	meta.json
2026-07-08 00:05:19 -06:00
Mauricio Siu c5f213c173 Merge remote-tracking branch 'origin/canary' into codex/add-paperless-ngx-template
# Conflicts:
#	meta.json
2026-07-08 00:05:15 -06:00
Mauricio Siu 47a04f55a5 Merge remote-tracking branch 'origin/canary' into codex/add-thingsboard-template
# Conflicts:
#	meta.json
2026-07-08 00:05:07 -06:00
Mauricio Siu cbc0a9f242 Merge remote-tracking branch 'origin/canary' into codex/add-nodelink-template
# Conflicts:
#	meta.json
2026-07-08 00:05:03 -06:00
Mauricio Siu b4f9e48699 Merge remote-tracking branch 'origin/canary' into codex/add-owncloud-infinite-scale-template
# Conflicts:
#	meta.json
2026-07-08 00:05:00 -06:00
Mauricio Siu a8efe43f5d Merge remote-tracking branch 'origin/canary' into add-code-server-template
# Conflicts:
#	meta.json
2026-07-08 00:04:56 -06:00
Mauricio Siu d7d426c968 Merge remote-tracking branch 'origin/canary' into add-wallabag-template
# Conflicts:
#	meta.json
2026-07-08 00:04:52 -06:00
Mauricio Siu 13c95c3045 Merge remote-tracking branch 'origin/canary' into update-plane-v1.3.1
# Conflicts:
#	blueprints/plane/docker-compose.yml
#	blueprints/plane/template.toml
#	meta.json
2026-07-08 00:04:43 -06:00
Mauricio Siu 501d80dcd5 Merge remote-tracking branch 'origin/canary' into evolution-crm
# Conflicts:
#	meta.json
2026-07-08 00:04:36 -06:00
Mauricio Siu 5d90a07508 Merge remote-tracking branch 'origin/canary' into add-engram-template
# Conflicts:
#	meta.json
2026-07-08 00:04:32 -06:00
Mauricio Siu 3e856b0316 Merge remote-tracking branch 'origin/canary' into codex/add-filerun-template
# Conflicts:
#	meta.json
2026-07-08 00:04:28 -06:00
Mauricio Siu b94dd44f87 Merge remote-tracking branch 'origin/canary' into codex/add-zulip-template
# Conflicts:
#	meta.json
2026-07-08 00:04:25 -06:00
Mauricio Siu 896f35a8f0 Merge remote-tracking branch 'origin/canary' into codex/add-heyform-smtp-config 2026-07-08 00:04:21 -06:00
Mauricio Siu c048635ec3 Merge remote-tracking branch 'origin/canary' into codex/add-tandoor-recipes-template
# Conflicts:
#	meta.json
2026-07-08 00:04:14 -06:00
Mauricio Siu 32e67eb0aa Merge remote-tracking branch 'origin/canary' into supabase
# Conflicts:
#	blueprints/supabase/docker-compose.yml
#	blueprints/supabase/template.toml
#	meta.json
2026-07-08 00:04:10 -06:00
Mauricio SiuandGitHub a93794e289 Merge pull request #978 from Dokploy/feat/per-template-meta
feat: per-template metadata (blueprints/<id>/meta.json) — no more meta.json merge conflicts
2026-07-08 00:00:10 -06:00
Mauricio SiuandClaude Fable 5 c3de62fb83 feat: per-template metadata — eliminate meta.json merge conflicts
- move each template's metadata to blueprints/<id>/meta.json (442 files, byte-identical roundtrip with the old root meta.json)
- generate the served meta.json at build time into app/public/meta.json (gitignored); pnpm dev/build run the generator first
- CI validates every blueprints/<id>/meta.json via generate-meta.js --check (required fields, id/folder match, logo exists, folder<->meta bidirectionality) and rejects any committed root meta.json
- remove root meta.json, dedupe-and-sort-meta.js and build-scripts/process-meta.js (obsolete)
- update CONTRIBUTING.md, AGENTS.md and README.md

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 23:58:10 -06:00
Mauricio SiuandGitHub 6a6ab5ac17 Merge pull request #957 from rohitmulani63-ops/add-jitsi-meet-template
feat: add Jitsi Meet template
2026-07-07 23:38:53 -06:00
Mauricio SiuandGitHub cdee0c3e2b Merge pull request #726 from feba33/patch-1 2026-07-07 19:09:35 -06:00
Mauricio Siu 632a2ac79e Merge remote-tracking branch 'origin/canary' into SamirChatwiti/canary
# Conflicts:
#	meta.json
2026-07-07 17:36:57 -06:00
Mauricio Siu 657523290b Merge remote-tracking branch 'origin/canary' into add-jitsi-meet-template
# Conflicts:
#	meta.json
2026-07-07 17:36:53 -06:00
Vladyslav ProsolupovandGitHub 9795b2f042 fix: Imgproxy container exposure (#740) 2026-07-07 17:36:29 -06:00
Andrew TinekovandGitHub b096c532ce feat: Update Glitchtip to version 6.1.0 (#751)
* feat(glitchtip): update to version 6.1.0

* fix(glitchtip): fix code violations
2026-07-07 17:36:25 -06:00
Omar HerriandGitHub 0a62e507b8 Update docker-compose.yml (#753) 2026-07-07 17:36:22 -06:00
RayaneandGitHub 16693e6f74 fix(plane): update to v1.2.3 and replace MinIO with RustFS (#760)
* fix(plane): update template to Plane v1.x (stable)
The existing template targeted v0.27.1 which is heavily outdated.
This updates it to match Plane's current official deployment config.
Changes:
- Images: v0.27.1 → stable (currently v1.2.3) from Docker Hub
- Remove explicit commands from frontend services (built into images)
- Postgres: 17-alpine → 15.7-alpine (matches Plane's supported version)
- Valkey: 7.2.5 → 7.2.11
- Proxy: add admin + live dependencies, proxy_config/proxy_data volumes
- Add LIVE_SERVER_SECRET_KEY, APP_DOMAIN, SITE_ADDRESS env vars
- Add RABBITMQ_USER/PASSWORD/VHOST (new v1.x env var names)
- Fix RABBITMQ_DEFAULT_USER bug (was hardcoded string, not variable)
- Fix DATABASE_URL to use template variables directly
- Fix AWS_ACCESS_KEY_ID to match MINIO_ROOT_USER literal
- Remove deprecated: version key, SENTRY_*, NGINX_PORT
- Remove unused env_file from plane-redis
- Add restart policies to all services

* fix(plane): replace MinIO with RustFS (Apache 2.0)
MinIO's open-source edition is effectively dead:
- Admin UI stripped (March 2025)
- Docker images discontinued (October 2025)
- GitHub repo in maintenance mode (December 2025)
- Marked as "NO LONGER MAINTAINED" (February 2026)
RustFS is an S3-compatible drop-in replacement:
- Apache 2.0 license (no AGPL restrictions)
- Same S3 API on port 9000
- Written in Rust, 2.3x faster than MinIO for small objects
- Active development with built-in web console

* fix(plane): address CI and convention issues

- Add back version: "3.8" (required by Dokploy conventions)
- Update meta.json: version v0.27.1 → v1.2.3
- Run process-meta to fix pre-existing strapi duplicate
- Migrator restart: "no" → on-failure

* fix(plane): address review feedback

- Pin RustFS to 1.0.0-alpha.90 (no latest tag)
- WEB_URL and CORS_ALLOWED_ORIGINS use http (Dokploy handles TLS)
2026-07-07 17:36:19 -06:00
Tobias DalhofandGitHub e933413655 feat(nextcloud-aio): add nextcloud_cron service (#766) 2026-07-07 17:36:16 -06:00
4deab71ad5 fix: use HTTPS for Outline OIDC URLs (#940)
* fix: use HTTPS for Outline OIDC URLs

* Add root-healthy Dex proxy for Outline

---------

Co-authored-by: Rohit Mulani <289630555+rohitmulani63-ops@users.noreply.github.com>
2026-07-07 17:36:13 -06:00
Sancho GodinhoandGitHub 56cd3dba39 Add MaxIO template (#744)
* Add Docker Compose configuration for Maxio service

* Add template configuration for maxio service

* Add Maxio logo

* Add Maxio metadata to meta.json

Added metadata for Maxio including links and tags.

* Run node dedupe-and-sort-meta.js

* Fix name from Maxio to MaxIO

* Make suggested updates

* Add missing restart policy

* Make improvements
2026-07-07 17:36:10 -06:00
Andrew TinekovandGitHub 66fea6e989 feat: add OpenObserve template (#750)
* feat: add openobserve template

* fix(openobserve): fix code violations
2026-07-07 17:36:07 -06:00
spacewaterbearandGitHub f3b96bf2d4 feat: add crawlab (#759)
* feat: add crawlab

* feat: add crawlab - re order

* feat: add crawlab - fix compose

* feat: split crawlab into worker and master
2026-07-07 17:36:04 -06:00
MaflyandGitHub 4f103ea041 Add Billmora template (#773)
* feat: add billmora template

* feat: standardize configuration and volume mounts

* feat: hardcode Laravel automations in docker-compose.yml

* fix(billmora): migration race condition

* refactor(billmora): simplify service deploy architecture and standardize blueprint

* feat(billmora): ensure initial data is seeded on startup

* fix(billmora): use storage-based .env persistence to resolve directory mount error

* fix(billmora): revert to separate services for worker and scheduler

* refactor(billmora): remove APP_TIMEZONE from blueprint configuration

* fix(billmora): correct links structure and lowercase tags in meta.json

* fix(billmora): remove invalid volume mounts from template.toml

* fix(billmora): process root meta.json to resolve duplicated templates
2026-07-07 17:36:00 -06:00
8dfb810e65 feat: add Fider template (#936)
* feat: add Fider template

* Add local SMTP service for Fider

---------

Co-authored-by: Rohit Mulani <289630555+rohitmulani63-ops@users.noreply.github.com>
2026-07-07 17:35:57 -06:00
7096fe2751 feat: add Seq template (#942)
Co-authored-by: Rohit Mulani <289630555+rohitmulani63-ops@users.noreply.github.com>
Co-authored-by: Mauricio Siu <siumauricio@icloud.com>
2026-07-07 16:04:29 -06:00
Abdullah IstiakandGitHub f2f4d85d43 Update Supabase Docker configuration and template (#872)
* Update Supabase Docker configuration and template

- Updated Supabase Studio and GoTrue images to the latest versions.
- Modified healthcheck commands for the Studio service.
- Enhanced environment variable configuration in docker-compose.yml for better flexibility.
- Updated Logflare API key references and added new S3 protocol access keys in template.toml.
- Introduced custom entrypoint script for Kong to handle Lua expressions and environment variable substitution.
- Added new routes and plugins for enhanced authentication and authorization in Kong configuration.

* Refactor Supabase Docker Compose and Template Configuration

- Removed container name prefixes from services in docker-compose.yml for consistency.
- Increased healthcheck retries and start periods for several services to improve stability.
- Updated healthcheck timeout and retry configurations for the analytics service.
- Adjusted appname generation logic in template.toml to ensure proper naming for services.
- Cleaned up commented sections in template.toml for clarity.
2026-07-07 15:51:01 -06:00
Abdelatif DjeddouandGitHub 292716be4b feat: add OpenSourcePOS template (#890) 2026-07-07 15:50:58 -06:00
06904b17be fix: repair CI broken by #875 (arche meta links + stray pnpm-workspace.yaml) (#977)
* fix: repair CI broken by #875 merge

- remove stray build-scripts/pnpm-workspace.yaml (placeholder content broke pnpm install in validate-docker-compose)
- add missing links.website/docs to arche entry in meta.json (validate check)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* chore: remove stray .vscode/settings.json introduced by #920

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 15:50:39 -06:00
Yağız Berke GüvençandGitHub 708b3019bf feat(postiz): update docker-compose and template for Temporal integration (#851) 2026-07-07 15:44:42 -06:00
NaterfuteandGitHub 7095691571 updated Pyrodactyl logo (#855) 2026-07-07 15:44:39 -06:00
luolinkandGitHub 31bff09eaa Add Marketing Dashboard template (#861) 2026-07-07 15:44:36 -06:00
Abian SuarezandGitHub 641fd75bf7 feat: add rustrak and rustrak-full templates (#866)
* feat: add rustrak and rustrak-full templates

- rustrak: server-only with SQLite, single service, no external DB
- rustrak-full: server + Next.js dashboard + PostgreSQL
Both use abians7/rustrak-server:v0.2.1, Sentry-compatible error tracking

* chore: update rustrak logo to new design
2026-07-07 15:44:33 -06:00
3829b188d8 feat(meta): add Arche AI workspace platform to meta.json (#875)
Introduce Arche, a self-hosted AI workspace platform, with relevant metadata including description, logo, and GitHub link. This addition enhances the diversity of tools available in the project.

Co-authored-by: Mauricio Siu <siumauricio@icloud.com>
2026-07-07 15:44:30 -06:00
3d74ad7c08 feat: add Soft Serve template (#889)
* feat: add Soft Serve template

* fix: quote Soft Serve listen addresses

---------

Co-authored-by: Mauricio Siu <siumauricio@icloud.com>
2026-07-07 15:44:27 -06:00
d1cc00391e feat: add HedgeDoc template (#893)
Co-authored-by: Mauricio Siu <siumauricio@icloud.com>
2026-07-07 15:44:23 -06:00
599588d095 feat: add Taiga template (#895)
Adds a Dokploy template for Taiga (taigaio/taiga-back, taiga-front,
taiga-events, taiga-protected) wired through an nginx gateway, with
RabbitMQ and Postgres backing services.

Diverges from prior PR #547 in two ways:
- Strips trailing inline `# ...` comments from env values in
  template.toml. Those comments were captured as part of the value when
  Dokploy expanded them into docker-compose, polluting strings like
  TAIGA_SCHEME, EMAIL_BACKEND, etc. and breaking Django URL/email
  configuration at runtime.
- Adds explicit SUBPATH= and RABBITMQ_VHOST env entries that PR #547
  referenced but never set, so variable expansion no longer falls back
  to empty/undefined.

Validated locally with build-scripts/validate-template.ts,
build-scripts/validate-docker-compose.ts, and meta.json required-field
+ dedupe-and-sort checks. No runtime deploy was performed locally.

Co-authored-by: Richard Nevins <richjnevins@gmail.com>
2026-07-07 15:44:20 -06:00
MagiqueandGitHub 438a079a6b fix(discourse): replace deprecated Bitnami images with official alternatives (#910)
* refactor(docker-compose): update PostgreSQL and Redis images, adjust environment variables

* chore(meta.json): update Discourse version to 2026.1.4

* chore(docker-compose): comment out DISCOURSE_FORCE_HTTPS for production

* fix(docker-compose): update Discourse app port to 80 for production
2026-07-07 15:44:17 -06:00
df4pandGitHub 38483d467c feat: Add OmniRoute - Free LLM Gateway Template (#920)
* feat: Add OmniRoute - Free LLM Gateway Template

Adding the OmniRoute template to Dokploy.

Never stop coding. Free AI gateway: one endpoint, 160+ providers (50+ free), connect Claude Code, Codex, Cursor, Cline & Copilot to FREE Claude/GPT/Gemini. RTK+Caveman stacked compression saves 15-95% tokens, smart auto-fallback, MCP/A2A, multimodal APIs, Desktop/PWA.

* fix: Testing files updated

Testing files with pnpm updated.

* fix(omniroute): pin OmniRoute image version, fix template.toml syntax, normalize metadata

* chore: Add VS Code setting for git config auto-approval

* chore(app): add pnpm-workspace.yaml to fix pnpm workspace config
2026-07-07 15:44:13 -06:00
f796047552 feat: add Prefect template (#930)
* feat: add Prefect template

* fix: tighten Prefect template routing

---------

Co-authored-by: Rohit Mulani <289630555+rohitmulani63-ops@users.noreply.github.com>
Co-authored-by: Mauricio Siu <siumauricio@icloud.com>
2026-07-07 15:44:10 -06:00
Yusuf GündoğduandGitHub 1c0380d77b feat(blueprint): add LibreDB Studio (#931)
* feat: add libredb-studio compose

Adds LibreDB Studio — an MIT-licensed, AI-powered open-source SQL IDE (PostgreSQL, MySQL, Oracle, SQL Server, SQLite, MongoDB, Redis).

This commit adds the docker-compose.yml. The template.toml and meta.json entry follow in the same branch.

Image: ghcr.io/libredb/libredb-studio
Repo: https://github.com/libredb/libredb-studio

* feat: add libredb-studio template.toml

Adds the Dokploy template.toml for LibreDB Studio.

Defines auto-generated secrets (admin password, user password, JWT secret), exposes port 3000 on the primary domain, and persists data via a mount at /app/data.

* feat: add libredb-studio to meta.json

Registers LibreDB Studio in the template catalog index (meta.json), alphabetically-independent top entry. Completes the LibreDB Studio template (compose + template.toml + meta entry).

* fix: sort libredb-studio entry alphabetically in meta.json

Moves the libredb-studio entry to its correct alphabetical position between librechat and libredesk so meta.json remains sorted by id. Resolves the failing "Validate and Process Meta.json" check (duplicates/sort-order validation).

* fix: expand libredb-studio tags to match meta.json formatting

Formats the libredb-studio "tags" array as a multi-line block to match the output of dedupe-and-sort-meta.js, making the entry byte-identical to the canonical processed file. Resolves the failing "Validate and Process Meta.json" check.

* fix: remove invalid mounts block from libredb-studio template.toml

Removes the [[config.mounts]] block, which failed validation because Dokploy requires a 'content' field for file mounts. Data persistence is already handled by the named volume (libredb-data:/app/data) in docker-compose.yml, so no file mount is needed. Resolves the failing "Validate Docker Compose Files" check.

* fix: correct indentation of libredb-studio tags in meta.json

Adjusts the indentation of the "tags" key to 4 spaces so the libredb-studio entry is byte-identical to the output of dedupe-and-sort-meta.js. Resolves the remaining "Validate and Process Meta.json" check failure.

* feat: add libredb-studio logo

Adds the libredb-studio.svg logo to blueprints/libredb-studio/ so it matches the "logo" field in meta.json. Resolves the "Validate Blueprints Structure and Meta" check, which verifies that each meta.json logo has a corresponding file in its blueprint folder.

* fix: bump libredb-studio image to v0.9.27

Updates the image tag from v0.9.13 to v0.9.27 (current release) so reviewers can test against the latest version.

* fix: update LibreDB Studio version to v0.9.27

Update version field from v0.9.13 to v0.9.27 in meta.json

* fix(blueprint): remove v prefix from image tag

GHCR tags do not use v prefix (0.9.27 not v0.9.27)

* fix(meta): remove v prefix from version field

GHCR tags do not use v prefix (0.9.27 not v0.9.27)
2026-07-07 15:44:07 -06:00
cdc72377c7 fix: respect stopped Immich deployments (#938)
Co-authored-by: Rohit Mulani <289630555+rohitmulani63-ops@users.noreply.github.com>
2026-07-07 15:44:04 -06:00
1dd181b1c7 feat: add Speedtest Tracker template (#952)
Co-authored-by: Rohit Mulani <289630555+rohitmulani63-ops@users.noreply.github.com>
Co-authored-by: Mauricio Siu <siumauricio@icloud.com>
2026-07-07 15:43:59 -06:00
Cagdas SalurandGitHub a33fa76399 feat(template): add tela — markdown-native team wiki with MCP (#967) 2026-07-07 15:43:56 -06:00
5523024b95 feat(appwrite): update template to 1.9.5 (#970)
* feat(appwrite): update template to 1.9.5

Move default datastore to MongoDB (DocumentsDB), add worker-screenshots,
worker-executions and task-interval, bump all images to 1.9.5, expand v5
function runtimes, and provide mongo bootstrap files via config.mounts.
MariaDB kept as a supported alternative. PostgreSQL/embedding (VectorsDB)
and bundled Traefik intentionally excluded.

* fix(appwrite): re-add compose version header and add mongodb tag

Address review: restore "version: 3.8" header (repo convention across
blueprints) and add the mongodb tag to meta.json to reflect the new
default datastore.

* (fix): add container_name to appwrite executor so it can find itself

The openruntimes executor v0.25 discovers its own container by listing
containers whose name matches its hostname (exc1). Without
container_name, compose names the container <project>-openruntimes-executor-1,
the lookup fails with 'Own container not found' and the executor
crash-loops, breaking all function/site builds and executions with
'Could not resolve host: exc1'. Matches upstream appwrite 1.9.5 compose.

Verified end-to-end on a fresh Dokploy v0.29.8 server: executor healthy,
function build + execution succeed.

* (fix): route wildcard sites/functions subdomains to appwrite

Dokploy domains only support exact hosts, so Appwrite-generated preview
and execution URLs (<id>.sites.<domain>, <id>.functions.<domain>) hit
Dokploy traefik with no matching router: 404 over HTTP and the traefik
default self-signed certificate over HTTPS ('site is insecure').

Add HostRegexp routers on the appwrite service for *.sites and
*.functions domains on both web and websecure entrypoints. HTTPS for
these subdomains still requires the user to provide a wildcard
certificate (DNS-01 resolver or uploaded wildcard/Origin CA cert);
with tls=true routers in place traefik picks it up via SNI once added.

Verified on a live Dokploy v0.29.8 deployment: site subdomains route
correctly over HTTP and HTTPS after adding the labels.

* (chore): remove wildcard routing comment

* (fix): drop container_name, use service-name hostname for executor self-discovery

container_name is disallowed by repo conventions and fails CI validation.
The executor discovers its own container by matching gethostname()
against Docker container names (substring filter), so hostname
openruntimes-executor matches <project>-openruntimes-executor-1 and
_APP_EXECUTOR_HOST can use the DNS-resolvable service name.

Also read the MongoDB healthcheck password from the container env
(MONGO_INITDB_ROOT_PASSWORD) instead of interpolating _APP_DB_ROOT_PASS
at render time, so shell-special characters in generated passwords
cannot break authentication.

Both verified on a live Dokploy v0.29.8 deployment: executor healthy,
function execution succeeds, mongodb healthcheck passes.

---------

Co-authored-by: ChiragAgg5k <chirag@appwrite.io>
2026-07-07 15:43:53 -06:00
Abdelatif DjeddouandGitHub 3ebc2f850f feat: add TimescaleDB template (#892) 2026-07-07 15:43:15 -06:00
8a52825167 feat: add Joomla template (#891)
* feat: add Joomla template

* docs: clarify Joomla admin credential fields

---------

Co-authored-by: Mauricio Siu <siumauricio@icloud.com>
2026-07-07 15:43:07 -06:00
1e99d46afe feat: add SendDock template (#821)
* feat(senddock): add SendDock template

SendDock is an open-source, self-hosted email marketing platform with
BYO SMTP. The template ships postgres + redis + the canonical
ghcr.io/arkhe-systems/senddock image, with healthchecks, named
volumes and the env vars required for a working install.

The senddock service runs migrations on startup via goose and serves
the Vue dashboard on port 8080. PUBLIC_URL is wired to the Dokploy
domain helper so unsubscribe links and broadcasts work out of the
box. License key is left empty by default, which gives users the
free Core experience; setting SENDDOCK_LICENSE_KEY unlocks the Pro
features.

Running dedupe-and-sort-meta.js per CONTRIBUTING removed an
unrelated duplicate strapi entry that already existed in the index
(same version, same logo, listed twice). The senddock entry is the
intended addition.

* fix(senddock): apply review fixes and bump to 0.6.4.1

- Add required `version: "3.8"` declaration to docker-compose.yml per AGENTS.md
- Convert template.toml env from sub-table to array-of-strings syntax
- Bump image and meta.json version to 0.6.4.1 (latest stable, fixes Redis rate-limiter restart loop affecting 0.4.x-0.6.4)

* fix(senddock): correct website and docs URLs to senddock.dev

* fix(senddock): bump to 0.6.5.1

---------

Co-authored-by: Sebastian Vargas <juanse@MacBook-Air-de-Sebastian.local>
Co-authored-by: Mauricio Siu <siumauricio@icloud.com>
2026-07-07 15:42:47 -06:00
091ea7afda Update Autobase to version 2.7 (#830)
* Update Autobase to version 2.7

Update autobase console image tag in blueprints/autobase/docker-compose.yml from 2.5.2 to 2.7.2 and bump the corresponding package version in meta.json to 2.7.2 to keep metadata in sync with the deployed image.

* Add dbdesk_studio_data Docker volume

---------

Co-authored-by: Mauricio Siu <siumauricio@icloud.com>
2026-07-07 15:42:13 -06:00
Paulo LinderandGitHub 3f5b738738 feat: add Velix API one-click template (#793)
* feat: add Velix API one-click template

Self-hosted WhatsApp API with multi-instance support, webhooks, n8n
node, and Chatwoot integration. Includes PostgreSQL 16 and Redis 7.

* fix: use standard port integer literal
2026-07-07 15:03:20 -06:00
LuisandGitHub 989bf839b6 feat: add Agent Zero autonomous AI agent blueprint (#791)
* feat: add Agent Zero autonomous AI agent blueprint

Added Agent Zero blueprint with SVG logo, Docker Compose configuration for v1.9, and template for deployment. Agent Zero is an open-source autonomous AI agent framework with memory and tool use capabilities.

* feat(meta): add documentation link to agent-zero metadata

Added docs URL to the links section in meta.json to provide direct access to the project documentation at https://www.agent-zero.ai/p/docs/

* fix: add length parameter to password helper
2026-07-07 15:03:09 -06:00
Benjamin NussbaumandGitHub 22f1fe5ee6 feat(blueprint): update name of trmnl-byos-laravel and version (#789) 2026-07-07 15:02:58 -06:00
Stefan ErnstandGitHub bc31807d6f feat: add windshift to dokploy (#787)
* Adding Windshift for Dokploy

* Added up-to-date version and better tags

* Updated logo with less transparency

* Update docker-compose.yml with latest version

Signed-off-by: Stefan Ernst <ernst.stefan@icloud.com>

---------

Signed-off-by: Stefan Ernst <ernst.stefan@icloud.com>
2026-07-07 15:02:48 -06:00
Ennio MarkeGitHubgreptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>Copilot
f1210e6ac4 feat: Add Seanime and remove strapai duplicate entry (#808)
* v1.0.0

* v1.0.1

* Update blueprints/seanime/docker-compose.yml

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>

* Update blueprints/seanime/docker-compose.yml

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>

* Update blueprints/seanime/docker-compose.yml

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* v1.0.2

* Update blueprints/seanime/docker-compose.yml

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* v1.0.4

* v1.0.5

* v1.0.6

---------

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-07-07 14:34:26 -06:00
shandGitHub 9708d34ce1 Add SMTP_PORT environment variable to docker-compose (#806) 2026-07-07 14:34:04 -06:00
FireflyandGitHub 7f9cfaaf49 Add qui A fast, modern web interface for qBittorrent. Manage multiple qBittorrent instances from a single, lightweight application built by autobrr (#825)
* feat: add qui template

qui is a fast, modern web interface for qBittorrent by autobrr,
allowing management of multiple qBittorrent instances from a single,
lightweight self-hosted application.

- docker-compose.yml: pinned ghcr.io/autobrr/qui:1.17.0, exposes 7476
  internally (no host port; Dokploy's Traefik handles routing),
  persistent named volume for /config.
- template.toml: maps the qui service port 7476 to the user-supplied
  domain so Dokploy's Traefik can proxy it.
- meta.json: register the template with logo and tags.

* fix(qui): use latest image tag

ghcr.io/autobrr/qui has no v1.17.0 tag published; only 'latest' and
PR/dev tags are available. Switch the image and meta.json version to
'latest' so the template actually deploys.

* revert: restore duplicate strapi entry removed by dedupe script

The previous commit accidentally removed a pre-existing duplicate
strapi entry as a side effect of running process-meta. That entry
exists upstream and is unrelated to the qui template; restore it
verbatim.

* fix: deduplicate meta.json to pass CI validation

The upstream meta.json had a pre-existing duplicate strapi entry.
Remove it so dedupe-and-sort produces identical output to the committed
file, satisfying the validate-meta CI check.

* fix(qui): replace logo with autobrr org avatar (128x128)
2026-07-07 14:23:01 -06:00
cc99a025d3 feat: add Homepage template (#871)
Co-authored-by: atlasclaw369 <268303653+atlasclaw369@users.noreply.github.com>
2026-07-07 14:12:07 -06:00
Robert Da SilvaandGitHub 201fcd1ed8 feat(blueprint): add LimeSurvey template (#878) 2026-07-07 14:11:16 -06:00
0074651a45 feat: add Miniflux template (#881)
* feat: add Miniflux template

* fix: guard GitHub star count fallback

---------

Co-authored-by: Artemis-ignis <Artemis-ignis@users.noreply.github.com>
2026-07-07 14:10:00 -06:00
Luke DunsmoreandGitHub c9dc13aab8 feat: update MediaFetch template version to 1.3.5 (#879)
* feat: add MediaFetch template

* Corrected .toml

* .toml

* Updated template to version 1.3.5

* Codex issues raised now fixed

* Codex issues addressed

* TOML Update
2026-07-07 14:09:30 -06:00
ac716a337f feat: add Rallly template (#933)
Co-authored-by: Rohit Mulani <289630555+rohitmulani63-ops@users.noreply.github.com>
2026-07-07 14:04:26 -06:00
b0429d94b9 fix: keep Valkey internal (#937)
Co-authored-by: Rohit Mulani <289630555+rohitmulani63-ops@users.noreply.github.com>
2026-07-07 14:04:12 -06:00
f14cc64043 feat: add PrivateBin template (#947)
* feat: add PrivateBin template

* chore: pin privatebin template version

---------

Co-authored-by: Rohit Mulani <289630555+rohitmulani63-ops@users.noreply.github.com>
2026-07-07 14:03:54 -06:00
c70cd23b7e feat: add Paperclip template (#943)
Co-authored-by: Rohit Mulani <289630555+rohitmulani63-ops@users.noreply.github.com>
2026-07-07 14:01:01 -06:00
e83e869bd3 feat: add LubeLogger template (#896)
Co-authored-by: 100more <184098138+100more@users.noreply.github.com>
2026-07-07 13:55:48 -06:00
MANFIT7andGitHub 76ceefdd2b feat: add Snipe-IT template (#897) 2026-07-07 13:55:14 -06:00
MANFIT7andGitHub cf862fccfb feat: add LibreSpeed template (#899) 2026-07-07 13:53:26 -06:00
Rohit Mulani 667137d6c2 Merge remote-tracking branch 'origin/canary' into codex/add-heyform-smtp-config 2026-07-07 23:46:54 +04:00
Rohit Mulani 1ba28d6145 Align HeyForm cache service with upstream docs 2026-07-07 23:46:52 +04:00
Shabani MagawilaandGitHub bdda9b476b feat: Add GeoServer & PostGIS blueprint (#919)
* Add GeoServer & PostGIS blueprint

* Add GeoServer blueprint metadata and logo

* Fix meta.json formatting and sorting

* Fix template.toml schema validation errors

* Remove invalid config.mounts from template.toml
2026-07-07 13:44:45 -06:00
Rohit Mulani ff9e609b8e Merge remote-tracking branch 'origin/canary' into codex/add-zulip-template 2026-07-07 23:43:16 +04:00
Rohit Mulani c69a2900f5 Update Zulip reverse proxy settings 2026-07-07 23:43:13 +04:00
Nicolás CarvajalandGitHub a3d1efad02 chore: update hi-events template to version 1.9.0-beta and add smtp mail configuration (#911) 2026-07-07 13:42:42 -06:00
Mendy LandaandGitHub 5bbc380f36 Add Cut (self-hosted URL shortener) template (#914) 2026-07-07 13:41:57 -06:00
Akshat MehtaandGitHub a2bf4b1393 fix(vaultwarden): update outdated image version (#921) 2026-07-07 13:40:34 -06:00
Rohit Mulani 16d35299a7 Merge remote-tracking branch 'origin/canary' into codex/add-filerun-template
# Conflicts:
#	meta.json
2026-07-07 23:38:20 +04:00
Rohit Mulani dabe8466ac Align FileRun compose with upstream runtime settings 2026-07-07 23:38:00 +04:00
Rohit Mulani 52f765898e Fix Tandoor Recipes service port 2026-07-07 23:23:40 +04:00
Rohit Mulani 721fd4ee88 Merge remote-tracking branch 'origin/canary' into codex/add-tandoor-recipes-template 2026-07-07 23:23:18 +04:00
Rohit Mulani c63c170036 Merge remote-tracking branch 'origin/canary' into add-jitsi-meet-template
# Conflicts:
#	meta.json
2026-07-07 23:20:16 +04:00
7f722cdeab feat: add Firefly III template (#941)
Co-authored-by: Rohit Mulani <289630555+rohitmulani63-ops@users.noreply.github.com>
2026-07-07 13:19:17 -06:00
Rohit Mulani 219cd25e22 Add Jitsi metadata entry 2026-07-07 23:18:12 +04:00
5a193c5fb2 feat: add Gotify template (#946)
* feat: add Gotify template

* chore: pin gotify template version

---------

Co-authored-by: Rohit Mulani <289630555+rohitmulani63-ops@users.noreply.github.com>
2026-07-07 13:16:48 -06:00
6d0028bcfc feat: add Joplin Server template (#948)
* feat: add Joplin Server template

* chore: pin joplin-server template version

* Update blueprints/joplin-server/template.toml

---------

Co-authored-by: Rohit Mulani <289630555+rohitmulani63-ops@users.noreply.github.com>
Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2026-07-07 13:16:27 -06:00
c3ed7d9296 feat: add Dockge template (#949)
Co-authored-by: Rohit Mulani <289630555+rohitmulani63-ops@users.noreply.github.com>
2026-07-07 13:13:20 -06:00
5f037d3e6b feat: add Jellyseerr template (#950)
* feat: add Jellyseerr template

* chore: pin jellyseerr template version

---------

Co-authored-by: Rohit Mulani <289630555+rohitmulani63-ops@users.noreply.github.com>
2026-07-07 13:12:56 -06:00
7faf814ec7 feat: add SFTPGo template (#951)
* feat: add SFTPGo template

* fix: use Dokploy port syntax for SFTPGo

* chore: pin sftpgo template version

---------

Co-authored-by: Rohit Mulani <289630555+rohitmulani63-ops@users.noreply.github.com>
2026-07-07 13:12:35 -06:00
47f92da9a2 feat: add FileGator template (#953)
* feat: add FileGator template

* chore: pin filegator template version

---------

Co-authored-by: Rohit Mulani <289630555+rohitmulani63-ops@users.noreply.github.com>
2026-07-07 13:10:07 -06:00
942a43ec02 feat: add ArchiveBox template (#954)
Co-authored-by: Rohit Mulani <289630555+rohitmulani63-ops@users.noreply.github.com>
2026-07-07 13:09:44 -06:00
Barış ÇelikandGitHub 74fd2a960f feat: add Inkvoice template (#958) 2026-07-07 13:03:04 -06:00
9ad8a84fc4 feat: add Hermes agent template (#960)
Hermes is an open agent runtime from Nous Research. This template runs the
supervised gateway with:
- web dashboard (9119) behind Traefik, protected by the bundled basic-auth
  provider (auth-gated mode triggers automatically once reachable off-loopback);
  username admin, generated 128-char password
- OpenAI-compatible gateway API (8642), enabled and bound to 0.0.0.0 with a
  generated bearer token (both off by default upstream)

Image pinned to v2026.6.19. Provider keys are configured from the dashboard
after deploy and persist in the hermes_data volume.

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-07 13:02:43 -06:00
Marios AntonoudiouandGitHub 39d6d0430a Introduce chatto app template (#962)
* Introduce chatto app template

* Clean up template

* Update chatto env vars
2026-07-07 13:02:09 -06:00
Quentin HandGitHub f381e4db50 Add Dokploy configuration template for Spliit with environment variable (#969)
* Add Dokploy configuration template for Spliit with environment variables and domain setup

* Fix : add double quote

* Fix : remove container name

* Fix : service name

* Fix : use good name of database

* Fix : change db name
2026-07-07 12:55:31 -06:00
Julian GerhardsandGitHub cdd996f73a feat: alarik template blueprint (#971) 2026-07-07 12:53:45 -06:00
Khiet Tam NguyenandGitHub 51f0b08b21 feat: update registry template to v3 (#972) 2026-07-07 12:47:42 -06:00
Bill Nice G. HavugukuriandGitHub 98844f7d83 feat: Add Ollama Chat Tone Template (#973)
* Add Ollama Chat Tone blueprint with Docker configuration, SVG logo, and metadata

* Update .gitignore and replace Ollama Chat Tone SVG with new design

* Add Ollama Chat Tone metadata to meta.json

* Update GitHub link in meta.json for Ollama Chat Tone

* Fix environment variable casing in docker-compose.yml and update template.toml with default values

* Remove duplicate .DS_Store entry from .gitignore

* Delete .DS_Store

Delete .DS_Store
2026-07-07 12:47:33 -06:00
+60 d1ef07fbd2 New release (#975)
* 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

* Updating copilot instructions.md and AGENTS.md (#452)

* docs: add copilot instructions for project development

Added comprehensive documentation file (.github/copilot-instructions.md) that provides detailed guidance on the Dokploy Open Source Templates project structure, development workflow, and conventions. The document covers the project overview, key files and directories, development workflow for adding/updating templates, local development setup, CI/CD processes, and established conventions and patterns. This documentation will help onboard new contributors and ensure consistent development practices across the project.

* docs(copilot-instructions): enhance project overview and development guide

Updated copilot instructions to reflect expanded app capabilities (200+ apps, TypeScript integration, Fuse.js search) and detailed processes for templates, local dev, and CI/CD for improved clarity and accuracy.

* refactor: remove frontend development instructions from AGENTS.md and update contributing guidelines

- Removed frontend development commands from AGENTS.md to streamline the document.
- Updated CONTRIBUTING.md by removing the recommendation to set `restart: unless-stopped` for services.

---------

Co-authored-by: Mauricio Siu <siumauricio@icloud.com>

* Add trailbase template (#590)

* Add trailbase

* Add comment on mounting local directory

* Update meta.json

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* fix: openpanel and migrate to v2 (#594)

* refactor: update docker-compose.yml to include version and restart policy (#599)

* feat(blueprint): mage ai template (#601)

* feat(blueprint): template for mage-ai

* fix: add healthcheck for mage-ai

* docs: update copilot instructions to emphasize version pinning in docker-compose.yml

Clarified the importance of pinning image versions in docker-compose.yml and explicitly stated to avoid using the `latest` tag to prevent potential issues with template functionality when upstream images change.

* refactor: enhance Docker Compose validation workflow

Updated the GitHub Actions workflow for validating Docker Compose files by streamlining the detection of changed blueprints and improving the validation process. Removed redundant steps and consolidated the validation of docker-compose.yml and template.toml files into a more efficient structure. Added clearer output messages for validation results and ensured that best practices are checked for each blueprint. This refactor aims to improve maintainability and clarity in the CI/CD process.

* fix: update zitadel default instance features (#544)

* Add Reactive Resume template (#603)

* Initial plan

* Add Reactive Resume template with docker-compose, template.toml, and meta.json entry

Co-authored-by: Siumauricio <47042324+Siumauricio@users.noreply.github.com>

* Fix MinIO storage path alignment between template.toml and docker-compose.yml

Co-authored-by: Siumauricio <47042324+Siumauricio@users.noreply.github.com>

* Update docker-compose.yml

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Siumauricio <47042324+Siumauricio@users.noreply.github.com>

* [WIP] Fix mounted prometheus.yml file not working (#605)

* Initial plan

* Fix Prometheus mounted prometheus.yml file by adding volume mount

Co-authored-by: Siumauricio <47042324+Siumauricio@users.noreply.github.com>

* Update blueprints/prometheus/template.toml

Co-authored-by: Copilot <175728472+Copilot@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>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* docs: update copilot instructions to enforce open source requirement

Added a clear requirement stating that all services must be open source and only applications with open-source licenses (e.g., MIT, Apache, GPL, AGPL) are allowed. This update aims to ensure compliance and maintain the integrity of the project.

* Fix Cap.so template MinIO deployment failure (#604)

* Initial plan

* Fix Cap.so MinIO image to use official quay.io image

Co-authored-by: Siumauricio <47042324+Siumauricio@users.noreply.github.com>

* Fix MinIO healthcheck to use curl instead of mc

Co-authored-by: Siumauricio <47042324+Siumauricio@users.noreply.github.com>

* Update .gitignore

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Siumauricio <47042324+Siumauricio@users.noreply.github.com>

* Fix Discourse template manifest error - update to bitnamilegacy/discourse:3.5.0 (#606)

* Initial plan

* Fix Discourse template by updating to bitnamilegacy/discourse:3.5.0

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>

* Remove pull request trigger from deploy-preview workflow

* Enhance copilot instructions by adding verification steps for Docker images and clarifying URL variable usage. Emphasize the importance of verifying image existence before committing to prevent deployment failures.

* Add Easy!Appointments template (#608)

* Initial plan

* Add Easyappointments template with docker-compose, template.toml, and meta.json entry

Co-authored-by: Siumauricio <47042324+Siumauricio@users.noreply.github.com>

* Update blueprints/easyappointments/template.toml

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update template.toml

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Siumauricio <47042324+Siumauricio@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Add Dolibarr ERP & CRM template (#610)

* Initial plan

* Add Dolibarr ERP & CRM template

Co-authored-by: Siumauricio <47042324+Siumauricio@users.noreply.github.com>

* Update template.toml

* Update blueprints/dolibarr/docker-compose.yml

Co-authored-by: Copilot <175728472+Copilot@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>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* feat: add Syncthing Template (#636)

* Adiciona template do Syncthing com arquivos de configuração e ícone

* Remove versão do Docker Compose do template do Syncthing

* Update Umami to version v2.20.2 (#641)

* Feat : Add InstantDB template (#224) (#530)

* feat: add InstantDB template

* added the server service also

* removed the external network

* Update docker-compose.yml

* Update blueprints/instantdb/docker-compose.yml

* Update blueprints/instantdb/docker-compose.yml

* Update docker-compose.yml

* Update blueprints/instantdb/template.toml

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>

* [New Template] Added Lavalink template for dokploy (#535)

* Add initial Lavalink configuration template

* Added lavalink.svg logo

* Create docker-compose.yml for Lavalink setup

Add Docker Compose configuration for Lavalink service.

* Modify healthcheck interval in docker-compose.yml

Increased healthcheck interval from 10s to 100s.

* Add Lavalink metadata to meta.json

Added metadata for Lavalink audio sending node.

* Update server_port variable to use ${port}

* Change server port variable to randomPort

* Change port variable to randomPort in template.toml

* Change port variable in template.toml

* Update server port in template.toml

* Fix formatting in template.toml for server config

* style: Reformat lavalink entry in meta.json.

* Update docker-compose.yml

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>

* chore(blueprint): update Appwrite services to v1.8 (#383)

* Update Appwrite version docker images and environment variables

* Add separate domains for functions and sites, update environment variables, replace insecure default passwords

* Update Appwrite version from 1.6.1 to 1.7.4 in `meta.json`

* Fix envs and update domains

* Add missing volume mounts for sites

* Fix config file syntax

* Update runtimes network configuration in template.toml

* Update Appwrite to 1.8

* Update appwrite image version to 1.8.0

* Add logging configuration to docker-compose

* 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>

* Remove `container_name` from all containers

* Remove expliced networks

* Update blueprints/appwrite/docker-compose.yml

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update password variables to use 32-character length

* Update Appwrite description and tags in meta.json

* Fix JSON formatting in meta.json by adding missing closing bracket

* Fix formatting in meta.json by removing trailing spaces in tags array

* Add missing SMS and Backblaze storage configuration options in template.toml

* Update docker-compose.yml

---------

Co-authored-by: Pascal Oberbeck <pascal.oberbeck@paperlesswork.de>
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>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Mauricio Siu <siumauricio@icloud.com>

* feat: emqx template (MQTT Broker) (#556)

* feat: template for emqx

* chore: process meta

* fix: use websocket on port 443 instead of 8084

* docs: improve comments for emqx template

* fix: use emqx service name

* fix: use dummy domain instead of traefik

* fix: explicitly list dokplok-network

* fix(emqx): restart unless stopped

* fix(emqx): add healthcheck

* Dokploy Deployment for Mautic 5 (#564)

* first draft

* second

* try 3

* 4

* Update docker-compose.yml

* Update template.toml

* Enhance healthchecks and service dependencies in Docker Compose

Updated healthcheck configurations for Mautic and MySQL services to improve service reliability. Added conditions to ensure services wait for dependencies to be healthy before starting.

* Update Mautic docker-compose with health checks and roles

* fix: searxng template (#651)

* fix: use major version for openpanel (#680)

* Feat/minepanel template (#657)

* feat: add Minepanel template

* fix: pin images to v1.7.1 and use http for URLs

* fix: remove explicit ports, Dokploy handles proxying

* chore: process and sort meta.json

* fix: consolidate domain variables to main_domain

* fix: add version field to docker-compose.yml

* Add Komari Monitor template with Docker Compose, icon, and metadata (#XXX) (#623)

* Introduce Komari Monitor, a self-hosted server monitoring tool, with its corresponding Docker Compose configuration, icon, and metadata entry.

* Add template.toml for configuration and environment variables.

* Include necessary links for GitHub and documentation.

* Add Misaka Danmu Server template with Docker Compose, icon, and metadata (#624)

* Introduce Misaka Danmu Server, a self-hosted danmaku server for live streaming, with its corresponding Docker Compose configuration, icon, and metadata entry.

* Add template.toml for configuration and environment variables.

* Include necessary links for GitHub and documentation.

* fix: pyrodactyl no longer uses main tag for it's latest release (#626)

* fix: pyrodactyl no longer uses main tag for it's latest release

* Remove custom network settings from docker-compose

Removed custom network configuration from docker-compose.

* Update MariaDB and Pyrodactyl images in Docker Compose

* Add Jenkins blueprint template configuration (#634)

- Created a new TOML configuration file for Jenkins blueprint.
- Defined main domain variable and service configuration for Jenkins.
- Set serviceName to "jenkins" with port 8080 and host as the main domain.

* Update Autobase to version 2.5 (#647)

* Update Autobase to version 2.5

Bump the autobase-console Docker image from version 2.2.0 to 2.5.2 in docker-compose.yml to use the latest features and fixes.

* Update docker-compose.yml

* Update docker-compose.yml

* Update meta.json

* Update Autobase description in meta.json

Revised the Autobase package description to clarify it as a self-hosted DBaaS alternative to cloud-managed databases.

* Add Cloudreve template (#649)

Self-hosted file management and sharing system with multi-cloud storage support.
Includes PostgreSQL and Redis for database and caching.

* Update to Umami 3.0.3 (#668)

* Update Umami version from v2.20.2 to v3.0.3

* Update Umami Docker image to version 3.0.3

* fix: tailscale exitnode authkey env (#669)

* Add qbitwebui (#675)

* Add qBittorrent Web UI template

* Fix healthcheck bug

* Create INSTRUCTIONS.md

* Rename INSTRUCTIONS.md to instructions.md

* feat: add Moltbot template (#683)

* 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: add Openclaw template (#694)

* 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>

* fix: cloudflared documentation links & env variables (#699)

* feat(blueprint): Cloudflare DDNS (#689)

* feat: added Cloudflare DDNS template

* fix: make CLOUDFLARE_API_TOKEN and DOMAINS mandatory env

* Fix realtime service name resolution (#563)

Expose the CONTAINER_PREFIX environment variable to kong service, then utilize it to format the URL of realtime service.

* fix(habitica): add user to mongodb replicaset to enable Dokploy DB backups (#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>

* Refactor wg-easy service configuration to work with latest wg-easy v15 (#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 (#616)

* 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 (#617)

* 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>

* Fix Obsidian LiveSync template links pointing to CouchDB instead of plugin (#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 (#630)

* feat: add SeaweedFS template

* chore: add specific seaweedfs version

* Update image versions in docker-compose for AList, Appsmith, and Budibase (#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

* refactor: add

* docs: update CONTRIBUTING.md with pull request guidelines

- Added guidelines for keeping pull requests small and focused.
- Emphasized the importance of testing contributions before submission to maintain a tidy PR queue.

* Add/trilium next (#671)

* 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 (#679)

* 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 (#681)

* 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 (#703)

* Add IPFS Kubo template

* Update init cmds

* Remove port forwarding

* uptime-kuma: Bump version to 2.1.0 (#706)

* Bump version to 2.1.0

* Update meta.json with new version number

* feat(blueprint): update trmnl-byos-laravel template (#704)

* upgrade nextcloud img version (#705)

* fix docker-compose variables and update github link (#701)

Co-authored-by: Aaron McGuire <git.figment276@passmail.net>

* Update InvoiceShelf compose to suit new changes (#693)

https://github.com/InvoiceShelf/docker/blob/89bf78cec6fae54db76f84e0a4dc6255a8da710e/upgrade-guide.md

* fix: superset template fixed versions, postgres volume mount and network instructions (#595)

* fix: superset version fixed, tweak network instructions

* chore: simplify mapbox key

* fix: volume mount

* deps: bump superset to 6.0.0

* feat: Add imgproxy template (#714)

* feat: Add imgproxy template

* fix: Configure docker-compose to match requirements

* fix: Process meta

* fix: Change logo name

* fix: Remove incorrect mounts

* fix: Expose 80 port instead of direct mapping

* fix: Change nginx cache keys default zone size and correct format negotiation

* fix: Escaping

* feat: update to new Evolution API image source and pin it to the latest version (#644)

* feat: Enhanced Nextcloud template with Redis, automated config, and improved setup (#672)

* Update docker-compose.yml

* fix: stable nextcloud, add redis, auto config, fixed mariadb

* fix: meta nextcloud

* fix: vars

* fix: non capital

* fix: template.toml

* fix: env vars

* fix: var naming

* fix: command

* fix: command

* another try

* keep it simple

* fix toml

* retry classic

* add: admin user

* no aito install

* feat: automated fixes

* fix  file pasth

* fix: manual script

* fix: script

* fix: png logo

* fix: meta logo data

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>

* feat: add MediaFetch template (#688)

* feat: add MediaFetch template

* Corrected .toml

* .toml

* feat: add unleash template (#691)

* feat: add unleash template

* feat: update unleash template to version 7.4.0 and fix formatting

* feat: update database user in unleash template from postgres to unleash

* Update Notifuse template: replace PASETO with SECRET_KEY auth (#696)

* Update Notifuse template: replace PASETO with SECRET_KEY auth

* Update docker-compose.yml

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>

* Change convex port mapping to expose and bump version (#730)

* chore: update convex backend and dashboard images, switch from port mapping to expose in docker-compose.yml

* fix: set default value for DISABLE_BEACON in docker-compose.yml

* Update grafana 12.4 (#731)

* Update grafana 12.4

* Update meta.json

* feat(blueprint): add Verdaccio - private node.js package registry (#735)

* feat: add tuwunel template for matrix (re-made) (#733)

* feat: add tuwunel template for matrix

* fix: replace HTML placeholder with actual SVG logo for tuwunel

* fix: remove enforcement and rename logo

* fix(cloudflared): opt-out of isolated deployment (#856)

Cloudflared requires network_mode: host which is mutually exclusive
with Docker networks. Setting isolated = false prevents Dokploy from
injecting networks into this compose.

Fixes https://github.com/Dokploy/dokploy/issues/4366

* Update Plunk template to use next version (#622)

* Update Plunk template to use next version

* Add domain configuration to config.env

* Remove NTFY from Plunk

* Added the frappe lending template (#665)

* added the frappe lending template

* removed the external network

* Add go2rtc (#720)

* Add go2rtc

* Update blueprints/go2rtc/docker-compose.yml

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>

* Update blueprints/go2rtc/template.toml

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>

* Apply suggestion from @greptile-apps[bot]

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>

* Update docker-compose.yml

* Update template.toml

* Update docker-compose.yml

* Update docker-compose.yml

---------

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>

* Update Meilisearch 1.35.1 and fix Cyberchef logo (#722)

* fix: update CyberChef logo from SVG to PNG and remove old SVG file

* fix: update Meilisearch version to v1.35.1

---------

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>
Co-authored-by: Jainil Prajapati <86187588+jaainil@users.noreply.github.com>
Co-authored-by: Ye Liu <yeliu84@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Carl-Gerhard Lindesvärd <1987198+lindesvard@users.noreply.github.com>
Co-authored-by: Huy Pham <quochuy.dev@gmail.com>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Louan Fontenele <louanbastos61@gmail.com>
Co-authored-by: Alexey Fedorov <fedorov2505@yandex.com>
Co-authored-by: 0zul <26915998+0zul@users.noreply.github.com>
Co-authored-by: Pascal Oberbeck <35005267+poberbeck@users.noreply.github.com>
Co-authored-by: Pascal Oberbeck <pascal.oberbeck@paperlesswork.de>
Co-authored-by: Christus Vincent <chrisspeakseh@gmail.com>
Co-authored-by: Huba Tuba <57007485+floxay@users.noreply.github.com>
Co-authored-by: Pablo Moraga Sandoval <72164630+Ketbome@users.noreply.github.com>
Co-authored-by: Firefly <77047823+Yuri-NagaSaki@users.noreply.github.com>
Co-authored-by: Naterfute <106989409+naterfute@users.noreply.github.com>
Co-authored-by: Vitaliy Kukharik <37010174+vitabaks@users.noreply.github.com>
Co-authored-by: aurorarissime <github.delta813@passfwd.com>
Co-authored-by: фырат ёздэн <31664778+fir4tozden@users.noreply.github.com>
Co-authored-by: JoshuaRileyDev <59296334+JoshuaRileyDev@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: vabs <njoy.today@gmail.com>
Co-authored-by: Jorge Gómez Zarzosa <34076979+jorgegomzar@users.noreply.github.com>
Co-authored-by: Jorge Gómez Zarzosa <jorgegomez@bmat.com>
Co-authored-by: Benjamin Robinet <benjaminrobinet@users.noreply.github.com>
Co-authored-by: Naim Hasim <ainadanaim@gmail.com>
Co-authored-by: kadma <lolocruser@gmail.com>
Co-authored-by: José F. Bello <45277800+bellolongart@users.noreply.github.com>
Co-authored-by: jbello <jbello@raodsystem.com>
Co-authored-by: Harshal Rathore <76205196+HarshalRathore@users.noreply.github.com>
Co-authored-by: Vinicios Lugli <vinicioslugli@gmail.com>
Co-authored-by: Kien Ngo <github@kien.ngo>
Co-authored-by: Simon <97951171+SimonSchroffner@users.noreply.github.com>
Co-authored-by: Aaron McGuire <89317236+Aaron-McGuire@users.noreply.github.com>
Co-authored-by: Aaron McGuire <git.figment276@passmail.net>
Co-authored-by: Andrew Wong <andrew12345@live.com>
Co-authored-by: Vladyslav Prosolupov <vladyslavprosolupov@gmail.com>
Co-authored-by: Matheus Felipe <matheusfelipeog@gmail.com>
Co-authored-by: Sina Sebastian Eetezadi <code@eetezadi.com>
Co-authored-by: Luke Dunsmore <lukedunsmoto@gmail.com>
Co-authored-by: Dipanda Aser <aserdipanda@gmail.com>
Co-authored-by: Pierre <pierre@bazoge.com>
Co-authored-by: marcbodea <marcbodea@gmail.com>
Co-authored-by: Wladi <wladiarce@gmail.com>
Co-authored-by: Adrian Alfred C. Bonpin <adrianbonpin@gmail.com>
Co-authored-by: Dries Augustyns <augustyns.dries@gmail.com>
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2026-07-07 09:51:58 -06:00
Alan MoskoandGitHub 16ea723792 Atualizar Template Supabase
feat: update Supabase production template to latest self-hosted versions
2026-06-25 18:52:39 -03:00
Alan Mosko 1148db114b feat: update supabase production template 2026-06-25 18:52:11 -03:00
Rohit Mulani 7c8950a253 chore: pin tandoor-recipes template version 2026-06-23 00:20:23 +04:00
Rohit Mulani daa0fa8aa9 feat: add Tandoor Recipes template 2026-06-22 19:33:10 +04:00
Rohit Mulani f7dcdc5243 feat: add Jitsi Meet template 2026-06-22 18:50:20 +04:00
Rohit Mulani 24fba0a729 fix: expose HeyForm SMTP settings 2026-06-22 14:44:23 +04:00
Rohit Mulani b2bf966e86 feat: add Zulip template 2026-06-22 14:33:35 +04:00
Rohit Mulani a185fe8625 fix: remove FileRun template BOM 2026-06-22 14:19:54 +04:00
Rohit Mulani 7d302816cd feat: add FileRun template 2026-06-22 14:19:35 +04:00
Daniel Esteves 01f532d02c fix(engram): use static internal Postgres password in DSN
The template helper's ${password:N} can emit URL-reserved characters
(!@#$%^&*), which corrupt ENGRAM_DATABASE_URL while Postgres receives
the raw password, causing intermittent connection failures on first
deploy. Postgres is not exposed (internal network only), so a static
internal password is safe and matches the convention used by the
umami and documenso templates. Real secrets (JWT, cloud token, admin
token) remain randomly generated.
2026-06-19 19:17:19 -04:00
Daniel Esteves a29e4b4a18 feat(blueprint): add engram template
Engram Cloud is a self-hosted persistent-memory sync server for AI
coding agents. Deploys the published ghcr.io/gentleman-programming/engram
image with a PostgreSQL backend, auto-generated auth secrets (cloud
token, admin token, JWT secret), and a domain on the dashboard/API port.
2026-06-19 17:54:52 -04:00
Bruno Frank Silva Cordeiro 33dfea6ca7 Wrapping up, everythings working. 2026-06-12 08:59:45 -03:00
Bruno Frank Silva Cordeiro 95c11135c2 Using latest images. 2026-06-11 23:37:43 -03:00
Bruno Frank Silva Cordeiro 759eff464d Fix URLS and health or crm when booting procesor. 2026-06-11 09:54:16 -03:00
Bruno Frank Silva Cordeiro 38788336c7 Evolution GO and Evolution CRM. 2026-06-11 08:24:18 -03:00
LeoGomideandClaude Opus 4.8 d651d2d400 docs(plane): document each env var as inline comments in template env
Add a "# ..." comment string before every entry in config.env, grouped
into labelled sections (Application, PostgreSQL, Redis, RabbitMQ,
storage, proxy, runtime) with blank-line separators. Because Dokploy
renders config.env entries verbatim into the generated .env, these
comment strings carry the documentation into the deployed .env file
(TOML # comments would be stripped at parse time and never reach it).

Same pattern already used by discord-tickets, garage-with-ui, tooljet
and rustfs. No variable values changed; all 39 vars preserved.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-03 13:29:46 -03:00
LeoGomideandClaude Opus 4.8 2248627c98 fix(plane): move env/mounts under [config] so template env exports correctly
The v1.3.1 rewrite (669ad4a) reordered template.toml so that
[[config.domains]] preceded the bare `env = [...]` and `mounts = []`
keys. In TOML those keys then attach to the first config.domains table
element instead of [config], leaving config.env undefined. Dokploy reads
env from config.env, so the base64 export / deploy shipped with no
environment variables at all.

Move env/mounts back above [[config.domains]] (matching the original
template and other blueprints like documenso). config.env now resolves
to all 39 entries; the domain table keeps only serviceName/port/host.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-03 10:43:51 -03:00
LeoGomideandClaude Opus 4.8 b24dbc7611 fix(plane): tighten proxy TRUSTED_PROXIES to private_ranges (no IP spoofing)
Defaulting TRUSTED_PROXIES to 0.0.0.0/0 makes Caddy trust X-Forwarded-For /
X-Real-IP from any peer, allowing client-IP spoofing (CWE-348 / CWE-290) that
poisons rate-limiting and audit logs. In Dokploy the only upstream is Traefik on
the private dokploy-network, so trust Caddy's built-in `private_ranges` token
instead. Legitimate forwarded client IPs (Traefik is a private peer) still
resolve correctly; XFF from public-IP peers is rejected if the proxy is ever
exposed directly. Overridable via env for custom topologies.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-03 10:17:09 -03:00
LeoGomideandClaude Opus 4.8 34501dd8b5 fix(plane): set proxy SITE_ADDRESS and TRUSTED_PROXIES to fix Caddyfile crash
The plane-proxy Caddyfile.ce ends with a `{$SITE_ADDRESS} { import plane_proxy }`
block. SITE_ADDRESS has no inline default upstream, so when it is unset the block
becomes keyless and Caddy aborts with:

  adapting config using caddyfile: server block without any key is global
  configuration, and if used, it must be first

Expose SITE_ADDRESS (:80, matching the proxy `expose: ["80"]` + domain port 80,
since Dokploy terminates TLS upstream) and TRUSTED_PROXIES (0.0.0.0/0, matching
the Caddyfile inline default) on the proxy env, and document both in template.toml
so they render into the generated env. Reported and verified by @RDeluxe in #912.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-03 10:13:39 -03:00
LeoGomide 11bc16ea36 docs(plane): translate top-of-file comment to English 2026-05-28 12:27:07 -03:00
LeoGomide 9c29df415c fix(plane): rename services + add proxy links to avoid DNS collision
The plane-proxy image has hardcoded `reverse_proxy web:3000`/`api:8000`
in its Caddyfile with generic service names. In multi-stack Dokploy
deployments, those names collide with other stacks' containers (Next.js
apps frequently have a `web` service) on the shared dokploy-network —
the Plane domain ends up serving content from unrelated stacks.

Two-step fix:
  1. Rename internal services with `plane-*` prefix (unique cluster-wide):
     web/space/admin/live/api/worker/beat-worker/migrator → plane-*
  2. Add `links:` block to the `proxy` service mapping the new names back
     to the generic ones the Caddyfile expects (`plane-web:web` etc.).
     Docker injects these into /etc/hosts, which has absolute priority
     over DNS — Caddy resolves `web`/`api`/etc. directly to our renamed
     containers, ignoring any collision on dokploy-network.

Also updates `API_BASE_URL` in template.toml and the `x-live-env` anchor
from `http://api:8000` → `http://plane-api:8000`.

No `networks:` declarations added (repo validator rejects them; Dokploy
manages networking automatically).
2026-05-28 12:22:37 -03:00
LeoGomide 669ad4a257 chore(plane): update template to v1.3.1 with healthchecks and bug fixes
- Bump makeplane/* images v0.27.1 -> v1.3.1
- Pin minio to RELEASE.2025-04-22T22-12-26Z (last release with full admin
  console before community-edition feature removal)
- Add YAML anchors (x-*-env) for env reuse across backend services
- Add healthchecks for postgres, valkey, rabbitmq
- api/worker/beat-worker wait for migrator via service_completed_successfully
  (fixes race where backend booted before schema was migrated)
- Add restart policies (unless-stopped for long-running, on-failure for migrator)
- Migrate env_file -> inline environment (matches repo convention)
- Expose APP_RELEASE in template.toml [variables] for UI override

Bug fixes in template.toml:
- RABBITMQ_DEFAULT_USER was the literal string "rabbitmq_user" instead of
  a variable reference; AMQP_URL was inconsistent with the broker user
- WEB_URL was missing the https:// scheme (broke OAuth/email links)
- DATABASE_URL/AMQP_URL referenced inline vars that Dokploy does not
  resolve inside [config.env]; now use [variables] directly
- Remove dead vars: NGINX_PORT (Plane v1.x uses Caddy), SENTRY_DSN,
  SENTRY_ENVIRONMENT
- Add WEBHOOK_ALLOWED_IPS/WEBHOOK_ALLOWED_HOSTS (SSRF guard default
  introduced in Plane v1.x)
2026-05-28 11:14:59 -03:00
NightVibes33 455e1914a9 feat: add wallabag template 2026-05-21 15:49:17 +00:00
NightVibes33 5d220e04b4 polish added templates 2026-05-21 15:45:32 +00:00
NightVibes33 8c1a085acb refine added Dokploy templates 2026-05-21 15:36:50 +00:00
Axile 9b25708efe feat: add code-server template 2026-05-21 15:47:04 +08:00
NightVibes33 aea19d1d5a feat: add more self-hosted app templates 2026-05-20 22:16:10 +00:00
NightVibes33 bd2dd62358 feat: add Homebox Jellyseerr and Speedtest Tracker templates 2026-05-20 21:19:59 +00:00
NightVibes33 7466165b1c feat: add PrivateBin Traccar and Wakapi templates 2026-05-20 21:10:23 +00:00
NightVibes33 b203c65ba6 feat: add Gotify and PairDrop templates 2026-05-20 20:45:13 +00:00
BinkyTwin b846612d0e fix: default ownCloud public URL to HTTP 2026-05-20 22:30:05 +02:00
BinkyTwin 30cad7b347 fix: align ThingsBoard init queue type 2026-05-20 22:20:50 +02:00
BinkyTwin c01b38343d feat: add ownCloud Infinite Scale template 2026-05-20 22:16:56 +02:00
BinkyTwin 79c38c5836 feat: add NodeLink template 2026-05-20 22:10:02 +02:00
BinkyTwin a7f3a74982 feat: add ThingsBoard template 2026-05-20 22:00:58 +02:00
BinkyTwin 7e5691b847 feat: add Gatus template 2026-05-20 21:26:07 +02:00
BinkyTwin 0c3d1ccd20 fix: align Paperless URL scheme default 2026-05-20 21:22:23 +02:00
BinkyTwin 12411b5ff0 feat: add Paperless-ngx template 2026-05-20 21:15:44 +02:00
NightVibes33 dc809a9849 feat: add chroma languagetool and shiori templates 2026-05-20 18:09:47 +00:00
iRazz 2e480e3c53 add uptimekit 2026-05-15 20:05:25 +03:00
ahmed-lotfy-dev a9a40ec69a fix: update powersync base64 config to match working deployment + add env comments 2026-05-15 20:02:21 +03:00
ahmed-lotfy-dev 3314b5930f fix: process meta.json (sort + dedupe) 2026-05-15 19:01:17 +03:00
ahmed-lotfy-dev be677f50a5 feat: add powersync blueprint template 2026-05-15 18:54:52 +03:00
iRazz b88e276f69 add uptimekit 2026-05-15 04:19:29 +03:00
iRazz eaff380d77 add uptimekit 2026-05-15 04:13:23 +03:00
JuanandGitHub 1cde3fac82 Update Meilisearch 1.35.1 and fix Cyberchef logo (#722)
* fix: update CyberChef logo from SVG to PNG and remove old SVG file

* fix: update Meilisearch version to v1.35.1
2026-05-12 14:54:37 -06:00
Kien NgoGitHubgreptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
0df6bc5b29 Add go2rtc (#720)
* Add go2rtc

* Update blueprints/go2rtc/docker-compose.yml

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>

* Update blueprints/go2rtc/template.toml

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>

* Apply suggestion from @greptile-apps[bot]

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>

* Update docker-compose.yml

* Update template.toml

* Update docker-compose.yml

* Update docker-compose.yml

---------

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2026-05-12 14:40:05 -06:00
Harikrishnan DhanasekaranandGitHub 94b9aa70de Added the frappe lending template (#665)
* added the frappe lending template

* removed the external network
2026-05-12 14:32:59 -06:00
Dries AugustynsandGitHub 5ca048afcf Update Plunk template to use next version (#622)
* Update Plunk template to use next version

* Add domain configuration to config.env

* Remove NTFY from Plunk
2026-05-12 14:17:35 -06:00
Mauricio SiuandGitHub ff465cdab6 fix(cloudflared): opt-out of isolated deployment (#856)
Cloudflared requires network_mode: host which is mutually exclusive
with Docker networks. Setting isolated = false prevents Dokploy from
injecting networks into this compose.

Fixes https://github.com/Dokploy/dokploy/issues/4366
2026-05-08 19:27:02 -06:00
ZeroWing-AutomatorandGitHub 256c08ac5f Add files via upload 2026-05-05 06:36:21 -04:00
ZeroWing-AutomatorandGitHub cc2b18a85a Add files via upload 2026-05-05 06:35:55 -04:00
ZeroWing-AutomatorandGitHub 84df565923 Add files via upload 2026-05-05 06:35:17 -04:00
ZeroWing-AutomatorandGitHub 49de63093f Update meta.json 2026-05-05 15:23:46 +05:00
ZeroWing-AutomatorandGitHub 3f0ffc0243 Create docker-compose.yml 2026-05-05 15:19:06 +05:00
ZeroWing-AutomatorandGitHub a1b9db513a Create template.toml 2026-05-05 15:18:38 +05:00
ZeroWing-AutomatorandGitHub 2fceaafdda Create docker-compose.yml 2026-05-05 15:17:04 +05:00
ZeroWing-AutomatorandGitHub 98699c6178 Create template.toml 2026-05-05 15:16:31 +05:00
ZeroWing-AutomatorandGitHub 4e52a303ba Create docker-compose.yml 2026-05-05 15:14:07 +05:00
ZeroWing-AutomatorandGitHub 756ebc7f31 Create template.toml 2026-05-05 15:12:39 +05:00
ZeroWing-AutomatorandGitHub 4c49e4362a Add files via upload 2026-05-04 21:53:35 -04:00
ZeroWing-AutomatorandGitHub 79754e3cb4 Add files via upload 2026-05-04 21:53:08 -04:00
ZeroWing-AutomatorandGitHub 930a4ef6d8 Add files via upload 2026-05-04 21:52:29 -04:00
ZeroWing-AutomatorandGitHub a0abb8fcfe Update meta.json 2026-05-05 06:44:27 +05:00
ZeroWing-AutomatorandGitHub b7985463d8 Update template.toml 2026-05-05 06:43:13 +05:00
ZeroWing-AutomatorandGitHub 525220a0b4 Create docker-compose.yml 2026-05-05 06:42:55 +05:00
ZeroWing-AutomatorandGitHub 377009a5fa Create template.toml 2026-05-05 06:42:10 +05:00
ZeroWing-AutomatorandGitHub 71ea46881f Update meta.json 2026-05-05 06:39:18 +05:00
ZeroWing-AutomatorandGitHub e97aec0196 Create docker-compose.yml 2026-05-05 06:34:27 +05:00
ZeroWing-AutomatorandGitHub a06feb6a99 Create template.toml 2026-05-05 06:34:00 +05:00
ZeroWing-AutomatorandGitHub 644cdfcb77 Update meta.json 2026-05-05 06:28:29 +05:00
ZeroWing-AutomatorandGitHub 7de03e4246 Create docker-compose.yml 2026-05-05 06:23:55 +05:00
ZeroWing-AutomatorandGitHub 355833ea32 Create template.toml 2026-05-05 06:23:17 +05:00
Manuel Schneider b19d017a66 fix docker-compose requirements for duplicati 2026-05-04 08:14:16 +02:00
Nico PergandeandClaude Opus 4.7 9095db8607 feat(authentik): bump to 2026.2.2 and Postgres 18
Updates the Authentik blueprint from 2025.6.3 to the latest stable
2026.2.2, and bumps Postgres from 16-alpine to 18-alpine. Redis is
intentionally retained.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-26 19:03:40 +02:00
Manuel Schneider bf4d1d6605 add duplicati 2026-04-19 21:56:47 +02:00
Andreas EnemyrandClaude Opus 4.7 30d789cb45 Add Multica template
Open-source managed agents platform (Next.js + Go + pgvector).
Builds from source via remote git context since no pre-built images
are published. Exposes two Traefik domains: frontend (3000) and
backend (8080) for the CLI/daemon.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-17 13:41:06 +02:00
Juan del Peral 4fac6db5c3 chore(meta): dedupe and sort meta.json
Remove duplicate strapi entry so processed meta matches CI expectations.

Made-with: Cursor
2026-04-16 19:01:33 -03:00
Juan del Peral 79d9fec567 fix(chatwoot): align metadata and HTTPS defaults
Update Chatwoot metadata to match the pinned image version and default the template URL/SSL settings for Dokploy TLS deployments.

Made-with: Cursor
2026-04-16 17:47:15 -03:00
Juan del Peral eff1206132 Updated chatwoot blueprint 2026-04-16 16:44:59 -03:00
Debojyoti Mandal 265e77bbf8 feat: add Glances system monitoring template 2026-04-09 23:11:26 +05:30
zrja fed39e395e fix: address remaining shopware review notes 2026-04-09 04:35:36 +02:00
zrja d0821bdb39 fix: remove duplicate strapi entry 2026-04-09 04:32:02 +02:00
zrja 3100430dc5 fix: address shopware review feedback 2026-04-09 04:15:42 +02:00
zrja ac5f9b995a feat: add shopware blueprint 2026-04-09 04:10:55 +02:00
Satya Tulasi Jalandhar C HandGitHub 72519948b1 feat: add ENABLE_SCHEDULER variable to template.toml and update docker-compose.yml for scheduler management 2026-04-07 10:46:16 +00:00
Satya Tulasi Jalandhar C HandGitHub 8d514c2d43 fix: update volume path for db service in docker-compose.yml 2026-04-07 09:41:02 +00:00
Satya Tulasi Jalandhar C HandGitHub 0064d0b598 fix: correct redis_socketio configuration in docker-compose.yml 2026-04-07 09:37:05 +00:00
Satya Tulasi Jalandhar C HandGitHub 76792ce6b2 fix: update ERPNext ID format in meta.json 2026-04-07 09:34:26 +00:00
Satya Tulasi Jalandhar C HandGitHub 84a19c4fb5 chore: rename the folder 2026-04-07 09:29:45 +00:00
Satya Tulasi Jalandhar C HandGitHub 2d1eeb8d1d refactor: remove Strapi duplicate entry from meta.json 2026-04-07 09:17:40 +00:00
Satya Tulasi Jalandhar C HandGitHub 2c80762082 feat: add ERPNext version 16 configuration and assets 2026-04-07 09:17:13 +00:00
Your Name d70f45f1c9 feat: finalize Matomo with sorted tags 2026-04-01 13:49:37 +01:00
Your Name f2428bc788 feat: finalize Matomo blueprint with sorted meta and flat variables 2026-04-01 13:19:11 +01:00
Your Name da9c076713 feat: sort Matomo entry alphabetically in meta.json 2026-04-01 12:47:45 +01:00
Your Name f6b18cae8a feat: finalize Matomo blueprint with fixed schema and logo 2026-04-01 12:22:28 +01:00
Your Name ad24b4e71b feat: match official compose standards for Matomo 2026-04-01 11:57:28 +01:00
Your Name 5945e44c7c feat: finalize Matomo blueprint with official schema 2026-04-01 11:45:11 +01:00
Your Name 9b3745f919 feat: add Matomo blueprint (v2 - fixed bot issues) 2026-04-01 11:22:34 +01:00
Your Name bd83cb9fd0 feat: add Matomo blueprint 2026-04-01 11:16:45 +01:00
+58 4902cbf105 New Version (#737)
* 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

* Updating copilot instructions.md and AGENTS.md (#452)

* docs: add copilot instructions for project development

Added comprehensive documentation file (.github/copilot-instructions.md) that provides detailed guidance on the Dokploy Open Source Templates project structure, development workflow, and conventions. The document covers the project overview, key files and directories, development workflow for adding/updating templates, local development setup, CI/CD processes, and established conventions and patterns. This documentation will help onboard new contributors and ensure consistent development practices across the project.

* docs(copilot-instructions): enhance project overview and development guide

Updated copilot instructions to reflect expanded app capabilities (200+ apps, TypeScript integration, Fuse.js search) and detailed processes for templates, local dev, and CI/CD for improved clarity and accuracy.

* refactor: remove frontend development instructions from AGENTS.md and update contributing guidelines

- Removed frontend development commands from AGENTS.md to streamline the document.
- Updated CONTRIBUTING.md by removing the recommendation to set `restart: unless-stopped` for services.

---------

Co-authored-by: Mauricio Siu <siumauricio@icloud.com>

* Add trailbase template (#590)

* Add trailbase

* Add comment on mounting local directory

* Update meta.json

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* fix: openpanel and migrate to v2 (#594)

* refactor: update docker-compose.yml to include version and restart policy (#599)

* feat(blueprint): mage ai template (#601)

* feat(blueprint): template for mage-ai

* fix: add healthcheck for mage-ai

* docs: update copilot instructions to emphasize version pinning in docker-compose.yml

Clarified the importance of pinning image versions in docker-compose.yml and explicitly stated to avoid using the `latest` tag to prevent potential issues with template functionality when upstream images change.

* refactor: enhance Docker Compose validation workflow

Updated the GitHub Actions workflow for validating Docker Compose files by streamlining the detection of changed blueprints and improving the validation process. Removed redundant steps and consolidated the validation of docker-compose.yml and template.toml files into a more efficient structure. Added clearer output messages for validation results and ensured that best practices are checked for each blueprint. This refactor aims to improve maintainability and clarity in the CI/CD process.

* fix: update zitadel default instance features (#544)

* Add Reactive Resume template (#603)

* Initial plan

* Add Reactive Resume template with docker-compose, template.toml, and meta.json entry

Co-authored-by: Siumauricio <47042324+Siumauricio@users.noreply.github.com>

* Fix MinIO storage path alignment between template.toml and docker-compose.yml

Co-authored-by: Siumauricio <47042324+Siumauricio@users.noreply.github.com>

* Update docker-compose.yml

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Siumauricio <47042324+Siumauricio@users.noreply.github.com>

* [WIP] Fix mounted prometheus.yml file not working (#605)

* Initial plan

* Fix Prometheus mounted prometheus.yml file by adding volume mount

Co-authored-by: Siumauricio <47042324+Siumauricio@users.noreply.github.com>

* Update blueprints/prometheus/template.toml

Co-authored-by: Copilot <175728472+Copilot@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>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* docs: update copilot instructions to enforce open source requirement

Added a clear requirement stating that all services must be open source and only applications with open-source licenses (e.g., MIT, Apache, GPL, AGPL) are allowed. This update aims to ensure compliance and maintain the integrity of the project.

* Fix Cap.so template MinIO deployment failure (#604)

* Initial plan

* Fix Cap.so MinIO image to use official quay.io image

Co-authored-by: Siumauricio <47042324+Siumauricio@users.noreply.github.com>

* Fix MinIO healthcheck to use curl instead of mc

Co-authored-by: Siumauricio <47042324+Siumauricio@users.noreply.github.com>

* Update .gitignore

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Siumauricio <47042324+Siumauricio@users.noreply.github.com>

* Fix Discourse template manifest error - update to bitnamilegacy/discourse:3.5.0 (#606)

* Initial plan

* Fix Discourse template by updating to bitnamilegacy/discourse:3.5.0

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>

* Remove pull request trigger from deploy-preview workflow

* Enhance copilot instructions by adding verification steps for Docker images and clarifying URL variable usage. Emphasize the importance of verifying image existence before committing to prevent deployment failures.

* Add Easy!Appointments template (#608)

* Initial plan

* Add Easyappointments template with docker-compose, template.toml, and meta.json entry

Co-authored-by: Siumauricio <47042324+Siumauricio@users.noreply.github.com>

* Update blueprints/easyappointments/template.toml

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update template.toml

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Siumauricio <47042324+Siumauricio@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Add Dolibarr ERP & CRM template (#610)

* Initial plan

* Add Dolibarr ERP & CRM template

Co-authored-by: Siumauricio <47042324+Siumauricio@users.noreply.github.com>

* Update template.toml

* Update blueprints/dolibarr/docker-compose.yml

Co-authored-by: Copilot <175728472+Copilot@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>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* feat: add Syncthing Template (#636)

* Adiciona template do Syncthing com arquivos de configuração e ícone

* Remove versão do Docker Compose do template do Syncthing

* Update Umami to version v2.20.2 (#641)

* Feat : Add InstantDB template (#224) (#530)

* feat: add InstantDB template

* added the server service also

* removed the external network

* Update docker-compose.yml

* Update blueprints/instantdb/docker-compose.yml

* Update blueprints/instantdb/docker-compose.yml

* Update docker-compose.yml

* Update blueprints/instantdb/template.toml

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>

* [New Template] Added Lavalink template for dokploy (#535)

* Add initial Lavalink configuration template

* Added lavalink.svg logo

* Create docker-compose.yml for Lavalink setup

Add Docker Compose configuration for Lavalink service.

* Modify healthcheck interval in docker-compose.yml

Increased healthcheck interval from 10s to 100s.

* Add Lavalink metadata to meta.json

Added metadata for Lavalink audio sending node.

* Update server_port variable to use ${port}

* Change server port variable to randomPort

* Change port variable to randomPort in template.toml

* Change port variable in template.toml

* Update server port in template.toml

* Fix formatting in template.toml for server config

* style: Reformat lavalink entry in meta.json.

* Update docker-compose.yml

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>

* chore(blueprint): update Appwrite services to v1.8 (#383)

* Update Appwrite version docker images and environment variables

* Add separate domains for functions and sites, update environment variables, replace insecure default passwords

* Update Appwrite version from 1.6.1 to 1.7.4 in `meta.json`

* Fix envs and update domains

* Add missing volume mounts for sites

* Fix config file syntax

* Update runtimes network configuration in template.toml

* Update Appwrite to 1.8

* Update appwrite image version to 1.8.0

* Add logging configuration to docker-compose

* 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>

* Remove `container_name` from all containers

* Remove expliced networks

* Update blueprints/appwrite/docker-compose.yml

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update password variables to use 32-character length

* Update Appwrite description and tags in meta.json

* Fix JSON formatting in meta.json by adding missing closing bracket

* Fix formatting in meta.json by removing trailing spaces in tags array

* Add missing SMS and Backblaze storage configuration options in template.toml

* Update docker-compose.yml

---------

Co-authored-by: Pascal Oberbeck <pascal.oberbeck@paperlesswork.de>
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>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Mauricio Siu <siumauricio@icloud.com>

* feat: emqx template (MQTT Broker) (#556)

* feat: template for emqx

* chore: process meta

* fix: use websocket on port 443 instead of 8084

* docs: improve comments for emqx template

* fix: use emqx service name

* fix: use dummy domain instead of traefik

* fix: explicitly list dokplok-network

* fix(emqx): restart unless stopped

* fix(emqx): add healthcheck

* Dokploy Deployment for Mautic 5 (#564)

* first draft

* second

* try 3

* 4

* Update docker-compose.yml

* Update template.toml

* Enhance healthchecks and service dependencies in Docker Compose

Updated healthcheck configurations for Mautic and MySQL services to improve service reliability. Added conditions to ensure services wait for dependencies to be healthy before starting.

* Update Mautic docker-compose with health checks and roles

* fix: searxng template (#651)

* fix: use major version for openpanel (#680)

* Feat/minepanel template (#657)

* feat: add Minepanel template

* fix: pin images to v1.7.1 and use http for URLs

* fix: remove explicit ports, Dokploy handles proxying

* chore: process and sort meta.json

* fix: consolidate domain variables to main_domain

* fix: add version field to docker-compose.yml

* Add Komari Monitor template with Docker Compose, icon, and metadata (#XXX) (#623)

* Introduce Komari Monitor, a self-hosted server monitoring tool, with its corresponding Docker Compose configuration, icon, and metadata entry.

* Add template.toml for configuration and environment variables.

* Include necessary links for GitHub and documentation.

* Add Misaka Danmu Server template with Docker Compose, icon, and metadata (#624)

* Introduce Misaka Danmu Server, a self-hosted danmaku server for live streaming, with its corresponding Docker Compose configuration, icon, and metadata entry.

* Add template.toml for configuration and environment variables.

* Include necessary links for GitHub and documentation.

* fix: pyrodactyl no longer uses main tag for it's latest release (#626)

* fix: pyrodactyl no longer uses main tag for it's latest release

* Remove custom network settings from docker-compose

Removed custom network configuration from docker-compose.

* Update MariaDB and Pyrodactyl images in Docker Compose

* Add Jenkins blueprint template configuration (#634)

- Created a new TOML configuration file for Jenkins blueprint.
- Defined main domain variable and service configuration for Jenkins.
- Set serviceName to "jenkins" with port 8080 and host as the main domain.

* Update Autobase to version 2.5 (#647)

* Update Autobase to version 2.5

Bump the autobase-console Docker image from version 2.2.0 to 2.5.2 in docker-compose.yml to use the latest features and fixes.

* Update docker-compose.yml

* Update docker-compose.yml

* Update meta.json

* Update Autobase description in meta.json

Revised the Autobase package description to clarify it as a self-hosted DBaaS alternative to cloud-managed databases.

* Add Cloudreve template (#649)

Self-hosted file management and sharing system with multi-cloud storage support.
Includes PostgreSQL and Redis for database and caching.

* Update to Umami 3.0.3 (#668)

* Update Umami version from v2.20.2 to v3.0.3

* Update Umami Docker image to version 3.0.3

* fix: tailscale exitnode authkey env (#669)

* Add qbitwebui (#675)

* Add qBittorrent Web UI template

* Fix healthcheck bug

* Create INSTRUCTIONS.md

* Rename INSTRUCTIONS.md to instructions.md

* feat: add Moltbot template (#683)

* 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: add Openclaw template (#694)

* 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>

* fix: cloudflared documentation links & env variables (#699)

* feat(blueprint): Cloudflare DDNS (#689)

* feat: added Cloudflare DDNS template

* fix: make CLOUDFLARE_API_TOKEN and DOMAINS mandatory env

* Fix realtime service name resolution (#563)

Expose the CONTAINER_PREFIX environment variable to kong service, then utilize it to format the URL of realtime service.

* fix(habitica): add user to mongodb replicaset to enable Dokploy DB backups (#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>

* Refactor wg-easy service configuration to work with latest wg-easy v15 (#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 (#616)

* 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 (#617)

* 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>

* Fix Obsidian LiveSync template links pointing to CouchDB instead of plugin (#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 (#630)

* feat: add SeaweedFS template

* chore: add specific seaweedfs version

* Update image versions in docker-compose for AList, Appsmith, and Budibase (#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

* refactor: add

* docs: update CONTRIBUTING.md with pull request guidelines

- Added guidelines for keeping pull requests small and focused.
- Emphasized the importance of testing contributions before submission to maintain a tidy PR queue.

* Add/trilium next (#671)

* 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 (#679)

* 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 (#681)

* 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 (#703)

* Add IPFS Kubo template

* Update init cmds

* Remove port forwarding

* uptime-kuma: Bump version to 2.1.0 (#706)

* Bump version to 2.1.0

* Update meta.json with new version number

* feat(blueprint): update trmnl-byos-laravel template (#704)

* upgrade nextcloud img version (#705)

* fix docker-compose variables and update github link (#701)

Co-authored-by: Aaron McGuire <git.figment276@passmail.net>

* Update InvoiceShelf compose to suit new changes (#693)

https://github.com/InvoiceShelf/docker/blob/89bf78cec6fae54db76f84e0a4dc6255a8da710e/upgrade-guide.md

* fix: superset template fixed versions, postgres volume mount and network instructions (#595)

* fix: superset version fixed, tweak network instructions

* chore: simplify mapbox key

* fix: volume mount

* deps: bump superset to 6.0.0

* feat: Add imgproxy template (#714)

* feat: Add imgproxy template

* fix: Configure docker-compose to match requirements

* fix: Process meta

* fix: Change logo name

* fix: Remove incorrect mounts

* fix: Expose 80 port instead of direct mapping

* fix: Change nginx cache keys default zone size and correct format negotiation

* fix: Escaping

* feat: update to new Evolution API image source and pin it to the latest version (#644)

* feat: Enhanced Nextcloud template with Redis, automated config, and improved setup (#672)

* Update docker-compose.yml

* fix: stable nextcloud, add redis, auto config, fixed mariadb

* fix: meta nextcloud

* fix: vars

* fix: non capital

* fix: template.toml

* fix: env vars

* fix: var naming

* fix: command

* fix: command

* another try

* keep it simple

* fix toml

* retry classic

* add: admin user

* no aito install

* feat: automated fixes

* fix  file pasth

* fix: manual script

* fix: script

* fix: png logo

* fix: meta logo data

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>

* feat: add MediaFetch template (#688)

* feat: add MediaFetch template

* Corrected .toml

* .toml

* feat: add unleash template (#691)

* feat: add unleash template

* feat: update unleash template to version 7.4.0 and fix formatting

* feat: update database user in unleash template from postgres to unleash

* Update Notifuse template: replace PASETO with SECRET_KEY auth (#696)

* Update Notifuse template: replace PASETO with SECRET_KEY auth

* Update docker-compose.yml

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>

* Change convex port mapping to expose and bump version (#730)

* chore: update convex backend and dashboard images, switch from port mapping to expose in docker-compose.yml

* fix: set default value for DISABLE_BEACON in docker-compose.yml

* Update grafana 12.4 (#731)

* Update grafana 12.4

* Update meta.json

* feat(blueprint): add Verdaccio - private node.js package registry (#735)

* feat: add tuwunel template for matrix (re-made) (#733)

* feat: add tuwunel template for matrix

* fix: replace HTML placeholder with actual SVG logo for tuwunel

* fix: remove enforcement and rename logo

---------

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>
Co-authored-by: Jainil Prajapati <86187588+jaainil@users.noreply.github.com>
Co-authored-by: Ye Liu <yeliu84@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Carl-Gerhard Lindesvärd <1987198+lindesvard@users.noreply.github.com>
Co-authored-by: Huy Pham <quochuy.dev@gmail.com>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Louan Fontenele <louanbastos61@gmail.com>
Co-authored-by: Alexey Fedorov <fedorov2505@yandex.com>
Co-authored-by: 0zul <26915998+0zul@users.noreply.github.com>
Co-authored-by: Pascal Oberbeck <35005267+poberbeck@users.noreply.github.com>
Co-authored-by: Pascal Oberbeck <pascal.oberbeck@paperlesswork.de>
Co-authored-by: Christus Vincent <chrisspeakseh@gmail.com>
Co-authored-by: Huba Tuba <57007485+floxay@users.noreply.github.com>
Co-authored-by: Pablo Moraga Sandoval <72164630+Ketbome@users.noreply.github.com>
Co-authored-by: Firefly <77047823+Yuri-NagaSaki@users.noreply.github.com>
Co-authored-by: Naterfute <106989409+naterfute@users.noreply.github.com>
Co-authored-by: Vitaliy Kukharik <37010174+vitabaks@users.noreply.github.com>
Co-authored-by: aurorarissime <github.delta813@passfwd.com>
Co-authored-by: фырат ёздэн <31664778+fir4tozden@users.noreply.github.com>
Co-authored-by: JoshuaRileyDev <59296334+JoshuaRileyDev@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: vabs <njoy.today@gmail.com>
Co-authored-by: Jorge Gómez Zarzosa <34076979+jorgegomzar@users.noreply.github.com>
Co-authored-by: Jorge Gómez Zarzosa <jorgegomez@bmat.com>
Co-authored-by: Benjamin Robinet <benjaminrobinet@users.noreply.github.com>
Co-authored-by: Naim Hasim <ainadanaim@gmail.com>
Co-authored-by: kadma <lolocruser@gmail.com>
Co-authored-by: José F. Bello <45277800+bellolongart@users.noreply.github.com>
Co-authored-by: jbello <jbello@raodsystem.com>
Co-authored-by: Harshal Rathore <76205196+HarshalRathore@users.noreply.github.com>
Co-authored-by: Vinicios Lugli <vinicioslugli@gmail.com>
Co-authored-by: Kien Ngo <github@kien.ngo>
Co-authored-by: Simon <97951171+SimonSchroffner@users.noreply.github.com>
Co-authored-by: Aaron McGuire <89317236+Aaron-McGuire@users.noreply.github.com>
Co-authored-by: Aaron McGuire <git.figment276@passmail.net>
Co-authored-by: Andrew Wong <andrew12345@live.com>
Co-authored-by: Vladyslav Prosolupov <vladyslavprosolupov@gmail.com>
Co-authored-by: Matheus Felipe <matheusfelipeog@gmail.com>
Co-authored-by: Sina Sebastian Eetezadi <code@eetezadi.com>
Co-authored-by: Luke Dunsmore <lukedunsmoto@gmail.com>
Co-authored-by: Dipanda Aser <aserdipanda@gmail.com>
Co-authored-by: Pierre <pierre@bazoge.com>
Co-authored-by: marcbodea <marcbodea@gmail.com>
Co-authored-by: Wladi <wladiarce@gmail.com>
Co-authored-by: Adrian Alfred C. Bonpin <adrianbonpin@gmail.com>
2026-03-05 01:44:01 -06:00
Mauricio SiuandGitHub d157cef3c3 Merge branch 'main' into canary 2026-03-05 01:43:39 -06:00
Adrian Alfred C. BonpinandGitHub 691af5208a feat: add tuwunel template for matrix (re-made) (#733)
* feat: add tuwunel template for matrix

* fix: replace HTML placeholder with actual SVG logo for tuwunel

* fix: remove enforcement and rename logo
2026-03-05 01:41:59 -06:00
WladiandGitHub 58d4a57aae feat(blueprint): add Verdaccio - private node.js package registry (#735) 2026-03-05 01:40:58 -06:00
kadmaandGitHub be88eb9567 Update grafana 12.4 (#731)
* Update grafana 12.4

* Update meta.json
2026-03-05 01:39:40 -06:00
marcbodeaandGitHub c2531b9ae9 Change convex port mapping to expose and bump version (#730)
* chore: update convex backend and dashboard images, switch from port mapping to expose in docker-compose.yml

* fix: set default value for DISABLE_BEACON in docker-compose.yml
2026-03-05 01:38:08 -06:00
1c43fd5324 Update Notifuse template: replace PASETO with SECRET_KEY auth (#696)
* Update Notifuse template: replace PASETO with SECRET_KEY auth

* Update docker-compose.yml

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2026-03-05 01:30:25 -06:00
Dipanda AserandGitHub ebb526b5ea feat: add unleash template (#691)
* feat: add unleash template

* feat: update unleash template to version 7.4.0 and fix formatting

* feat: update database user in unleash template from postgres to unleash
2026-03-05 01:27:26 -06:00
Luke DunsmoreandGitHub 8deb82ab52 feat: add MediaFetch template (#688)
* feat: add MediaFetch template

* Corrected .toml

* .toml
2026-03-05 01:25:57 -06:00
2f249505de feat: Enhanced Nextcloud template with Redis, automated config, and improved setup (#672)
* Update docker-compose.yml

* fix: stable nextcloud, add redis, auto config, fixed mariadb

* fix: meta nextcloud

* fix: vars

* fix: non capital

* fix: template.toml

* fix: env vars

* fix: var naming

* fix: command

* fix: command

* another try

* keep it simple

* fix toml

* retry classic

* add: admin user

* no aito install

* feat: automated fixes

* fix  file pasth

* fix: manual script

* fix: script

* fix: png logo

* fix: meta logo data

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2026-03-05 01:24:56 -06:00
Matheus FelipeandGitHub 27564cd2fd feat: update to new Evolution API image source and pin it to the latest version (#644) 2026-03-05 01:18:46 -06:00
Vladyslav ProsolupovandGitHub 4b2bc71f95 feat: Add imgproxy template (#714)
* feat: Add imgproxy template

* fix: Configure docker-compose to match requirements

* fix: Process meta

* fix: Change logo name

* fix: Remove incorrect mounts

* fix: Expose 80 port instead of direct mapping

* fix: Change nginx cache keys default zone size and correct format negotiation

* fix: Escaping
2026-03-05 01:16:54 -06:00
febaandGitHub 5faf1b8579 Update volume path in docker-compose.yml
For persistent node
2026-02-26 14:41:45 -06:00
+49 39fb9dd134 New templates (#711)
* 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

* Updating copilot instructions.md and AGENTS.md (#452)

* docs: add copilot instructions for project development

Added comprehensive documentation file (.github/copilot-instructions.md) that provides detailed guidance on the Dokploy Open Source Templates project structure, development workflow, and conventions. The document covers the project overview, key files and directories, development workflow for adding/updating templates, local development setup, CI/CD processes, and established conventions and patterns. This documentation will help onboard new contributors and ensure consistent development practices across the project.

* docs(copilot-instructions): enhance project overview and development guide

Updated copilot instructions to reflect expanded app capabilities (200+ apps, TypeScript integration, Fuse.js search) and detailed processes for templates, local dev, and CI/CD for improved clarity and accuracy.

* refactor: remove frontend development instructions from AGENTS.md and update contributing guidelines

- Removed frontend development commands from AGENTS.md to streamline the document.
- Updated CONTRIBUTING.md by removing the recommendation to set `restart: unless-stopped` for services.

---------

Co-authored-by: Mauricio Siu <siumauricio@icloud.com>

* Add trailbase template (#590)

* Add trailbase

* Add comment on mounting local directory

* Update meta.json

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* fix: openpanel and migrate to v2 (#594)

* refactor: update docker-compose.yml to include version and restart policy (#599)

* feat(blueprint): mage ai template (#601)

* feat(blueprint): template for mage-ai

* fix: add healthcheck for mage-ai

* docs: update copilot instructions to emphasize version pinning in docker-compose.yml

Clarified the importance of pinning image versions in docker-compose.yml and explicitly stated to avoid using the `latest` tag to prevent potential issues with template functionality when upstream images change.

* refactor: enhance Docker Compose validation workflow

Updated the GitHub Actions workflow for validating Docker Compose files by streamlining the detection of changed blueprints and improving the validation process. Removed redundant steps and consolidated the validation of docker-compose.yml and template.toml files into a more efficient structure. Added clearer output messages for validation results and ensured that best practices are checked for each blueprint. This refactor aims to improve maintainability and clarity in the CI/CD process.

* fix: update zitadel default instance features (#544)

* Add Reactive Resume template (#603)

* Initial plan

* Add Reactive Resume template with docker-compose, template.toml, and meta.json entry

Co-authored-by: Siumauricio <47042324+Siumauricio@users.noreply.github.com>

* Fix MinIO storage path alignment between template.toml and docker-compose.yml

Co-authored-by: Siumauricio <47042324+Siumauricio@users.noreply.github.com>

* Update docker-compose.yml

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Siumauricio <47042324+Siumauricio@users.noreply.github.com>

* [WIP] Fix mounted prometheus.yml file not working (#605)

* Initial plan

* Fix Prometheus mounted prometheus.yml file by adding volume mount

Co-authored-by: Siumauricio <47042324+Siumauricio@users.noreply.github.com>

* Update blueprints/prometheus/template.toml

Co-authored-by: Copilot <175728472+Copilot@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>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* docs: update copilot instructions to enforce open source requirement

Added a clear requirement stating that all services must be open source and only applications with open-source licenses (e.g., MIT, Apache, GPL, AGPL) are allowed. This update aims to ensure compliance and maintain the integrity of the project.

* Fix Cap.so template MinIO deployment failure (#604)

* Initial plan

* Fix Cap.so MinIO image to use official quay.io image

Co-authored-by: Siumauricio <47042324+Siumauricio@users.noreply.github.com>

* Fix MinIO healthcheck to use curl instead of mc

Co-authored-by: Siumauricio <47042324+Siumauricio@users.noreply.github.com>

* Update .gitignore

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Siumauricio <47042324+Siumauricio@users.noreply.github.com>

* Fix Discourse template manifest error - update to bitnamilegacy/discourse:3.5.0 (#606)

* Initial plan

* Fix Discourse template by updating to bitnamilegacy/discourse:3.5.0

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>

* Remove pull request trigger from deploy-preview workflow

* Enhance copilot instructions by adding verification steps for Docker images and clarifying URL variable usage. Emphasize the importance of verifying image existence before committing to prevent deployment failures.

* Add Easy!Appointments template (#608)

* Initial plan

* Add Easyappointments template with docker-compose, template.toml, and meta.json entry

Co-authored-by: Siumauricio <47042324+Siumauricio@users.noreply.github.com>

* Update blueprints/easyappointments/template.toml

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update template.toml

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Siumauricio <47042324+Siumauricio@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Add Dolibarr ERP & CRM template (#610)

* Initial plan

* Add Dolibarr ERP & CRM template

Co-authored-by: Siumauricio <47042324+Siumauricio@users.noreply.github.com>

* Update template.toml

* Update blueprints/dolibarr/docker-compose.yml

Co-authored-by: Copilot <175728472+Copilot@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>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* feat: add Syncthing Template (#636)

* Adiciona template do Syncthing com arquivos de configuração e ícone

* Remove versão do Docker Compose do template do Syncthing

* Update Umami to version v2.20.2 (#641)

* Feat : Add InstantDB template (#224) (#530)

* feat: add InstantDB template

* added the server service also

* removed the external network

* Update docker-compose.yml

* Update blueprints/instantdb/docker-compose.yml

* Update blueprints/instantdb/docker-compose.yml

* Update docker-compose.yml

* Update blueprints/instantdb/template.toml

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>

* [New Template] Added Lavalink template for dokploy (#535)

* Add initial Lavalink configuration template

* Added lavalink.svg logo

* Create docker-compose.yml for Lavalink setup

Add Docker Compose configuration for Lavalink service.

* Modify healthcheck interval in docker-compose.yml

Increased healthcheck interval from 10s to 100s.

* Add Lavalink metadata to meta.json

Added metadata for Lavalink audio sending node.

* Update server_port variable to use ${port}

* Change server port variable to randomPort

* Change port variable to randomPort in template.toml

* Change port variable in template.toml

* Update server port in template.toml

* Fix formatting in template.toml for server config

* style: Reformat lavalink entry in meta.json.

* Update docker-compose.yml

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>

* chore(blueprint): update Appwrite services to v1.8 (#383)

* Update Appwrite version docker images and environment variables

* Add separate domains for functions and sites, update environment variables, replace insecure default passwords

* Update Appwrite version from 1.6.1 to 1.7.4 in `meta.json`

* Fix envs and update domains

* Add missing volume mounts for sites

* Fix config file syntax

* Update runtimes network configuration in template.toml

* Update Appwrite to 1.8

* Update appwrite image version to 1.8.0

* Add logging configuration to docker-compose

* 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>

* Remove `container_name` from all containers

* Remove expliced networks

* Update blueprints/appwrite/docker-compose.yml

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update password variables to use 32-character length

* Update Appwrite description and tags in meta.json

* Fix JSON formatting in meta.json by adding missing closing bracket

* Fix formatting in meta.json by removing trailing spaces in tags array

* Add missing SMS and Backblaze storage configuration options in template.toml

* Update docker-compose.yml

---------

Co-authored-by: Pascal Oberbeck <pascal.oberbeck@paperlesswork.de>
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>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Mauricio Siu <siumauricio@icloud.com>

* feat: emqx template (MQTT Broker) (#556)

* feat: template for emqx

* chore: process meta

* fix: use websocket on port 443 instead of 8084

* docs: improve comments for emqx template

* fix: use emqx service name

* fix: use dummy domain instead of traefik

* fix: explicitly list dokplok-network

* fix(emqx): restart unless stopped

* fix(emqx): add healthcheck

* Dokploy Deployment for Mautic 5 (#564)

* first draft

* second

* try 3

* 4

* Update docker-compose.yml

* Update template.toml

* Enhance healthchecks and service dependencies in Docker Compose

Updated healthcheck configurations for Mautic and MySQL services to improve service reliability. Added conditions to ensure services wait for dependencies to be healthy before starting.

* Update Mautic docker-compose with health checks and roles

* fix: searxng template (#651)

* fix: use major version for openpanel (#680)

* Feat/minepanel template (#657)

* feat: add Minepanel template

* fix: pin images to v1.7.1 and use http for URLs

* fix: remove explicit ports, Dokploy handles proxying

* chore: process and sort meta.json

* fix: consolidate domain variables to main_domain

* fix: add version field to docker-compose.yml

* Add Komari Monitor template with Docker Compose, icon, and metadata (#XXX) (#623)

* Introduce Komari Monitor, a self-hosted server monitoring tool, with its corresponding Docker Compose configuration, icon, and metadata entry.

* Add template.toml for configuration and environment variables.

* Include necessary links for GitHub and documentation.

* Add Misaka Danmu Server template with Docker Compose, icon, and metadata (#624)

* Introduce Misaka Danmu Server, a self-hosted danmaku server for live streaming, with its corresponding Docker Compose configuration, icon, and metadata entry.

* Add template.toml for configuration and environment variables.

* Include necessary links for GitHub and documentation.

* fix: pyrodactyl no longer uses main tag for it's latest release (#626)

* fix: pyrodactyl no longer uses main tag for it's latest release

* Remove custom network settings from docker-compose

Removed custom network configuration from docker-compose.

* Update MariaDB and Pyrodactyl images in Docker Compose

* Add Jenkins blueprint template configuration (#634)

- Created a new TOML configuration file for Jenkins blueprint.
- Defined main domain variable and service configuration for Jenkins.
- Set serviceName to "jenkins" with port 8080 and host as the main domain.

* Update Autobase to version 2.5 (#647)

* Update Autobase to version 2.5

Bump the autobase-console Docker image from version 2.2.0 to 2.5.2 in docker-compose.yml to use the latest features and fixes.

* Update docker-compose.yml

* Update docker-compose.yml

* Update meta.json

* Update Autobase description in meta.json

Revised the Autobase package description to clarify it as a self-hosted DBaaS alternative to cloud-managed databases.

* Add Cloudreve template (#649)

Self-hosted file management and sharing system with multi-cloud storage support.
Includes PostgreSQL and Redis for database and caching.

* Update to Umami 3.0.3 (#668)

* Update Umami version from v2.20.2 to v3.0.3

* Update Umami Docker image to version 3.0.3

* fix: tailscale exitnode authkey env (#669)

* Add qbitwebui (#675)

* Add qBittorrent Web UI template

* Fix healthcheck bug

* Create INSTRUCTIONS.md

* Rename INSTRUCTIONS.md to instructions.md

* feat: add Moltbot template (#683)

* 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: add Openclaw template (#694)

* 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>

* fix: cloudflared documentation links & env variables (#699)

* feat(blueprint): Cloudflare DDNS (#689)

* feat: added Cloudflare DDNS template

* fix: make CLOUDFLARE_API_TOKEN and DOMAINS mandatory env

* Fix realtime service name resolution (#563)

Expose the CONTAINER_PREFIX environment variable to kong service, then utilize it to format the URL of realtime service.

* fix(habitica): add user to mongodb replicaset to enable Dokploy DB backups (#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>

* Refactor wg-easy service configuration to work with latest wg-easy v15 (#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 (#616)

* 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 (#617)

* 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>

* Fix Obsidian LiveSync template links pointing to CouchDB instead of plugin (#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 (#630)

* feat: add SeaweedFS template

* chore: add specific seaweedfs version

* Update image versions in docker-compose for AList, Appsmith, and Budibase (#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

* refactor: add

* docs: update CONTRIBUTING.md with pull request guidelines

- Added guidelines for keeping pull requests small and focused.
- Emphasized the importance of testing contributions before submission to maintain a tidy PR queue.

* Add/trilium next (#671)

* 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 (#679)

* 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 (#681)

* 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 (#703)

* Add IPFS Kubo template

* Update init cmds

* Remove port forwarding

* uptime-kuma: Bump version to 2.1.0 (#706)

* Bump version to 2.1.0

* Update meta.json with new version number

* feat(blueprint): update trmnl-byos-laravel template (#704)

* upgrade nextcloud img version (#705)

* fix docker-compose variables and update github link (#701)

Co-authored-by: Aaron McGuire <git.figment276@passmail.net>

* Update InvoiceShelf compose to suit new changes (#693)

https://github.com/InvoiceShelf/docker/blob/89bf78cec6fae54db76f84e0a4dc6255a8da710e/upgrade-guide.md

* fix: superset template fixed versions, postgres volume mount and network instructions (#595)

* fix: superset version fixed, tweak network instructions

* chore: simplify mapbox key

* fix: volume mount

* deps: bump superset to 6.0.0

---------

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>
Co-authored-by: Jainil Prajapati <86187588+jaainil@users.noreply.github.com>
Co-authored-by: Ye Liu <yeliu84@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Carl-Gerhard Lindesvärd <1987198+lindesvard@users.noreply.github.com>
Co-authored-by: Huy Pham <quochuy.dev@gmail.com>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Louan Fontenele <louanbastos61@gmail.com>
Co-authored-by: Alexey Fedorov <fedorov2505@yandex.com>
Co-authored-by: 0zul <26915998+0zul@users.noreply.github.com>
Co-authored-by: Pascal Oberbeck <35005267+poberbeck@users.noreply.github.com>
Co-authored-by: Pascal Oberbeck <pascal.oberbeck@paperlesswork.de>
Co-authored-by: Christus Vincent <chrisspeakseh@gmail.com>
Co-authored-by: Huba Tuba <57007485+floxay@users.noreply.github.com>
Co-authored-by: Pablo Moraga Sandoval <72164630+Ketbome@users.noreply.github.com>
Co-authored-by: Firefly <77047823+Yuri-NagaSaki@users.noreply.github.com>
Co-authored-by: Naterfute <106989409+naterfute@users.noreply.github.com>
Co-authored-by: Vitaliy Kukharik <37010174+vitabaks@users.noreply.github.com>
Co-authored-by: aurorarissime <github.delta813@passfwd.com>
Co-authored-by: фырат ёздэн <31664778+fir4tozden@users.noreply.github.com>
Co-authored-by: JoshuaRileyDev <59296334+JoshuaRileyDev@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: vabs <njoy.today@gmail.com>
Co-authored-by: Jorge Gómez Zarzosa <34076979+jorgegomzar@users.noreply.github.com>
Co-authored-by: Jorge Gómez Zarzosa <jorgegomez@bmat.com>
Co-authored-by: Benjamin Robinet <benjaminrobinet@users.noreply.github.com>
Co-authored-by: Naim Hasim <ainadanaim@gmail.com>
Co-authored-by: kadma <lolocruser@gmail.com>
Co-authored-by: José F. Bello <45277800+bellolongart@users.noreply.github.com>
Co-authored-by: jbello <jbello@raodsystem.com>
Co-authored-by: Harshal Rathore <76205196+HarshalRathore@users.noreply.github.com>
Co-authored-by: Vinicios Lugli <vinicioslugli@gmail.com>
Co-authored-by: Kien Ngo <github@kien.ngo>
Co-authored-by: Simon <97951171+SimonSchroffner@users.noreply.github.com>
Co-authored-by: Aaron McGuire <89317236+Aaron-McGuire@users.noreply.github.com>
Co-authored-by: Aaron McGuire <git.figment276@passmail.net>
Co-authored-by: Andrew Wong <andrew12345@live.com>
2026-02-15 21:24:19 -06:00
Khiet Tam NguyenandGitHub 38e417b194 fix: superset template fixed versions, postgres volume mount and network instructions (#595)
* fix: superset version fixed, tweak network instructions

* chore: simplify mapbox key

* fix: volume mount

* deps: bump superset to 6.0.0
2026-02-15 21:10:10 -06:00
Andrew WongandGitHub a19303e3bf Update InvoiceShelf compose to suit new changes (#693)
https://github.com/InvoiceShelf/docker/blob/89bf78cec6fae54db76f84e0a4dc6255a8da710e/upgrade-guide.md
2026-02-15 21:02:22 -06:00
e7b0034833 fix docker-compose variables and update github link (#701)
Co-authored-by: Aaron McGuire <git.figment276@passmail.net>
2026-02-15 21:01:07 -06:00
Kien NgoandGitHub e0c0c5458b upgrade nextcloud img version (#705) 2026-02-15 20:58:59 -06:00
Benjamin NussbaumandGitHub 8d9c8d5c4f feat(blueprint): update trmnl-byos-laravel template (#704) 2026-02-15 20:57:38 -06:00
SimonandGitHub 11ea20d291 uptime-kuma: Bump version to 2.1.0 (#706)
* Bump version to 2.1.0

* Update meta.json with new version number
2026-02-15 20:56:12 -06:00
Kien NgoandGitHub e63a6d5408 Add IPFS Kubo template (#703)
* Add IPFS Kubo template

* Update init cmds

* Remove port forwarding
2026-02-15 20:53:54 -06:00
Vinicios LugliandGitHub 161053606f feat: add PostgreSQL with PgDog template (#681)
* 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
2026-02-15 20:50:57 -06:00
Harshal RathoreandGitHub c3e83d75c6 feat: add wuzapi template (#679)
* 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.
2026-02-15 20:49:26 -06:00
178e11d2fb Add/trilium next (#671)
* 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>
2026-02-15 20:46:11 -06:00
Mauricio Siu f8e072549c docs: update CONTRIBUTING.md with pull request guidelines
- Added guidelines for keeping pull requests small and focused.
- Emphasized the importance of testing contributions before submission to maintain a tidy PR queue.
2026-02-15 20:44:47 -06:00
Mauricio Siu a4b7e93a33 refactor: add 2026-02-15 19:54:58 -06:00
kadmaandGitHub 16a7e0d9e4 Update image versions in docker-compose for AList, Appsmith, and Budibase (#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
2026-02-15 19:42:23 -06:00
Huy PhamandGitHub 62706658ea feat: add SeaweedFS template (#630)
* feat: add SeaweedFS template

* chore: add specific seaweedfs version
2026-02-15 19:38:35 -06:00
CopilotGitHubcopilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>Siumauricio
911ed4beec Fix Obsidian LiveSync template links pointing to CouchDB instead of plugin (#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>
2026-02-15 19:32:35 -06:00
e00f7c0c5e feat: Add Pulse monitoring template (#617)
* 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>
2026-02-15 19:30:14 -06:00
131ae0073e feat(blueprint): strapi template (#616)
* 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>
2026-02-15 19:28:00 -06:00
+14 42df67fcbb Refactor wg-easy service configuration to work with latest wg-easy v15 (#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>
2026-02-15 01:33:20 -06:00
9292145136 fix(habitica): add user to mongodb replicaset to enable Dokploy DB backups (#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>
2026-02-15 01:27:27 -06:00
Ye LiuandGitHub c2b233774f Fix realtime service name resolution (#563)
Expose the CONTAINER_PREFIX environment variable to kong service, then utilize it to format the URL of realtime service.
2026-02-15 01:23:29 -06:00
+35 c818352721 New version (#708)
* 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

* Updating copilot instructions.md and AGENTS.md (#452)

* docs: add copilot instructions for project development

Added comprehensive documentation file (.github/copilot-instructions.md) that provides detailed guidance on the Dokploy Open Source Templates project structure, development workflow, and conventions. The document covers the project overview, key files and directories, development workflow for adding/updating templates, local development setup, CI/CD processes, and established conventions and patterns. This documentation will help onboard new contributors and ensure consistent development practices across the project.

* docs(copilot-instructions): enhance project overview and development guide

Updated copilot instructions to reflect expanded app capabilities (200+ apps, TypeScript integration, Fuse.js search) and detailed processes for templates, local dev, and CI/CD for improved clarity and accuracy.

* refactor: remove frontend development instructions from AGENTS.md and update contributing guidelines

- Removed frontend development commands from AGENTS.md to streamline the document.
- Updated CONTRIBUTING.md by removing the recommendation to set `restart: unless-stopped` for services.

---------

Co-authored-by: Mauricio Siu <siumauricio@icloud.com>

* Add trailbase template (#590)

* Add trailbase

* Add comment on mounting local directory

* Update meta.json

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* fix: openpanel and migrate to v2 (#594)

* refactor: update docker-compose.yml to include version and restart policy (#599)

* feat(blueprint): mage ai template (#601)

* feat(blueprint): template for mage-ai

* fix: add healthcheck for mage-ai

* docs: update copilot instructions to emphasize version pinning in docker-compose.yml

Clarified the importance of pinning image versions in docker-compose.yml and explicitly stated to avoid using the `latest` tag to prevent potential issues with template functionality when upstream images change.

* refactor: enhance Docker Compose validation workflow

Updated the GitHub Actions workflow for validating Docker Compose files by streamlining the detection of changed blueprints and improving the validation process. Removed redundant steps and consolidated the validation of docker-compose.yml and template.toml files into a more efficient structure. Added clearer output messages for validation results and ensured that best practices are checked for each blueprint. This refactor aims to improve maintainability and clarity in the CI/CD process.

* fix: update zitadel default instance features (#544)

* Add Reactive Resume template (#603)

* Initial plan

* Add Reactive Resume template with docker-compose, template.toml, and meta.json entry

Co-authored-by: Siumauricio <47042324+Siumauricio@users.noreply.github.com>

* Fix MinIO storage path alignment between template.toml and docker-compose.yml

Co-authored-by: Siumauricio <47042324+Siumauricio@users.noreply.github.com>

* Update docker-compose.yml

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Siumauricio <47042324+Siumauricio@users.noreply.github.com>

* [WIP] Fix mounted prometheus.yml file not working (#605)

* Initial plan

* Fix Prometheus mounted prometheus.yml file by adding volume mount

Co-authored-by: Siumauricio <47042324+Siumauricio@users.noreply.github.com>

* Update blueprints/prometheus/template.toml

Co-authored-by: Copilot <175728472+Copilot@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>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* docs: update copilot instructions to enforce open source requirement

Added a clear requirement stating that all services must be open source and only applications with open-source licenses (e.g., MIT, Apache, GPL, AGPL) are allowed. This update aims to ensure compliance and maintain the integrity of the project.

* Fix Cap.so template MinIO deployment failure (#604)

* Initial plan

* Fix Cap.so MinIO image to use official quay.io image

Co-authored-by: Siumauricio <47042324+Siumauricio@users.noreply.github.com>

* Fix MinIO healthcheck to use curl instead of mc

Co-authored-by: Siumauricio <47042324+Siumauricio@users.noreply.github.com>

* Update .gitignore

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Siumauricio <47042324+Siumauricio@users.noreply.github.com>

* Fix Discourse template manifest error - update to bitnamilegacy/discourse:3.5.0 (#606)

* Initial plan

* Fix Discourse template by updating to bitnamilegacy/discourse:3.5.0

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>

* Remove pull request trigger from deploy-preview workflow

* Enhance copilot instructions by adding verification steps for Docker images and clarifying URL variable usage. Emphasize the importance of verifying image existence before committing to prevent deployment failures.

* Add Easy!Appointments template (#608)

* Initial plan

* Add Easyappointments template with docker-compose, template.toml, and meta.json entry

Co-authored-by: Siumauricio <47042324+Siumauricio@users.noreply.github.com>

* Update blueprints/easyappointments/template.toml

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update template.toml

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Siumauricio <47042324+Siumauricio@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Add Dolibarr ERP & CRM template (#610)

* Initial plan

* Add Dolibarr ERP & CRM template

Co-authored-by: Siumauricio <47042324+Siumauricio@users.noreply.github.com>

* Update template.toml

* Update blueprints/dolibarr/docker-compose.yml

Co-authored-by: Copilot <175728472+Copilot@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>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* feat: add Syncthing Template (#636)

* Adiciona template do Syncthing com arquivos de configuração e ícone

* Remove versão do Docker Compose do template do Syncthing

* Update Umami to version v2.20.2 (#641)

* Feat : Add InstantDB template (#224) (#530)

* feat: add InstantDB template

* added the server service also

* removed the external network

* Update docker-compose.yml

* Update blueprints/instantdb/docker-compose.yml

* Update blueprints/instantdb/docker-compose.yml

* Update docker-compose.yml

* Update blueprints/instantdb/template.toml

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>

* [New Template] Added Lavalink template for dokploy (#535)

* Add initial Lavalink configuration template

* Added lavalink.svg logo

* Create docker-compose.yml for Lavalink setup

Add Docker Compose configuration for Lavalink service.

* Modify healthcheck interval in docker-compose.yml

Increased healthcheck interval from 10s to 100s.

* Add Lavalink metadata to meta.json

Added metadata for Lavalink audio sending node.

* Update server_port variable to use ${port}

* Change server port variable to randomPort

* Change port variable to randomPort in template.toml

* Change port variable in template.toml

* Update server port in template.toml

* Fix formatting in template.toml for server config

* style: Reformat lavalink entry in meta.json.

* Update docker-compose.yml

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>

* chore(blueprint): update Appwrite services to v1.8 (#383)

* Update Appwrite version docker images and environment variables

* Add separate domains for functions and sites, update environment variables, replace insecure default passwords

* Update Appwrite version from 1.6.1 to 1.7.4 in `meta.json`

* Fix envs and update domains

* Add missing volume mounts for sites

* Fix config file syntax

* Update runtimes network configuration in template.toml

* Update Appwrite to 1.8

* Update appwrite image version to 1.8.0

* Add logging configuration to docker-compose

* 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>

* Remove `container_name` from all containers

* Remove expliced networks

* Update blueprints/appwrite/docker-compose.yml

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update password variables to use 32-character length

* Update Appwrite description and tags in meta.json

* Fix JSON formatting in meta.json by adding missing closing bracket

* Fix formatting in meta.json by removing trailing spaces in tags array

* Add missing SMS and Backblaze storage configuration options in template.toml

* Update docker-compose.yml

---------

Co-authored-by: Pascal Oberbeck <pascal.oberbeck@paperlesswork.de>
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>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Mauricio Siu <siumauricio@icloud.com>

* feat: emqx template (MQTT Broker) (#556)

* feat: template for emqx

* chore: process meta

* fix: use websocket on port 443 instead of 8084

* docs: improve comments for emqx template

* fix: use emqx service name

* fix: use dummy domain instead of traefik

* fix: explicitly list dokplok-network

* fix(emqx): restart unless stopped

* fix(emqx): add healthcheck

* Dokploy Deployment for Mautic 5 (#564)

* first draft

* second

* try 3

* 4

* Update docker-compose.yml

* Update template.toml

* Enhance healthchecks and service dependencies in Docker Compose

Updated healthcheck configurations for Mautic and MySQL services to improve service reliability. Added conditions to ensure services wait for dependencies to be healthy before starting.

* Update Mautic docker-compose with health checks and roles

* fix: searxng template (#651)

* fix: use major version for openpanel (#680)

* Feat/minepanel template (#657)

* feat: add Minepanel template

* fix: pin images to v1.7.1 and use http for URLs

* fix: remove explicit ports, Dokploy handles proxying

* chore: process and sort meta.json

* fix: consolidate domain variables to main_domain

* fix: add version field to docker-compose.yml

* Add Komari Monitor template with Docker Compose, icon, and metadata (#XXX) (#623)

* Introduce Komari Monitor, a self-hosted server monitoring tool, with its corresponding Docker Compose configuration, icon, and metadata entry.

* Add template.toml for configuration and environment variables.

* Include necessary links for GitHub and documentation.

* Add Misaka Danmu Server template with Docker Compose, icon, and metadata (#624)

* Introduce Misaka Danmu Server, a self-hosted danmaku server for live streaming, with its corresponding Docker Compose configuration, icon, and metadata entry.

* Add template.toml for configuration and environment variables.

* Include necessary links for GitHub and documentation.

* fix: pyrodactyl no longer uses main tag for it's latest release (#626)

* fix: pyrodactyl no longer uses main tag for it's latest release

* Remove custom network settings from docker-compose

Removed custom network configuration from docker-compose.

* Update MariaDB and Pyrodactyl images in Docker Compose

* Add Jenkins blueprint template configuration (#634)

- Created a new TOML configuration file for Jenkins blueprint.
- Defined main domain variable and service configuration for Jenkins.
- Set serviceName to "jenkins" with port 8080 and host as the main domain.

* Update Autobase to version 2.5 (#647)

* Update Autobase to version 2.5

Bump the autobase-console Docker image from version 2.2.0 to 2.5.2 in docker-compose.yml to use the latest features and fixes.

* Update docker-compose.yml

* Update docker-compose.yml

* Update meta.json

* Update Autobase description in meta.json

Revised the Autobase package description to clarify it as a self-hosted DBaaS alternative to cloud-managed databases.

* Add Cloudreve template (#649)

Self-hosted file management and sharing system with multi-cloud storage support.
Includes PostgreSQL and Redis for database and caching.

* Update to Umami 3.0.3 (#668)

* Update Umami version from v2.20.2 to v3.0.3

* Update Umami Docker image to version 3.0.3

* fix: tailscale exitnode authkey env (#669)

* Add qbitwebui (#675)

* Add qBittorrent Web UI template

* Fix healthcheck bug

* Create INSTRUCTIONS.md

* Rename INSTRUCTIONS.md to instructions.md

* feat: add Moltbot template (#683)

* 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: add Openclaw template (#694)

* 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>

* fix: cloudflared documentation links & env variables (#699)

* feat(blueprint): Cloudflare DDNS (#689)

* feat: added Cloudflare DDNS template

* fix: make CLOUDFLARE_API_TOKEN and DOMAINS mandatory env

---------

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>
Co-authored-by: Jainil Prajapati <86187588+jaainil@users.noreply.github.com>
Co-authored-by: Ye Liu <yeliu84@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Carl-Gerhard Lindesvärd <1987198+lindesvard@users.noreply.github.com>
Co-authored-by: Huy Pham <quochuy.dev@gmail.com>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Louan Fontenele <louanbastos61@gmail.com>
Co-authored-by: Alexey Fedorov <fedorov2505@yandex.com>
Co-authored-by: 0zul <26915998+0zul@users.noreply.github.com>
Co-authored-by: Pascal Oberbeck <35005267+poberbeck@users.noreply.github.com>
Co-authored-by: Pascal Oberbeck <pascal.oberbeck@paperlesswork.de>
Co-authored-by: Christus Vincent <chrisspeakseh@gmail.com>
Co-authored-by: Huba Tuba <57007485+floxay@users.noreply.github.com>
Co-authored-by: Pablo Moraga Sandoval <72164630+Ketbome@users.noreply.github.com>
Co-authored-by: Firefly <77047823+Yuri-NagaSaki@users.noreply.github.com>
Co-authored-by: Naterfute <106989409+naterfute@users.noreply.github.com>
Co-authored-by: Vitaliy Kukharik <37010174+vitabaks@users.noreply.github.com>
Co-authored-by: aurorarissime <github.delta813@passfwd.com>
Co-authored-by: фырат ёздэн <31664778+fir4tozden@users.noreply.github.com>
Co-authored-by: JoshuaRileyDev <59296334+JoshuaRileyDev@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: vabs <njoy.today@gmail.com>
2026-02-12 10:13:54 -06:00
Khiet Tam NguyenandGitHub 88d26c8353 feat(blueprint): Cloudflare DDNS (#689)
* feat: added Cloudflare DDNS template

* fix: make CLOUDFLARE_API_TOKEN and DOMAINS mandatory env
2026-02-10 16:15:24 -06:00
Khiet Tam NguyenandGitHub c9e2a669c4 fix: cloudflared documentation links & env variables (#699) 2026-02-10 16:14:46 -06:00
853b643802 feat: add Openclaw template (#694)
* 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>
2026-02-10 16:12:22 -06:00
+34 9d17e6bf8a New Templates (#690)
* 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

* Updating copilot instructions.md and AGENTS.md (#452)

* docs: add copilot instructions for project development

Added comprehensive documentation file (.github/copilot-instructions.md) that provides detailed guidance on the Dokploy Open Source Templates project structure, development workflow, and conventions. The document covers the project overview, key files and directories, development workflow for adding/updating templates, local development setup, CI/CD processes, and established conventions and patterns. This documentation will help onboard new contributors and ensure consistent development practices across the project.

* docs(copilot-instructions): enhance project overview and development guide

Updated copilot instructions to reflect expanded app capabilities (200+ apps, TypeScript integration, Fuse.js search) and detailed processes for templates, local dev, and CI/CD for improved clarity and accuracy.

* refactor: remove frontend development instructions from AGENTS.md and update contributing guidelines

- Removed frontend development commands from AGENTS.md to streamline the document.
- Updated CONTRIBUTING.md by removing the recommendation to set `restart: unless-stopped` for services.

---------

Co-authored-by: Mauricio Siu <siumauricio@icloud.com>

* Add trailbase template (#590)

* Add trailbase

* Add comment on mounting local directory

* Update meta.json

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* fix: openpanel and migrate to v2 (#594)

* refactor: update docker-compose.yml to include version and restart policy (#599)

* feat(blueprint): mage ai template (#601)

* feat(blueprint): template for mage-ai

* fix: add healthcheck for mage-ai

* docs: update copilot instructions to emphasize version pinning in docker-compose.yml

Clarified the importance of pinning image versions in docker-compose.yml and explicitly stated to avoid using the `latest` tag to prevent potential issues with template functionality when upstream images change.

* refactor: enhance Docker Compose validation workflow

Updated the GitHub Actions workflow for validating Docker Compose files by streamlining the detection of changed blueprints and improving the validation process. Removed redundant steps and consolidated the validation of docker-compose.yml and template.toml files into a more efficient structure. Added clearer output messages for validation results and ensured that best practices are checked for each blueprint. This refactor aims to improve maintainability and clarity in the CI/CD process.

* fix: update zitadel default instance features (#544)

* Add Reactive Resume template (#603)

* Initial plan

* Add Reactive Resume template with docker-compose, template.toml, and meta.json entry

Co-authored-by: Siumauricio <47042324+Siumauricio@users.noreply.github.com>

* Fix MinIO storage path alignment between template.toml and docker-compose.yml

Co-authored-by: Siumauricio <47042324+Siumauricio@users.noreply.github.com>

* Update docker-compose.yml

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Siumauricio <47042324+Siumauricio@users.noreply.github.com>

* [WIP] Fix mounted prometheus.yml file not working (#605)

* Initial plan

* Fix Prometheus mounted prometheus.yml file by adding volume mount

Co-authored-by: Siumauricio <47042324+Siumauricio@users.noreply.github.com>

* Update blueprints/prometheus/template.toml

Co-authored-by: Copilot <175728472+Copilot@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>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* docs: update copilot instructions to enforce open source requirement

Added a clear requirement stating that all services must be open source and only applications with open-source licenses (e.g., MIT, Apache, GPL, AGPL) are allowed. This update aims to ensure compliance and maintain the integrity of the project.

* Fix Cap.so template MinIO deployment failure (#604)

* Initial plan

* Fix Cap.so MinIO image to use official quay.io image

Co-authored-by: Siumauricio <47042324+Siumauricio@users.noreply.github.com>

* Fix MinIO healthcheck to use curl instead of mc

Co-authored-by: Siumauricio <47042324+Siumauricio@users.noreply.github.com>

* Update .gitignore

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Siumauricio <47042324+Siumauricio@users.noreply.github.com>

* Fix Discourse template manifest error - update to bitnamilegacy/discourse:3.5.0 (#606)

* Initial plan

* Fix Discourse template by updating to bitnamilegacy/discourse:3.5.0

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>

* Remove pull request trigger from deploy-preview workflow

* Enhance copilot instructions by adding verification steps for Docker images and clarifying URL variable usage. Emphasize the importance of verifying image existence before committing to prevent deployment failures.

* Add Easy!Appointments template (#608)

* Initial plan

* Add Easyappointments template with docker-compose, template.toml, and meta.json entry

Co-authored-by: Siumauricio <47042324+Siumauricio@users.noreply.github.com>

* Update blueprints/easyappointments/template.toml

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update template.toml

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Siumauricio <47042324+Siumauricio@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Add Dolibarr ERP & CRM template (#610)

* Initial plan

* Add Dolibarr ERP & CRM template

Co-authored-by: Siumauricio <47042324+Siumauricio@users.noreply.github.com>

* Update template.toml

* Update blueprints/dolibarr/docker-compose.yml

Co-authored-by: Copilot <175728472+Copilot@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>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* feat: add Syncthing Template (#636)

* Adiciona template do Syncthing com arquivos de configuração e ícone

* Remove versão do Docker Compose do template do Syncthing

* Update Umami to version v2.20.2 (#641)

* Feat : Add InstantDB template (#224) (#530)

* feat: add InstantDB template

* added the server service also

* removed the external network

* Update docker-compose.yml

* Update blueprints/instantdb/docker-compose.yml

* Update blueprints/instantdb/docker-compose.yml

* Update docker-compose.yml

* Update blueprints/instantdb/template.toml

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>

* [New Template] Added Lavalink template for dokploy (#535)

* Add initial Lavalink configuration template

* Added lavalink.svg logo

* Create docker-compose.yml for Lavalink setup

Add Docker Compose configuration for Lavalink service.

* Modify healthcheck interval in docker-compose.yml

Increased healthcheck interval from 10s to 100s.

* Add Lavalink metadata to meta.json

Added metadata for Lavalink audio sending node.

* Update server_port variable to use ${port}

* Change server port variable to randomPort

* Change port variable to randomPort in template.toml

* Change port variable in template.toml

* Update server port in template.toml

* Fix formatting in template.toml for server config

* style: Reformat lavalink entry in meta.json.

* Update docker-compose.yml

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>

* chore(blueprint): update Appwrite services to v1.8 (#383)

* Update Appwrite version docker images and environment variables

* Add separate domains for functions and sites, update environment variables, replace insecure default passwords

* Update Appwrite version from 1.6.1 to 1.7.4 in `meta.json`

* Fix envs and update domains

* Add missing volume mounts for sites

* Fix config file syntax

* Update runtimes network configuration in template.toml

* Update Appwrite to 1.8

* Update appwrite image version to 1.8.0

* Add logging configuration to docker-compose

* 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>

* Remove `container_name` from all containers

* Remove expliced networks

* Update blueprints/appwrite/docker-compose.yml

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update password variables to use 32-character length

* Update Appwrite description and tags in meta.json

* Fix JSON formatting in meta.json by adding missing closing bracket

* Fix formatting in meta.json by removing trailing spaces in tags array

* Add missing SMS and Backblaze storage configuration options in template.toml

* Update docker-compose.yml

---------

Co-authored-by: Pascal Oberbeck <pascal.oberbeck@paperlesswork.de>
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>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Mauricio Siu <siumauricio@icloud.com>

* feat: emqx template (MQTT Broker) (#556)

* feat: template for emqx

* chore: process meta

* fix: use websocket on port 443 instead of 8084

* docs: improve comments for emqx template

* fix: use emqx service name

* fix: use dummy domain instead of traefik

* fix: explicitly list dokplok-network

* fix(emqx): restart unless stopped

* fix(emqx): add healthcheck

* Dokploy Deployment for Mautic 5 (#564)

* first draft

* second

* try 3

* 4

* Update docker-compose.yml

* Update template.toml

* Enhance healthchecks and service dependencies in Docker Compose

Updated healthcheck configurations for Mautic and MySQL services to improve service reliability. Added conditions to ensure services wait for dependencies to be healthy before starting.

* Update Mautic docker-compose with health checks and roles

* fix: searxng template (#651)

* fix: use major version for openpanel (#680)

* Feat/minepanel template (#657)

* feat: add Minepanel template

* fix: pin images to v1.7.1 and use http for URLs

* fix: remove explicit ports, Dokploy handles proxying

* chore: process and sort meta.json

* fix: consolidate domain variables to main_domain

* fix: add version field to docker-compose.yml

* Add Komari Monitor template with Docker Compose, icon, and metadata (#XXX) (#623)

* Introduce Komari Monitor, a self-hosted server monitoring tool, with its corresponding Docker Compose configuration, icon, and metadata entry.

* Add template.toml for configuration and environment variables.

* Include necessary links for GitHub and documentation.

* Add Misaka Danmu Server template with Docker Compose, icon, and metadata (#624)

* Introduce Misaka Danmu Server, a self-hosted danmaku server for live streaming, with its corresponding Docker Compose configuration, icon, and metadata entry.

* Add template.toml for configuration and environment variables.

* Include necessary links for GitHub and documentation.

* fix: pyrodactyl no longer uses main tag for it's latest release (#626)

* fix: pyrodactyl no longer uses main tag for it's latest release

* Remove custom network settings from docker-compose

Removed custom network configuration from docker-compose.

* Update MariaDB and Pyrodactyl images in Docker Compose

* Add Jenkins blueprint template configuration (#634)

- Created a new TOML configuration file for Jenkins blueprint.
- Defined main domain variable and service configuration for Jenkins.
- Set serviceName to "jenkins" with port 8080 and host as the main domain.

* Update Autobase to version 2.5 (#647)

* Update Autobase to version 2.5

Bump the autobase-console Docker image from version 2.2.0 to 2.5.2 in docker-compose.yml to use the latest features and fixes.

* Update docker-compose.yml

* Update docker-compose.yml

* Update meta.json

* Update Autobase description in meta.json

Revised the Autobase package description to clarify it as a self-hosted DBaaS alternative to cloud-managed databases.

* Add Cloudreve template (#649)

Self-hosted file management and sharing system with multi-cloud storage support.
Includes PostgreSQL and Redis for database and caching.

* Update to Umami 3.0.3 (#668)

* Update Umami version from v2.20.2 to v3.0.3

* Update Umami Docker image to version 3.0.3

* fix: tailscale exitnode authkey env (#669)

* Add qbitwebui (#675)

* Add qBittorrent Web UI template

* Fix healthcheck bug

* Create INSTRUCTIONS.md

* Rename INSTRUCTIONS.md to instructions.md

* feat: add Moltbot template (#683)

* 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>

---------

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>
Co-authored-by: Jainil Prajapati <86187588+jaainil@users.noreply.github.com>
Co-authored-by: Ye Liu <yeliu84@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Carl-Gerhard Lindesvärd <1987198+lindesvard@users.noreply.github.com>
Co-authored-by: Huy Pham <quochuy.dev@gmail.com>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Louan Fontenele <louanbastos61@gmail.com>
Co-authored-by: Alexey Fedorov <fedorov2505@yandex.com>
Co-authored-by: 0zul <26915998+0zul@users.noreply.github.com>
Co-authored-by: Pascal Oberbeck <35005267+poberbeck@users.noreply.github.com>
Co-authored-by: Pascal Oberbeck <pascal.oberbeck@paperlesswork.de>
Co-authored-by: Christus Vincent <chrisspeakseh@gmail.com>
Co-authored-by: Huba Tuba <57007485+floxay@users.noreply.github.com>
Co-authored-by: Pablo Moraga Sandoval <72164630+Ketbome@users.noreply.github.com>
Co-authored-by: Firefly <77047823+Yuri-NagaSaki@users.noreply.github.com>
Co-authored-by: Naterfute <106989409+naterfute@users.noreply.github.com>
Co-authored-by: Vitaliy Kukharik <37010174+vitabaks@users.noreply.github.com>
Co-authored-by: aurorarissime <github.delta813@passfwd.com>
Co-authored-by: фырат ёздэн <31664778+fir4tozden@users.noreply.github.com>
Co-authored-by: JoshuaRileyDev <59296334+JoshuaRileyDev@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
2026-01-29 20:14:06 -06:00
Mauricio SiuandGitHub 2690ea1e1b Merge branch 'main' into canary 2026-01-29 19:29:27 -06:00
6104321d56 feat: add Moltbot template (#683)
* 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>
2026-01-29 18:57:29 -06:00
Mauricio SiuandGitHub e099095c4c Update instructions.md 2026-01-29 18:43:05 -06:00
Mauricio Siu de3129be54 Remove instructions.md file as it contained no useful content. 2026-01-29 18:41:18 -06:00
Mauricio SiuandGitHub 0105994ef4 Create instructions.md 2026-01-29 18:40:54 -06:00
Mauricio SiuandGitHub 7c3e09101f Create instructions.md 2026-01-29 18:36:56 -06:00
Mauricio SiuandGitHub 1d3fde31f0 Rename INSTRUCTIONS.md to instructions.md 2026-01-29 18:34:53 -06:00
Mauricio SiuandGitHub 64949ea5fa Create INSTRUCTIONS.md 2026-01-29 18:33:26 -06:00
+32 b519c78d13 New Templates & Updates (#685)
* 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

* Updating copilot instructions.md and AGENTS.md (#452)

* docs: add copilot instructions for project development

Added comprehensive documentation file (.github/copilot-instructions.md) that provides detailed guidance on the Dokploy Open Source Templates project structure, development workflow, and conventions. The document covers the project overview, key files and directories, development workflow for adding/updating templates, local development setup, CI/CD processes, and established conventions and patterns. This documentation will help onboard new contributors and ensure consistent development practices across the project.

* docs(copilot-instructions): enhance project overview and development guide

Updated copilot instructions to reflect expanded app capabilities (200+ apps, TypeScript integration, Fuse.js search) and detailed processes for templates, local dev, and CI/CD for improved clarity and accuracy.

* refactor: remove frontend development instructions from AGENTS.md and update contributing guidelines

- Removed frontend development commands from AGENTS.md to streamline the document.
- Updated CONTRIBUTING.md by removing the recommendation to set `restart: unless-stopped` for services.

---------

Co-authored-by: Mauricio Siu <siumauricio@icloud.com>

* Add trailbase template (#590)

* Add trailbase

* Add comment on mounting local directory

* Update meta.json

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* fix: openpanel and migrate to v2 (#594)

* refactor: update docker-compose.yml to include version and restart policy (#599)

* feat(blueprint): mage ai template (#601)

* feat(blueprint): template for mage-ai

* fix: add healthcheck for mage-ai

* docs: update copilot instructions to emphasize version pinning in docker-compose.yml

Clarified the importance of pinning image versions in docker-compose.yml and explicitly stated to avoid using the `latest` tag to prevent potential issues with template functionality when upstream images change.

* refactor: enhance Docker Compose validation workflow

Updated the GitHub Actions workflow for validating Docker Compose files by streamlining the detection of changed blueprints and improving the validation process. Removed redundant steps and consolidated the validation of docker-compose.yml and template.toml files into a more efficient structure. Added clearer output messages for validation results and ensured that best practices are checked for each blueprint. This refactor aims to improve maintainability and clarity in the CI/CD process.

* fix: update zitadel default instance features (#544)

* Add Reactive Resume template (#603)

* Initial plan

* Add Reactive Resume template with docker-compose, template.toml, and meta.json entry

Co-authored-by: Siumauricio <47042324+Siumauricio@users.noreply.github.com>

* Fix MinIO storage path alignment between template.toml and docker-compose.yml

Co-authored-by: Siumauricio <47042324+Siumauricio@users.noreply.github.com>

* Update docker-compose.yml

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Siumauricio <47042324+Siumauricio@users.noreply.github.com>

* [WIP] Fix mounted prometheus.yml file not working (#605)

* Initial plan

* Fix Prometheus mounted prometheus.yml file by adding volume mount

Co-authored-by: Siumauricio <47042324+Siumauricio@users.noreply.github.com>

* Update blueprints/prometheus/template.toml

Co-authored-by: Copilot <175728472+Copilot@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>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* docs: update copilot instructions to enforce open source requirement

Added a clear requirement stating that all services must be open source and only applications with open-source licenses (e.g., MIT, Apache, GPL, AGPL) are allowed. This update aims to ensure compliance and maintain the integrity of the project.

* Fix Cap.so template MinIO deployment failure (#604)

* Initial plan

* Fix Cap.so MinIO image to use official quay.io image

Co-authored-by: Siumauricio <47042324+Siumauricio@users.noreply.github.com>

* Fix MinIO healthcheck to use curl instead of mc

Co-authored-by: Siumauricio <47042324+Siumauricio@users.noreply.github.com>

* Update .gitignore

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Siumauricio <47042324+Siumauricio@users.noreply.github.com>

* Fix Discourse template manifest error - update to bitnamilegacy/discourse:3.5.0 (#606)

* Initial plan

* Fix Discourse template by updating to bitnamilegacy/discourse:3.5.0

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>

* Remove pull request trigger from deploy-preview workflow

* Enhance copilot instructions by adding verification steps for Docker images and clarifying URL variable usage. Emphasize the importance of verifying image existence before committing to prevent deployment failures.

* Add Easy!Appointments template (#608)

* Initial plan

* Add Easyappointments template with docker-compose, template.toml, and meta.json entry

Co-authored-by: Siumauricio <47042324+Siumauricio@users.noreply.github.com>

* Update blueprints/easyappointments/template.toml

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update template.toml

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Siumauricio <47042324+Siumauricio@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Add Dolibarr ERP & CRM template (#610)

* Initial plan

* Add Dolibarr ERP & CRM template

Co-authored-by: Siumauricio <47042324+Siumauricio@users.noreply.github.com>

* Update template.toml

* Update blueprints/dolibarr/docker-compose.yml

Co-authored-by: Copilot <175728472+Copilot@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>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* feat: add Syncthing Template (#636)

* Adiciona template do Syncthing com arquivos de configuração e ícone

* Remove versão do Docker Compose do template do Syncthing

* Update Umami to version v2.20.2 (#641)

* Feat : Add InstantDB template (#224) (#530)

* feat: add InstantDB template

* added the server service also

* removed the external network

* Update docker-compose.yml

* Update blueprints/instantdb/docker-compose.yml

* Update blueprints/instantdb/docker-compose.yml

* Update docker-compose.yml

* Update blueprints/instantdb/template.toml

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>

* [New Template] Added Lavalink template for dokploy (#535)

* Add initial Lavalink configuration template

* Added lavalink.svg logo

* Create docker-compose.yml for Lavalink setup

Add Docker Compose configuration for Lavalink service.

* Modify healthcheck interval in docker-compose.yml

Increased healthcheck interval from 10s to 100s.

* Add Lavalink metadata to meta.json

Added metadata for Lavalink audio sending node.

* Update server_port variable to use ${port}

* Change server port variable to randomPort

* Change port variable to randomPort in template.toml

* Change port variable in template.toml

* Update server port in template.toml

* Fix formatting in template.toml for server config

* style: Reformat lavalink entry in meta.json.

* Update docker-compose.yml

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>

* chore(blueprint): update Appwrite services to v1.8 (#383)

* Update Appwrite version docker images and environment variables

* Add separate domains for functions and sites, update environment variables, replace insecure default passwords

* Update Appwrite version from 1.6.1 to 1.7.4 in `meta.json`

* Fix envs and update domains

* Add missing volume mounts for sites

* Fix config file syntax

* Update runtimes network configuration in template.toml

* Update Appwrite to 1.8

* Update appwrite image version to 1.8.0

* Add logging configuration to docker-compose

* 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>

* Remove `container_name` from all containers

* Remove expliced networks

* Update blueprints/appwrite/docker-compose.yml

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update password variables to use 32-character length

* Update Appwrite description and tags in meta.json

* Fix JSON formatting in meta.json by adding missing closing bracket

* Fix formatting in meta.json by removing trailing spaces in tags array

* Add missing SMS and Backblaze storage configuration options in template.toml

* Update docker-compose.yml

---------

Co-authored-by: Pascal Oberbeck <pascal.oberbeck@paperlesswork.de>
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>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Mauricio Siu <siumauricio@icloud.com>

* feat: emqx template (MQTT Broker) (#556)

* feat: template for emqx

* chore: process meta

* fix: use websocket on port 443 instead of 8084

* docs: improve comments for emqx template

* fix: use emqx service name

* fix: use dummy domain instead of traefik

* fix: explicitly list dokplok-network

* fix(emqx): restart unless stopped

* fix(emqx): add healthcheck

* Dokploy Deployment for Mautic 5 (#564)

* first draft

* second

* try 3

* 4

* Update docker-compose.yml

* Update template.toml

* Enhance healthchecks and service dependencies in Docker Compose

Updated healthcheck configurations for Mautic and MySQL services to improve service reliability. Added conditions to ensure services wait for dependencies to be healthy before starting.

* Update Mautic docker-compose with health checks and roles

* fix: searxng template (#651)

* fix: use major version for openpanel (#680)

* Feat/minepanel template (#657)

* feat: add Minepanel template

* fix: pin images to v1.7.1 and use http for URLs

* fix: remove explicit ports, Dokploy handles proxying

* chore: process and sort meta.json

* fix: consolidate domain variables to main_domain

* fix: add version field to docker-compose.yml

* Add Komari Monitor template with Docker Compose, icon, and metadata (#XXX) (#623)

* Introduce Komari Monitor, a self-hosted server monitoring tool, with its corresponding Docker Compose configuration, icon, and metadata entry.

* Add template.toml for configuration and environment variables.

* Include necessary links for GitHub and documentation.

* Add Misaka Danmu Server template with Docker Compose, icon, and metadata (#624)

* Introduce Misaka Danmu Server, a self-hosted danmaku server for live streaming, with its corresponding Docker Compose configuration, icon, and metadata entry.

* Add template.toml for configuration and environment variables.

* Include necessary links for GitHub and documentation.

* fix: pyrodactyl no longer uses main tag for it's latest release (#626)

* fix: pyrodactyl no longer uses main tag for it's latest release

* Remove custom network settings from docker-compose

Removed custom network configuration from docker-compose.

* Update MariaDB and Pyrodactyl images in Docker Compose

* Add Jenkins blueprint template configuration (#634)

- Created a new TOML configuration file for Jenkins blueprint.
- Defined main domain variable and service configuration for Jenkins.
- Set serviceName to "jenkins" with port 8080 and host as the main domain.

* Update Autobase to version 2.5 (#647)

* Update Autobase to version 2.5

Bump the autobase-console Docker image from version 2.2.0 to 2.5.2 in docker-compose.yml to use the latest features and fixes.

* Update docker-compose.yml

* Update docker-compose.yml

* Update meta.json

* Update Autobase description in meta.json

Revised the Autobase package description to clarify it as a self-hosted DBaaS alternative to cloud-managed databases.

* Add Cloudreve template (#649)

Self-hosted file management and sharing system with multi-cloud storage support.
Includes PostgreSQL and Redis for database and caching.

* Update to Umami 3.0.3 (#668)

* Update Umami version from v2.20.2 to v3.0.3

* Update Umami Docker image to version 3.0.3

* fix: tailscale exitnode authkey env (#669)

* Add qbitwebui (#675)

* Add qBittorrent Web UI template

* Fix healthcheck bug

---------

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>
Co-authored-by: Jainil Prajapati <86187588+jaainil@users.noreply.github.com>
Co-authored-by: Ye Liu <yeliu84@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Carl-Gerhard Lindesvärd <1987198+lindesvard@users.noreply.github.com>
Co-authored-by: Huy Pham <quochuy.dev@gmail.com>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Louan Fontenele <louanbastos61@gmail.com>
Co-authored-by: Alexey Fedorov <fedorov2505@yandex.com>
Co-authored-by: 0zul <26915998+0zul@users.noreply.github.com>
Co-authored-by: Pascal Oberbeck <35005267+poberbeck@users.noreply.github.com>
Co-authored-by: Pascal Oberbeck <pascal.oberbeck@paperlesswork.de>
Co-authored-by: Christus Vincent <chrisspeakseh@gmail.com>
Co-authored-by: Huba Tuba <57007485+floxay@users.noreply.github.com>
Co-authored-by: Pablo Moraga Sandoval <72164630+Ketbome@users.noreply.github.com>
Co-authored-by: Firefly <77047823+Yuri-NagaSaki@users.noreply.github.com>
Co-authored-by: Naterfute <106989409+naterfute@users.noreply.github.com>
Co-authored-by: Vitaliy Kukharik <37010174+vitabaks@users.noreply.github.com>
Co-authored-by: aurorarissime <github.delta813@passfwd.com>
Co-authored-by: фырат ёздэн <31664778+fir4tozden@users.noreply.github.com>
2026-01-28 01:11:36 -06:00
Mauricio Siu 67bba2a91c Merge branch 'main' into canary 2026-01-28 01:02:54 -06:00
FireflyandGitHub f8952fb79e Add qbitwebui (#675)
* Add qBittorrent Web UI template

* Fix healthcheck bug
2026-01-28 00:54:53 -06:00
фырат ёздэнandGitHub c251041879 fix: tailscale exitnode authkey env (#669) 2026-01-28 00:53:37 -06:00
aurorarissimeandGitHub bba70339f3 Update to Umami 3.0.3 (#668)
* Update Umami version from v2.20.2 to v3.0.3

* Update Umami Docker image to version 3.0.3
2026-01-28 00:53:26 -06:00
FireflyandGitHub ebcaed8eea Add Cloudreve template (#649)
Self-hosted file management and sharing system with multi-cloud storage support.
Includes PostgreSQL and Redis for database and caching.
2026-01-28 00:49:21 -06:00
Vitaliy KukharikandGitHub 3395913afb Update Autobase to version 2.5 (#647)
* Update Autobase to version 2.5

Bump the autobase-console Docker image from version 2.2.0 to 2.5.2 in docker-compose.yml to use the latest features and fixes.

* Update docker-compose.yml

* Update docker-compose.yml

* Update meta.json

* Update Autobase description in meta.json

Revised the Autobase package description to clarify it as a self-hosted DBaaS alternative to cloud-managed databases.
2026-01-28 00:46:57 -06:00
JemgandGitHub 26fcbe302d Add Jenkins blueprint template configuration (#634)
- Created a new TOML configuration file for Jenkins blueprint.
- Defined main domain variable and service configuration for Jenkins.
- Set serviceName to "jenkins" with port 8080 and host as the main domain.
2026-01-28 00:45:19 -06:00
NaterfuteandGitHub 8aa23faa54 fix: pyrodactyl no longer uses main tag for it's latest release (#626)
* fix: pyrodactyl no longer uses main tag for it's latest release

* Remove custom network settings from docker-compose

Removed custom network configuration from docker-compose.

* Update MariaDB and Pyrodactyl images in Docker Compose
2026-01-28 00:42:41 -06:00
FireflyandGitHub 8c87c2d566 Add Misaka Danmu Server template with Docker Compose, icon, and metadata (#624)
* Introduce Misaka Danmu Server, a self-hosted danmaku server for live streaming, with its corresponding Docker Compose configuration, icon, and metadata entry.

* Add template.toml for configuration and environment variables.

* Include necessary links for GitHub and documentation.
2026-01-28 00:40:43 -06:00
FireflyandGitHub bc934d84a5 Add Komari Monitor template with Docker Compose, icon, and metadata (#XXX) (#623)
* Introduce Komari Monitor, a self-hosted server monitoring tool, with its corresponding Docker Compose configuration, icon, and metadata entry.

* Add template.toml for configuration and environment variables.

* Include necessary links for GitHub and documentation.
2026-01-28 00:38:29 -06:00
1c3afa98db feat: ad streamflow (#645)
Co-authored-by: thaarrtt <tonyhart2020@gmail.com>
2026-01-28 00:34:15 -06:00
Pablo Moraga SandovalandGitHub b2e91749d3 Feat/minepanel template (#657)
* feat: add Minepanel template

* fix: pin images to v1.7.1 and use http for URLs

* fix: remove explicit ports, Dokploy handles proxying

* chore: process and sort meta.json

* fix: consolidate domain variables to main_domain

* fix: add version field to docker-compose.yml
2026-01-28 00:30:45 -06:00
Carl-Gerhard LindesvärdandGitHub 51750f2b1b fix: use major version for openpanel (#680) 2026-01-28 00:29:15 -06:00
Huba TubaandGitHub bce7326959 fix: searxng template (#651) 2026-01-28 00:28:22 -06:00
Christus VincentandGitHub 1ead7d06a4 Dokploy Deployment for Mautic 5 (#564)
* first draft

* second

* try 3

* 4

* Update docker-compose.yml

* Update template.toml

* Enhance healthchecks and service dependencies in Docker Compose

Updated healthcheck configurations for Mautic and MySQL services to improve service reliability. Added conditions to ensure services wait for dependencies to be healthy before starting.

* Update Mautic docker-compose with health checks and roles
2026-01-07 13:11:03 -06:00
Khiet Tam NguyenandGitHub 7c2f0d4f8e feat: emqx template (MQTT Broker) (#556)
* feat: template for emqx

* chore: process meta

* fix: use websocket on port 443 instead of 8084

* docs: improve comments for emqx template

* fix: use emqx service name

* fix: use dummy domain instead of traefik

* fix: explicitly list dokplok-network

* fix(emqx): restart unless stopped

* fix(emqx): add healthcheck
2026-01-07 13:02:50 -06:00
+17 7417972335 chore(blueprint): update Appwrite services to v1.8 (#383)
* Update Appwrite version docker images and environment variables

* Add separate domains for functions and sites, update environment variables, replace insecure default passwords

* Update Appwrite version from 1.6.1 to 1.7.4 in `meta.json`

* Fix envs and update domains

* Add missing volume mounts for sites

* Fix config file syntax

* Update runtimes network configuration in template.toml

* Update Appwrite to 1.8

* Update appwrite image version to 1.8.0

* Add logging configuration to docker-compose

* 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>

* Remove `container_name` from all containers

* Remove expliced networks

* Update blueprints/appwrite/docker-compose.yml

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update password variables to use 32-character length

* Update Appwrite description and tags in meta.json

* Fix JSON formatting in meta.json by adding missing closing bracket

* Fix formatting in meta.json by removing trailing spaces in tags array

* Add missing SMS and Backblaze storage configuration options in template.toml

* Update docker-compose.yml

---------

Co-authored-by: Pascal Oberbeck <pascal.oberbeck@paperlesswork.de>
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>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Mauricio Siu <siumauricio@icloud.com>
2026-01-07 13:00:31 -06:00
2199d1d152 [New Template] Added Lavalink template for dokploy (#535)
* Add initial Lavalink configuration template

* Added lavalink.svg logo

* Create docker-compose.yml for Lavalink setup

Add Docker Compose configuration for Lavalink service.

* Modify healthcheck interval in docker-compose.yml

Increased healthcheck interval from 10s to 100s.

* Add Lavalink metadata to meta.json

Added metadata for Lavalink audio sending node.

* Update server_port variable to use ${port}

* Change server port variable to randomPort

* Change port variable to randomPort in template.toml

* Change port variable in template.toml

* Update server port in template.toml

* Fix formatting in template.toml for server config

* style: Reformat lavalink entry in meta.json.

* Update docker-compose.yml

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2026-01-07 12:24:55 -06:00
294421a380 Feat : Add InstantDB template (#224) (#530)
* feat: add InstantDB template

* added the server service also

* removed the external network

* Update docker-compose.yml

* Update blueprints/instantdb/docker-compose.yml

* Update blueprints/instantdb/docker-compose.yml

* Update docker-compose.yml

* Update blueprints/instantdb/template.toml

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2026-01-07 12:20:45 -06:00
kipavyandGitHub ea1174c290 feat: Add scrutiny template (#500)
* Adds scrutiny template

* ran npm run process-meta

* feat(scrutiny): add Proxmox usage instructions

* Refactor port mappings in docker-compose.yml

Updated port mappings to remove quotes in docker-compose.yml.
2026-01-07 12:15:11 -06:00
Alexey FedorovandGitHub b8984b9e4f Update Umami to version v2.20.2 (#641) 2026-01-07 12:06:58 -06:00
Louan FonteneleandGitHub 8b579fbb60 feat: add Syncthing Template (#636)
* Adiciona template do Syncthing com arquivos de configuração e ícone

* Remove versão do Docker Compose do template do Syncthing
2026-01-05 22:49:26 -06:00
CopilotGitHubcopilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>SiumauricioCopilot
b3e62b447d Add Dolibarr ERP & CRM template (#610)
* Initial plan

* Add Dolibarr ERP & CRM template

Co-authored-by: Siumauricio <47042324+Siumauricio@users.noreply.github.com>

* Update template.toml

* Update blueprints/dolibarr/docker-compose.yml

Co-authored-by: Copilot <175728472+Copilot@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>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-19 22:29:05 -06:00
CopilotGitHubcopilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>SiumauricioCopilot
9501d5f974 Add Easy!Appointments template (#608)
* Initial plan

* Add Easyappointments template with docker-compose, template.toml, and meta.json entry

Co-authored-by: Siumauricio <47042324+Siumauricio@users.noreply.github.com>

* Update blueprints/easyappointments/template.toml

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update template.toml

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Siumauricio <47042324+Siumauricio@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-19 18:16:25 -06:00
Mauricio Siu ee0e6fba92 Enhance copilot instructions by adding verification steps for Docker images and clarifying URL variable usage. Emphasize the importance of verifying image existence before committing to prevent deployment failures. 2025-12-19 18:05:58 -06:00
Mauricio Siu 9433dce128 Remove pull request trigger from deploy-preview workflow 2025-12-19 18:00:36 -06:00
CopilotGitHubcopilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>Siumauricio
97159bd1b4 Fix Discourse template manifest error - update to bitnamilegacy/discourse:3.5.0 (#606)
* Initial plan

* Fix Discourse template by updating to bitnamilegacy/discourse:3.5.0

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>
2025-12-19 17:56:22 -06:00
CopilotGitHubcopilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>Siumauricio
7b02385416 Fix Cap.so template MinIO deployment failure (#604)
* Initial plan

* Fix Cap.so MinIO image to use official quay.io image

Co-authored-by: Siumauricio <47042324+Siumauricio@users.noreply.github.com>

* Fix MinIO healthcheck to use curl instead of mc

Co-authored-by: Siumauricio <47042324+Siumauricio@users.noreply.github.com>

* Update .gitignore

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Siumauricio <47042324+Siumauricio@users.noreply.github.com>
2025-12-19 17:54:45 -06:00
Mauricio Siu 211c2aeb60 docs: update copilot instructions to enforce open source requirement
Added a clear requirement stating that all services must be open source and only applications with open-source licenses (e.g., MIT, Apache, GPL, AGPL) are allowed. This update aims to ensure compliance and maintain the integrity of the project.
2025-12-19 17:52:07 -06:00
CopilotGitHubcopilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>SiumauricioCopilot
be3c7f2d1d [WIP] Fix mounted prometheus.yml file not working (#605)
* Initial plan

* Fix Prometheus mounted prometheus.yml file by adding volume mount

Co-authored-by: Siumauricio <47042324+Siumauricio@users.noreply.github.com>

* Update blueprints/prometheus/template.toml

Co-authored-by: Copilot <175728472+Copilot@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>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-19 16:06:36 -06:00
CopilotGitHubcopilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>Siumauricio
f5552b557c Add Reactive Resume template (#603)
* Initial plan

* Add Reactive Resume template with docker-compose, template.toml, and meta.json entry

Co-authored-by: Siumauricio <47042324+Siumauricio@users.noreply.github.com>

* Fix MinIO storage path alignment between template.toml and docker-compose.yml

Co-authored-by: Siumauricio <47042324+Siumauricio@users.noreply.github.com>

* Update docker-compose.yml

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Siumauricio <47042324+Siumauricio@users.noreply.github.com>
2025-12-19 16:03:32 -06:00
Huy PhamandGitHub e4ffe271e0 fix: update zitadel default instance features (#544) 2025-12-19 15:57:48 -06:00
Mauricio Siu dd8ef5b3c8 refactor: enhance Docker Compose validation workflow
Updated the GitHub Actions workflow for validating Docker Compose files by streamlining the detection of changed blueprints and improving the validation process. Removed redundant steps and consolidated the validation of docker-compose.yml and template.toml files into a more efficient structure. Added clearer output messages for validation results and ensured that best practices are checked for each blueprint. This refactor aims to improve maintainability and clarity in the CI/CD process.
2025-12-19 15:54:36 -06:00
Mauricio Siu 4757c59da3 docs: update copilot instructions to emphasize version pinning in docker-compose.yml
Clarified the importance of pinning image versions in docker-compose.yml and explicitly stated to avoid using the `latest` tag to prevent potential issues with template functionality when upstream images change.
2025-12-19 15:45:08 -06:00
Khiet Tam NguyenandGitHub 0438165d43 feat(blueprint): mage ai template (#601)
* feat(blueprint): template for mage-ai

* fix: add healthcheck for mage-ai
2025-12-18 22:39:16 -06:00
JemgandGitHub 7528f73265 refactor: update docker-compose.yml to include version and restart policy (#599) 2025-12-17 23:45:28 -06:00
Carl-Gerhard LindesvärdandGitHub 37dc848e71 fix: openpanel and migrate to v2 (#594) 2025-12-16 21:14:42 -06:00
76049e3628 Add trailbase template (#590)
* Add trailbase

* Add comment on mounting local directory

* Update meta.json

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-16 11:32:11 -06:00
726a8c6bc9 Updating copilot instructions.md and AGENTS.md (#452)
* docs: add copilot instructions for project development

Added comprehensive documentation file (.github/copilot-instructions.md) that provides detailed guidance on the Dokploy Open Source Templates project structure, development workflow, and conventions. The document covers the project overview, key files and directories, development workflow for adding/updating templates, local development setup, CI/CD processes, and established conventions and patterns. This documentation will help onboard new contributors and ensure consistent development practices across the project.

* docs(copilot-instructions): enhance project overview and development guide

Updated copilot instructions to reflect expanded app capabilities (200+ apps, TypeScript integration, Fuse.js search) and detailed processes for templates, local dev, and CI/CD for improved clarity and accuracy.

* refactor: remove frontend development instructions from AGENTS.md and update contributing guidelines

- Removed frontend development commands from AGENTS.md to streamline the document.
- Updated CONTRIBUTING.md by removing the recommendation to set `restart: unless-stopped` for services.

---------

Co-authored-by: Mauricio Siu <siumauricio@icloud.com>
2025-12-15 00:19:57 -06:00
+13 53c2ddb2fa 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>
2025-12-14 23:40:25 -06:00
JemgandGitHub 54eccbe32b 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
2025-12-14 23:30:03 -06:00
b23e3320f0 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>
2025-12-14 23:28:39 -06:00
be933bdc54 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>
2025-12-14 23:27:26 -06:00
32da868c01 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>
2025-12-14 23:23:05 -06:00
efea22e1f0 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>
2025-12-14 23:09:54 -06:00
ScanandGitHub 40aa695a73 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
2025-12-14 23:08:22 -06:00
Khiet Tam NguyenandGitHub 4367e2a42a 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
2025-12-14 22:52:06 -06:00
87ab908a32 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>
2025-12-14 01:18:49 -06:00
a9740da9cb 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>
2025-12-14 01:16:39 -06:00
Mauricio Siu b4efed26a0 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.
2025-12-14 01:15:46 -06:00
Mauricio Siu 0e84b284d8 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.
2025-12-14 01:15:25 -06:00
4c36b7d6ca 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>
2025-12-14 00:54:16 -06:00
Mauricio Siu 7c540d158a 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.
2025-12-14 00:52:59 -06:00
a00b179ddf 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>
2025-12-14 00:42:48 -06:00
ChrisandGitHub 6e1aece2e7 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
2025-12-14 00:40:29 -06:00
eb41d83963 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>
2025-12-14 00:40:02 -06:00
Harikrishnan DhanasekaranandGitHub 385906aa4c feat: Add MediaCMS template (#524) 2025-12-14 00:37:18 -06:00
640abda5d8 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>
2025-12-14 00:31:12 -06:00
Mauricio SiuandGitHub 9e4da9c806 Update section title from 'Suggestions' to 'Requirements' 2025-12-14 00:21:47 -06:00
f3c1060443 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>
2025-12-14 00:13:13 -06:00
c0ff3ca788 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>
2025-12-14 00:01:17 -06:00
Mauricio Siu dcc456d18b 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.
2025-12-14 00:00:54 -06:00
Mauricio Siu b7f7c9ffb8 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.
2025-12-13 23:51:28 -06:00
30ecc96168 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>
2025-12-13 23:48:57 -06:00
Mauricio Siu c59fbf0f36 chore: remove package-lock.json file from the app directory 2025-12-13 23:41:40 -06:00
0aad2a0231 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>
2025-12-13 23:40:48 -06:00
aa48af7856 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>
2025-12-13 23:37:00 -06:00
Mauricio Siu abd316fd6e 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.
2025-12-13 14:38:37 -06:00
Mauricio Siu f78cc8d51f fix: update pull request template to clarify issue closing keywords 2025-12-13 01:45:43 -06:00
Mauricio Siu 7834542c9c feat: add pull request template for improved contribution guidelines 2025-12-13 01:45:06 -06:00
BlinkStrikeandGitHub 5905579eab add rustfs template (#568) 2025-12-07 03:46:38 -06:00
Thiago MadPinandGitHub f569d1379c fix: correct DEFAULT_DOMAIN environment variable reference in docker-compose.yml (#562) 2025-12-03 10:19:27 -06:00
florianheysenandGitHub 3205b672c4 Add Openinary Template (#567)
* feat: add Openinary template

* feat: update Openinary configuration to support ALLOWED_ORIGIN and refactor domain variable
2025-12-03 10:01:30 -06:00
ScanandGitHub 0fd2456a2a Change Enshrouded Server Image #557
changed image to mornedhels/enshrouded-server
2025-11-29 17:30:26 -09:00
Crackvignoule b4ebb8d9c5 changed image from sknnr/enshrouded-dedicated-server to mornedhels/enshrouded-server for autoupdate and easier config 2025-11-29 10:32:45 +01:00
ScanandGitHub daae16de16 Merge pull request #550 from Rabithua/rote
feat: add Rote template
2025-11-28 03:33:25 -09:00
Rabithua 88bff5f2a0 fix: change VITE_API_BASE to http:// for traefik.me compatibility 2025-11-28 19:15:08 +08:00
ScanandGitHub bba48c0a57 feat: add LibreChat template 2025-11-28 00:46:40 -09:00
xSiumauricioandGitHub 7efe2226ff Update template.toml (#555)
* Update template.toml

* Update template.toml

* Update template.toml
2025-11-28 02:07:05 -06:00
Mauricio Siu 8ec4ad1d9c Refactor GitHub workflow: uncomment build preview steps for improved deployment process and clarity. 2025-11-28 02:03:42 -06:00
Mauricio Siu 3ec51b85bf Remove unnecessary blank line in deploy-preview.yml for improved readability. 2025-11-28 02:03:23 -06:00
Mauricio Siu a91730e582 Refactor GitHub workflow: comment out build preview steps for clarity and future modifications. 2025-11-28 01:56:31 -06:00
Mauricio Siu b56d2b6d8c Enhance GitHub workflows: add production deployment configuration and target 'canary' branch for pull requests. 2025-11-28 01:46:41 -06:00
Mauricio Siu c697f54b53 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. 2025-11-28 01:45:08 -06:00
Mauricio Siu e66cad204d Update GitHub workflows to target 'canary' branch for meta validation 2025-11-28 01:25:36 -06:00
Harikrishnan DhanasekaranandGitHub 3fcc9f2b93 Feat : Add Fonoster template -#45 (#509)
* feat: Add Fonoster template - open source Twilio alternative

* fixed the build issue

* fixed the service log issue
2025-11-28 01:09:47 -06:00
Rabithua d58cc15c54 fix: process meta.json to fix formatting and sorting 2025-11-25 20:06:49 +08:00
Rabithua ac07aa2ed8 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
2025-11-25 20:03:46 +08:00
AlexandGitHub 1c16dee5a0 Fix typo in the url (#518) 2025-11-17 01:14:35 -06:00
Sunil Shrestha 46dc5b9be3 docs(librechat): add authentication reference link to docker-compose.yml 2025-11-10 10:38:02 +05:45
Sunil Shrestha 2e1fb3b3a9 fix(librechat): remove predefined persistent volume mounts from template.toml 2025-11-10 10:25:31 +05:45
Sunil Shrestha 1d70294310 fix(librechat): add version under [config] and remove stray [config.mounts] header 2025-11-10 09:19:06 +05:45
David BottiauandGitHub 7debd2d193 feat: add surrealdb template (#505) 2025-11-08 13:25:42 -06:00
18e824c214 Fix(Documenso): Upgrade to v1.12.10 and add automatic signing certificate generation (fixes #1767) (#513)
- Upgraded Documenso image from v1.5.6-rc.2 to v1.12.10
- Added automatic signing certificate generation in entrypoint script
- Certificate generated at /app/certs/cert.p12 on container startup
- Removed root user requirement (runs as user 1001)
- Uses pre-installed OpenSSL from v1.12.10 image
- Added environment variables for certificate configuration
- Resolves pending status issue after both parties sign

Co-authored-by: ajay <ajay@practical-devsecops.com>
2025-11-08 00:45:50 -06:00
Harikrishnan DhanasekaranandGitHub 4403b5fffb Feat:Added the Clickhouse Template -#491 (#501) 2025-11-08 00:38:00 -06:00
kipavyandGitHub dd5d81fc46 feat: Add enshrouded template (#499)
* enshrouded template

* added enshrouded docs and website

* enshrouded no docs/website
2025-11-08 00:36:12 -06:00
Mauricio SiuandGitHub 60796a9084 Update blueprints/librechat/template.toml 2025-11-08 00:24:36 -06:00
Mauricio SiuandGitHub 3e8b431031 Update blueprints/librechat/template.toml 2025-11-08 00:21:23 -06:00
Shadyar BakrandGitHub 24a80d2fdf fix(rybbit): add DOMAIN_NAME env var to resolve Invalid Origin issue (#496)
* Update docker-compose.yml to include DOMAIN_NAME variable

* Add DOMAIN_NAME to template
2025-11-08 00:19:23 -06:00
b6eb95e712 Add Postgresus templates to automate postgres backups (#490)
* add postgresus templates to automate backups

* Simplify docker-compose.yml for postgresus service

Removed unnecessary container name and network configuration.

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-11-08 00:16:35 -06:00
970aabfe3c Add Anubis bot/crawler protector template (#488)
* Add anubis bot/crawler protector template

Add Anubis bot/crawler protector to prevent ai bots to crawl all your website information and protecto from bots scanners

Add anubis.webp logo
Add docker-compose.yml compose
Add template.toml configuration
Upd meta.json with anubis info

* dont know what is this

* Update docker-compose.yml

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-11-08 00:13:37 -06:00
Dennis KhylkouskiandGitHub 065caff7e7 Switch PocketBase template to adrianmusante/pocketbase image (#487)
* Switch PocketBase template to adrianmusante/pocketbase image

* Removed commented optional encryption_key
2025-11-08 00:10:51 -06:00
Muhammad Haad Bin ZahidandGitHub aa0f38d0dd Update Blinkospace image version to 1.6.3 (#484)
On Dockerhub, blinko does not have the latest tag, so I changed it to the latest version, which is 1.6.3 at the time of pr.
2025-11-08 00:05:46 -06:00
8ace1665b7 Add Evershop template (#483)
* Add Evershop template

* Update configuration

* Update docker-compose.yml

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-11-08 00:03:45 -06:00
Wladimir KirianovandGitHub dc6e944424 fix(docker): update Booklore image path to new GHCR repository (#480) 2025-11-08 00:00:19 -06:00
Serkan BektaşandGitHub b05d16fad9 Update Directus image version to 11.12.0 (#443) 2025-11-07 23:48:00 -06:00
Ajsel ŽilićandGitHub 6bb98a9b8d feat: Add plunk template (#494) 2025-11-07 23:43:09 -06:00
2d4a7b6941 Feat : Add template for Valkey (#15) (#508)
* feat: Add Valkey template (#15)

* fixed the build issue

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-11-07 23:40:33 -06:00
72eda8f5d4 Feat : Add BigCapital template -#47 (#511)
* feat: add BigCapital template

* Refactor docker-compose.yml to use ports instead of expose

Removed container names and exposed sections for services. Updated to use ports instead of expose for webapp, server, mysql, mongo, redis, and gotenberg services.

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-11-07 23:37:11 -06:00
Harikrishnan DhanasekaranandGitHub e562010556 feat: Add Grist template (#46) (#510) 2025-11-07 23:30:37 -06:00
186528df56 Feat : Add HashiCorp Vault template (#512)
* feat: add HashiCorp Vault template

* Update blueprints/vault/docker-compose.yml

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-11-07 23:29:04 -06:00
dbc2cee968 Feat : Add Netdata monitoring template -#105 (#515)
* feat: add Netdata monitoring template

* Update blueprints/netdata/docker-compose.yml

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-11-07 23:27:10 -06:00
Sunil Shrestha 47daea92f8 fix(librechat): rename api service to librechat in docker-compose.yml 2025-11-02 00:40:02 +05:45
Sunil Shrestha 758cf1d873 fix: rename templates to template.toml 2025-11-02 00:19:15 +05:45
Sunil Shrestha 1e21b7e785 feat(librechat): add LibreChat blueprint with compose, toml, metadata, links and tags 2025-11-02 00:15:12 +05:45
ebb9e685f9 Feat/mixpost (#457)
* feat(mixpost): add Mixpost blueprint with Docker Compose, template, logo, and metadata

* chore(mixpost): add environment variable placeholders to mixpost service in docker-compose.yml

* chore(meta): add missing newline at end of meta.json

* Update configuration values to use quotes

* Update blueprints/mixpost/template.toml

---------

Co-authored-by: Sunil Shrestha <sunil.shrestha@tekkon.com.np>
Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-10-25 19:09:21 -06:00
YuryandGitHub 11742478d5 Setup defaults according to obsidian-livesync requirements (#445) 2025-10-25 19:04:46 -06:00
313dc9d57e docs: reorganize GitHub directory structure and improve PR template (#413)
* docs: reorganize GitHub directory structure and improve PR template

- Move pull_request_template.md from .github/.github/ to .github/
- Change PR template heading from markdown level 2 to level 1
- Convert README.md reference in PR template to a markdown link

* chore: move pull request template to uppercase directory

Relocated pull_request_template.md from .github/ to .github/PULL_REQUEST_TEMPLATE/
to align with GitHub's recommended directory structure. No content changes.

* added

* chore: remove outdated pull request templates for bug fixes, documentation updates, and feature additions

* chore: remove outdated pull request template

* chore: replace old pull request template with a new structured version

* chore: add contributing guidelines for Dokploy Open Source Templates

* chore: update contributing guidelines and refine pull request template

- Changed validation step in contributing guidelines to use `node dedupe-and-sort-meta.js`.
- Simplified pull request template by removing unnecessary sections and improving checklist formatting.

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-10-25 18:53:49 -06:00
Mauricio Siu 680ca01f5f Remove package.json and package-lock.json to clean up project dependencies; update README with usage instructions for deduplicating and sorting meta.json. 2025-10-25 18:38:21 -06:00
Mauricio Siu 0fc92ffacc Remove bun.lock file to clean up project dependencies and lockfile management. 2025-10-25 18:37:02 -06:00
Mauricio Siu 2611e2ca13 Remove bun.lock file to clean up project dependencies and streamline the build process. 2025-10-25 18:35:58 -06:00
Mauricio Siu ff83501904 Remove Makefile, README, and script.js for meta.json processing; update package.json to reflect changes in scripts. 2025-10-25 18:35:29 -06:00
starascendinandGitHub 800809285b Change group ID from 998 to 988 in docker-compose (#461) 2025-10-25 18:33:00 -06:00
d155f2f1f6 feat(blueprints): n8n + worker/runner + redis/postgres + ollama & fix(blueprints): twentycrm (#364)
* feat(n8n): add n8n runner with Postgres and Ollama configuration

* feat(meta): update n8n runner version to nightly and enhance description

* feat(docker): update PostgreSQL image to 17-alpine and enhance healthcheck command

* feat(n8n): update environment variables and enhance configuration for Redis and Ollama integration

* feat(n8n): replace hardcoded N8N_PROXY_HOPS with environment variable and fix encryption key variable name

* feat(n8n): comment out SMTP environment variables in docker-compose.yml

* feat(n8n): set default value for N8N_PROXY_HOPS environment variable

* Update blueprints/n8n-runner-postgres-ollama/docker-compose.yml

* Update blueprints/n8n-runner-postgres-ollama/docker-compose.yml

* Update blueprints/n8n-runner-postgres-ollama/docker-compose.yml

* Update blueprints/n8n-runner-postgres-ollama/docker-compose.yml

* Update blueprints/n8n-runner-postgres-ollama/docker-compose.yml

* feat(twenty): update HTTP protocol handling in environment variables and enhance healthcheck configuration

* refactor(docker-compose): remove container names for n8n services

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-10-25 18:32:26 -06:00
devdamoandGitHub 6767f87261 Add RustDesk blueprint for self-hosted remote desktop (#331)
* Add RustDesk blueprint for self-hosted remote desktop

Introduces a new blueprint for RustDesk, including Docker Compose configuration, metadata, icon, and template files. This enables easy deployment of a self-hosted RustDesk remote desktop server.

* Update RustDesk logo file reference

Changed the logo file in meta.json from 'rustdesk.svg' to 'rustdesk.png' to reflect the correct image format.

* Add RustDesk to meta.json

Introduced RustDesk as a new entry in meta.json with relevant metadata, including description, logo, links, and tags for remote desktop and self-hosted productivity.

* Delete meta.json

* Update meta.json

* Update meta.json
2025-10-25 18:15:59 -06:00
b598ba9b0f Update Keycloak deployment for Dokploy with reverse proxy support (#402)
* Update KC envs and bump version

use the v2 ENV Variables like KC_BOOTSTRAP_ADMIN_USERNAME

* Update blueprints/keycloak/docker-compose.yml

* Update blueprints/keycloak/docker-compose.yml

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-10-25 18:10:54 -06:00
KillianandGitHub 6d564b6f56 feat: Update signoz template (#456) 2025-10-25 18:06:23 -06:00
Harikrishnan DhanasekaranandGitHub e3eb697c89 fix(automatisch): resolve Bad Gateway by fixing port mismatch (443→3000) (#470) 2025-10-25 17:56:45 -06:00
YuryandGitHub 80657e2a90 Add metadata.db generation for calibre-web (#444)
* Add metadata.db generation for calibre-web

* Attempt to fix template
2025-10-25 17:39:12 -06:00
Masum GökyüzandGitHub fb3c2e2952 feat(prometheus): add Prometheus monitoring blueprint with Docker Com… (#463)
* feat(prometheus): add Prometheus monitoring blueprint with Docker Compose, template, and metadata

Introduced a new blueprint for Prometheus, including a Docker Compose setup, configuration template, SVG logo, and metadata entry for streamlined deployment and monitoring capabilities.

* feat(prometheus): add configuration template for Prometheus monitoring

Enhanced the Prometheus blueprint by adding a configuration template for prometheus.yml, defining global settings, scrape intervals, and example scrape configurations. This addition streamlines the setup process for users deploying Prometheus monitoring.

* chore(prometheus): remove version specification from Docker Compose file

Eliminated the version line from the Docker Compose configuration for Prometheus to streamline the setup and avoid potential compatibility issues with future Docker Compose versions.
2025-10-25 17:38:41 -06:00
Ricardo 🇲🇽andGitHub 2851192d38 feat(immich): upgrade Docker images for Immich services (#458) 2025-10-25 17:37:29 -06:00
YuryandGitHub 38fdb8c095 Added Inngest v1.12.1 (#462)
* Added Inngest v1.12.1

* Fixed docker-compose name

* Fixed metajson
2025-10-25 17:33:05 -06:00
CorentinMreandGitHub c7e6c353ac Umami update version 2.16.1 -> 2.19.0 (#473)
* feat(umami): update umami version

* feat(umami): update umami v2.19.0 in the meta file
2025-10-25 17:31:34 -06:00
Harikrishnan DhanasekaranandGitHub cb04094d45 Feat: Add Docling-Serve Template for Document Processing -#464 (#465)
* feat: add docling-serve template for document processing

* updated for the build issues
2025-10-25 17:29:13 -06:00
Jainil PrajapatiandGitHub 469cfbb124 feat: add networking toolbox blueprint (#474)
Add docker-compose.yml for the networking-toolbox service with health checks and environment variables. Include networking-toolbox.png logo and template.toml for configuration. Update meta.json with blueprint metadata to enable self-hosting of networking utilities.
2025-10-25 01:54:34 -06:00
Jainil PrajapatiandGitHub 7cb050772f chore: add bun.lock to ensure consistent dependency versions (#471)
Added bun.lock file to lock versions of project dependencies, ensuring reproducible builds and consistent environments across different setups using Bun as the package manager.
2025-10-25 01:53:51 -06:00
Jainil PrajapatiandGitHub a3453ed2d7 feat(upsnap): add blueprint for Upsnap network monitor (#475)
- Add docker-compose.yml for containerized deployment with health checks and environment variables
- Include template.toml with configuration variables, domain settings, and mount points
- Add upsnap.svg icon for the service visualization

This commit introduces a complete blueprint to simplify deployment of the Upsnap network monitoring tool using Docker.
2025-10-25 01:53:17 -06:00
Harikrishnan DhanasekaranandGitHub 0d8c2cb7b8 Feat : Add Poste.io Template #467 (#476)
* feat: Add Poste.io mail server template

* updated the meta.json for the build issue
2025-10-25 01:52:35 -06:00
Simon LoirandGitHub 3affb5881a fix(supabase): remove trailing comma in JSON (#466) 2025-10-24 23:27:49 -06:00
Jainil PrajapatiandGitHub 21ee07834d feat(uptime-kuma): add Docker socket mount for container management (#454)
Mount the Docker socket into the Uptime Kuma container to enable Docker API access, allowing the service to monitor and interact with other Docker containers for enhanced uptime tracking.
2025-10-14 21:44:50 -06:00
Jainil PrajapatiandGitHub fba27d1857 feat(zabbix): Add Zabbix monitoring blueprint with Docker Compose, template, and metadata (#450)
Added a complete Zabbix 7.4 blueprint including Docker Compose setup for PostgreSQL, server, web interface, SNMP traps, and Java gateway; configuration template for environment variables; logo image; and metadata entry for easy deployment and monitoring capabilities.
2025-10-14 21:41:56 -06:00
Jainil PrajapatiandGitHub 25b94d1e85 feat(blueprints): add Hoppscotch AIO blueprint with migrations (#449)
Added Docker Compose setup, configuration template, logo, and metadata for Hoppscotch Community Edition. Includes PostgreSQL, database migrations, and subpath routing for self-hosted API testing tool deployment.
2025-10-14 21:35:28 -06:00
Jainil PrajapatiandGitHub 36af3499f9 feat(dozzle): add Dozzle log viewer blueprint (#451)
Added new Dozzle blueprint including docker-compose.yml for service setup, template.toml for configuration variables and mounts, image.png for logo, and updated meta.json with service metadata. Enables real-time Docker container log viewing.
2025-10-14 21:30:37 -06:00
Jainil PrajapatiandGitHub 87755e9c23 feat(blueprints): add CookieCloud blueprint for secure cookie sync (#453)
* feat(blueprints): add CookieCloud blueprint for secure cookie sync

Added new blueprint for CookieCloud, a self-hosted tool for syncing browser cookies across devices. Includes docker-compose.yml for service setup, template.toml for configuration, image.png for logo, and updated meta.json with service metadata to enable easy deployment and management.

* refactor: rename cookiecloud to cookie-cloud for naming consistency

Updated blueprint files and meta.json id to use kebab-case instead of camelCase, improving standardization and readability across the project.

* docs(meta): add docs link to meta.json

Added a "docs" link in the meta.json file's links object, pointing to the project's README for easier access to documentation.
2025-10-14 21:29:17 -06:00
Harikrishnan DhanasekaranandGitHub 4e0e960b6f fix(browserless): update image to latest and fix configuration issues - Update Docker image from v2.23.0 to latest for better compatibility - Fix typo in environment variable name (BROWERLESS_HOST → BROWSERLESS_HOST) - Standardize port format (3_000 → 3000) for consistency (#420) 2025-10-04 22:32:34 -06:00
Jainil PrajapatiandGitHub c6b0d0e203 docs: add copilot instructions for project development (#412)
Added comprehensive documentation file (.github/copilot-instructions.md) that provides detailed guidance on the Dokploy Open Source Templates project structure, development workflow, and conventions. The document covers the project overview, key files and directories, development workflow for adding/updating templates, local development setup, CI/CD processes, and established conventions and patterns. This documentation will help onboard new contributors and ensure consistent development practices across the project.
2025-10-04 22:30:27 -06:00
b81b0fd18d feat: add XSSHunter blueprint with Docker Compose setup and configura… (#287)
* feat: add XSSHunter blueprint with Docker Compose setup and configuration templates

* Change port to expose to work with Traefik

* feat: add XSS Hunter blueprint configuration with environment variables and domain settings, don't use special characters

* - if you will use special characters so add the password in a single quote to avoid the conflicts

* Update blueprints/xsshunter/docker-compose.yml

* Update blueprints/xsshunter/docker-compose.yml

* Update blueprints/xsshunter/docker-compose.yml

* Update blueprints/xsshunter/docker-compose.yml

* Update blueprints/xsshunter/docker-compose.yml

* Update blueprints/xsshunter/docker-compose.yml

* Update blueprints/xsshunter/docker-compose.yml

* Update blueprints/xsshunter/docker-compose.yml

* Update docker-compose.yml

Fix Network defined and version obsolete warning

* chore(blueprints/xsshunter): adjust template and compose for Dokploy guidelines

* chore: make service ports configurable via environment variables

* Update meta.json

* Update meta.json

---------

Co-authored-by: Khaled Mohamed <khaled@xelkomy.com>
Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-10-04 22:29:19 -06:00
Harikrishnan DhanasekaranandGitHub 24c1752aab Add Open Journal Systems (OJS) template #348 (#404)
* feat: add Open Journal Systems (OJS) template  - Add OJS 3.3.0-21 template with MariaDB database - Include custom SVG logo and proper metadata - Configure environment variables and domain setup - Fix Docker volume mount issues for proper deployment

* fix: process meta.json to resolve build validation errors

- Run npm run process-meta to sort entries alphabetically
- Remove any duplicates and ensure proper formatting
- Fixes GitHub Actions validate-meta job failure
2025-10-04 22:21:18 -06:00
Jainil PrajapatiandGitHub 1f458fdf53 chore(deps): update dependencies and improve NocoDB configuration (#359)
* chore(deps): update dependencies and improve NocoDB configuration

- Update vite-plugin-static-copy from 2.3.0 to 2.3.2
- Update Vite from 6.3.5 to 6.3.6
- Change NocoDB Docker image to use latest tag instead of specific version
- Update PostgreSQL from 17 to 16.6 for better stability
- Improve NocoDB configuration with proper environment variables
- Add proper volume mounts for data persistence
- Update healthcheck configuration for PostgreSQL service
- Update NocoDB port from 8000 to 8080 in configuration

* fix(docker-compose): improve healthcheck and formatting for nocodb service
2025-10-04 22:18:20 -06:00
8ee3761fa4 upd: Remove not supported version from Odoo (#409)
Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-10-04 22:15:21 -06:00
0ba4941969 feat: add Odoo 17 blueprint (#408)
Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-10-04 22:13:29 -06:00
Reinaldo J. MenendezandGitHub 8d31154329 feat: add Odoo 18 blueprint (#407) 2025-10-04 22:08:54 -06:00
LuisandGitHub 9051e12511 Add mealie template (#410)
* add compose file

* add template.toml

* add mealie logo

* add meta for mealie

* fix template.toml

* trying different syntax for env

* Adjust app name
2025-10-04 22:06:58 -06:00
1e75877fb9 Add Firecrawl Docker Compose Template -#422 (#423)
* fix: run api and workers in separate containers to resolve port conflict  Previously, the API and worker services ran together and tried to bind to the same port, causing repeated EADDRINUSE errors and container crashes.  This update splits the API, queue worker, extract worker, and nuq workers into individual service containers, each with a unique port and process. Fixes API not starting, stabilizes the deployment, and enables concurrent service operation.

* updated the meta.json for the build issue

* updated the meta.json for the logo path

* Update blueprints/firecrawl/docker-compose.yml

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-10-04 22:03:48 -06:00
Adam MatthiesenandGitHub eb2f470443 Add Storyden blueprint and meta (#424)
* Add Storyden blueprint and meta

* fix template.toml
2025-10-04 22:01:15 -06:00
Shishir AhmedandGitHub e5e0a7d730 feat: add qBittorrent BitTorrent client template with proper port configuration for BitTorrent functionality. (#333)
* feat: add qBittorrent BitTorrent client template  Add qBittorrent template with Traefik integration, SSL support,  and proper port configuration for BitTorrent functionality.

* feat: add qBittorrent template

Add qBittorrent BitTorrent client template with Traefik integration, SSL support, and comprehensive setup documentation including default login credentials and first-time configuration instructions.

* fix: apply Dokploy template best practices

Update qBittorrent template to follow official guidelines:
- Remove dokploy-network references
- Fix port mapping format
- Ensure service name consistency

Resolves maintainer feedback on template standards.

* fix: remove manual Traefik config, use Dokploy auto-SSL
2025-09-27 15:10:48 -06:00
4fa79baae8 feat: add Borgitory BorgBackup web manager entry (#390)
* feat: add Borgitory BorgBackup web manager entry

* feat(meta.json): add documentation link to Borgitory entry

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-09-27 14:42:12 -06:00
Shishir AhmedandGitHub eaf5fd5f7e Add FiveM server template with dual deployment modes (#393)
* feat: Added fivem server

* feat: add FiveM server template with dual deployment modes

feat: add FiveM server template with dual deployment modes

- Add docker-compose.yml with spritsail/fivem image
- Support both standard FiveM server and txAdmin web interface modes
- Configure environment variables for license key management
- Add comprehensive documentation for deployment modes
- Include template.toml with optional license key configuration
- Add FiveM logo and meta.json entry
- Support persistent storage for config and txAdmin data
- Configure proper port mapping (30120 game, 40120 web UI)
- Add interactive TTY setup required for FiveM container

Template supports two modes:
- Standard: Direct server with LICENSE_KEY env var
- txAdmin: Web management with NO_DEFAULT_CONFIG=1

* docs: add deployment mode awareness to FiveM docker-compose

docs: clarify FiveM deployment modes in docker-compose

Add detailed comments explaining standard server vs txAdmin modes
to prevent configuration errors and licensing issues.

* Added all env variables.

* fix: follow Dokploy template.toml format
2025-09-27 14:38:46 -06:00
Muhammad Rasyad CaesarardhiandGitHub 87970b2d3b feat(Search): enhance search functionality to include template descriptions (#400) 2025-09-27 14:37:34 -06:00
Jainil PrajapatiandGitHub 719ad62852 feat(bugsink): migrate from MySQL to PostgreSQL and update configuration (#388)
- Replace MySQL 8.4 with PostgreSQL 17-alpine for better performance
- Update environment variables to use POSTGRES_* naming convention
- Change health checks to use pg_isready for PostgreSQL compatibility
- Update template.toml to reflect new database and configuration structure
- Set version to 'latest' in meta.json for continuous updates
2025-09-25 20:54:42 -06:00
Ajsel ŽilićandGitHub f84b9c45fc (fix): remove hardcoded port from KANEO_API_URL (#397) 2025-09-25 20:52:07 -06:00
LuisandGitHub e8f4c6696e Update metadata for bytestash (#399)
* bytestash: update meta.json

* Add back website & docs
2025-09-25 20:48:10 -06:00
cc429b2ebd Add LibreTranslate translation API template for Dokploy (#398)
* Add LibreTranslate translation API template for Dokploy

* correcion de ubicacion del meta.json de libretranslate

* Fix: process and sort meta.json

* style: Update logo for light and dark theme compatibility

* Update blueprints/libretranslate/docker-compose.yml

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-09-25 20:47:52 -06:00
Jainil PrajapatiandGitHub dd19067f60 feat: add Flatnotes blueprint with TOTP authentication (#387)
* feat: add Flatnotes blueprint with TOTP authentication

Introduces a new blueprint for deploying Flatnotes with TOTP-based 2FA, including compose, template, and metadata files.

* feat: add Flatnotes self-hosted markdown note-taking app
2025-09-25 20:36:48 -06:00
Jainil PrajapatiandGitHub 149654a580 feat: add Checkcle security & compliance tool to catalog (#389)
* feat: add Checkcle security & compliance tool to catalog

* docs(checkcle): add default login credentials to docker-compose
2025-09-25 20:33:28 -06:00
Reinaldo J. MenendezandGitHub cabfdf2eec feat: add Odoo 19 blueprint (#391) 2025-09-25 20:31:47 -06:00
Jainil PrajapatiandGitHub e61f9020db feat(pocketbase): update docker-compose.yml and template configuration (#363)
* feat(pocketbase): update docker-compose.yml and template configuration

- Update PocketBase to use latest version instead of specific version
- Add environment variables for configuration
- Implement named volumes for data persistence
- Improve healthcheck configuration with better parameters
- Add encryption support via environment variable
- Update template.toml to include new configuration options
- Configure proper volume mounts and environment variables
- Set default timezone to Europe/Berlin

* feat(pocketbase): refactor docker-compose and template configuration for improved clarity and consistency
2025-09-20 23:37:27 -06:00
cb209004bc Add initial template configuration for RSS Bridge in TOML format (#347)
* Add initial template configuration for RSS Bridge in TOML format

* Update meta.json to add documentation link for RSS Bridge

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-09-20 23:32:34 -06:00
Vincent NiehuesandGitHub 785462b94a Add Garage S3 blueprint and update Garage S3 with UI (#367)
- Introduced `docker-compose.yml` and `template.toml` for Garage S3.
- Added a new entry for Garage S3 in `meta.json` with relevant details and tags.
- Updated `docker-compose.yml` and `template.toml` in Garage S3 with UI for refined environment variables, authentication guidance, and token support.
- Bumped versions of Garage and Garage Web UI images.
2025-09-20 23:29:25 -06:00
0xkatanaandGitHub 064ce18f37 fix(ackee-template): fix missing mongo init db username that causes the app the db to crash (#366) 2025-09-20 23:28:12 -06:00
Usame BeşirandGitHub 75a125cc15 Change basic auth password for Kestra (#374)
the password must be 8 characters with one capital letter, one digit and one special character
2025-09-20 23:27:02 -06:00
EddyandGitHub a7236c54fe Makes full APP_URL valid for Pyrodactyl to function properly (#382) 2025-09-20 23:26:07 -06:00
Nijat RzayevandGitHub 7edf7bfdf6 fix: add signoz alertmanager provider in the template (#330) 2025-09-20 23:16:48 -06:00
dde4099d4c Add Libredesk service (#327)
* Add Libredesk blueprint with `template.toml`, `docker-compose.yml`, and meta data updates for self-hosted customer support desk

* Update `meta.json` links for Libredesk blueprint

* Update meta.json

* Reorganize Libredesk entry in meta.json

Moved the Libredesk metadata entry to a new position in the file while maintaining its details, including description, links, and tags. This change ensures consistency in the structure of the metadata entries.

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-09-20 23:16:22 -06:00
8b329705cf (fix): set pull policy to pull latest image (#368)
Co-authored-by: Khaled Gabr <khaled.gabr@plark.com>
2025-09-20 23:14:26 -06:00
Alexandre BlauseandGitHub 248ac0fe11 feat(blueprint): add notifuse template (#373)
* feat(blueprint): add notifuse template

* fix(meta): reorganized notifuse in meta file
2025-09-20 23:10:02 -06:00
Khiet Tam NguyenandGitHub 143bc794ba feat(blueprint): added fmd-server (#381)
* feat(blueprint): added fmd-server

* chore: run process-meta

* chore: remove unused base url
2025-09-20 23:08:50 -06:00
ARUNAVO RAYandGitHub 772dbc6d35 Updated Docker image to latest tag (#351) 2025-09-15 23:47:26 -06:00
devdamoandGitHub ed03559b25 Add Navidrome blueprint and metadata (#370)
* Add Navidrome blueprint and metadata

Introduces Navidrome as a new blueprint with Docker Compose configuration, template, and icon. Updates meta.json to register Navidrome with relevant metadata, description, links, and tags.

* Remove user and version from Navidrome compose file

Deleted the 'user' field and the 'version' declaration from the docker-compose.yml for Navidrome to simplify configuration and improve compatibility.

* Remove ND_BASEURL from Navidrome environment

Eliminates the ND_BASEURL environment variable from the Navidrome service configuration in docker-compose.yml, likely to rely on default behavior or avoid misconfiguration.
2025-09-15 22:52:25 -06:00
devdamoandGitHub 954cefe0cb Add Paymenter blueprint and metadata (#371)
* Add Paymenter blueprint and metadata

Introduces a new blueprint for Paymenter, including Docker Compose configuration, template variables, and an icon. Updates meta.json to register Paymenter with relevant metadata, description, links, and tags for billing and payment management.

* Add debug and proxy settings to Paymenter config

Set APP_DEBUG to false and TRUSTED_PROXIES to '*' in docker-compose.yml for improved security and proxy support. Also, specify path as '/' in template.toml to clarify application root.
2025-09-15 22:51:47 -06:00
devdamoandGitHub edb972f14a Add Owncast blueprint and metadata (#369)
* Add Owncast blueprint and metadata

Introduces a new Owncast blueprint with docker-compose configuration, template, and image. Updates meta.json to register Owncast with relevant metadata and links.

* Rename owncast image from JPG to PNG

Renamed the owncast blueprint image file extension from .jpg to .png for consistency or format requirements. No changes to image content.
2025-09-15 22:49:52 -06:00
nstandGitHub e645ecd2dd Update PocketID (#341)
* Up PocketID version in template

so PocketID now 1.10, but template pined to 0.36, and i bump it to v1 (which is latest 1.*)

* allign template

* allign template port

* allign meta

* allign meta prettier

* no need in ports, its not secure
2025-09-13 22:25:49 -06:00
dd1bc1e8f8 feat(blueprints): replace unsend with usesend configuration (#350)
* feat(blueprint): added docuseal

* feat: add Docuseal document management system

* feat: restructure docker-compose for Docuseal application setup

* feat(docker-compose): remove unused port mapping and clean up redis service configuration

* Update blueprints/docuseal/docker-compose.yml

* Update blueprints/docuseal/docker-compose.yml

* Update blueprints/docuseal/template.toml

* This PR replaces and supersedes #39.

Changes and improvements:
- Fully resolved merge conflict in meta.json
- Added missing JWT secret handling using `${password:32}`
- Synced `template.toml` and `docker-compose.yml` with proper environment variable mapping
- Ensured domain and service configuration matches Dokploy standards
- Minor cleanup for clarity and deployment safety

Original credit to @maelpr for the initial submission.

This version ensures a clean, deployable, and secure Dokploy template for Kutt.

* fix: add missing commas in environment variable definitions

* Update blueprints/kutt/template.toml

* feat(blueprints): replace unsend with usesend configuration

* feat(meta): add Uptime Kuma monitoring tool to the blueprint

* fix(docker-compose): update MinIO image to latest version

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-09-13 22:13:38 -06:00
bb97aec8ba Fix invoiceshelf docker image tag (#344)
* switch to image tag from latest to nightly

* Update template.toml

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-09-13 21:59:02 -06:00
Jainil PrajapatiandGitHub 6df93c4c02 feat(flowise): add Flowise blueprint with Docker Compose and template configuration (#354)
- Added Flowise metadata to meta.json with relevant details including ID, name, version, description, logo, links, and tags.
- Created Docker Compose file for Flowise, defining services for Redis and Flowise, including health checks and environment variables.
- Added image for Flowise logo.
- Created template.toml for Flowise configuration, specifying variables, domains, environment variables, and mounts.
2025-09-13 21:51:59 -06:00
Jainil PrajapatiandGitHub 974d42542f Add initial template configuration for cup service (#355)
- Created a new TOML template for the cup service.
- Defined main domain variable and service configuration.
- Specified service name, port, and host for the cup service.
- Configured environment variables and mounted Docker socket.
2025-09-13 19:30:12 -06:00
Jainil PrajapatiandGitHub 4ebc30ab23 Add Crawl4AI blueprint with metadata, Docker configuration, and template (#360) 2025-09-13 19:29:12 -06:00
Sancho GodinhoandGitHub 3ae4c204ba Update links for templates (#352)
* Update links for Gitingest in meta.json

* Update Kuno links in meta.json

* Update Tianji links in meta.json
2025-09-13 19:27:11 -06:00
Jainil PrajapatiandGitHub baa1313457 Add Budget Board blueprint with Docker Compose and template configuration (#345) 2025-09-13 19:26:26 -06:00
b54f1c8a69 (feat): add plark template (#361)
* (feat): add plark template

* (fix): Add github link

* (fix): process meta.json file

---------

Co-authored-by: Khaled Gabr <khaled.gabr@plark.com>
2025-09-13 19:24:13 -06:00
devdamoandGitHub 3f75e7b701 Update Portainer blueprint to use latest version and PNG logo (#342)
* Update Portainer blueprint to use latest version and PNG logo

Switched Portainer version to 'latest' in meta.json and docker-compose.yml, replaced SVG logo with PNG, and updated docker-compose.yml to remove agent service, add restart policy, ports, and SSL command. Adjusted template.toml config formatting and port value for consistency.

* Remove SSL configuration from Portainer service

Removed the SSL-related command and port 9443 from the Portainer service in docker-compose.yml, leaving only port 9000 exposed. This simplifies the setup by disabling SSL support.
2025-09-06 18:36:34 -06:00
Benjamin NussbaumandGitHub 62abddecc0 chore(blueprint): update trmnl-byos-laravel to v0.14.0 in meta.json (#323) 2025-09-06 18:33:22 -06:00
devdamoandGitHub e2d7880374 Add Agent DVR blueprint and metadata (#337)
Introduces a new blueprint for Agent DVR, including docker-compose configuration, template variables, and an icon. Updates meta.json to register Agent DVR with relevant metadata, description, and links.
2025-09-06 18:32:37 -06:00
Jainil PrajapatiandGitHub 6df943e55f Add Anse project and format tag arrays consistently (#340) 2025-09-06 15:04:34 -06:00
368427ba71 Add Letterfeed self-hosted email service integration (#343)
* Add Letterfeed self-hosted email service integration

- Add Letterfeed entry to meta.json with description, links, and tags
- Add blueprint directory for Letterfeed service implementation
- Enables users to deploy this self-hosted email reader

* Refine project description to highlight RSS conversion

* Azuracast (#335)

* Add AzuraCast template

* Refactor AzuraCast blueprint and update metadata

Simplifies the docker-compose.yml by consolidating services, reducing exposed ports to 8080, and updating volume names. The template.toml is updated to match the new service name and environment variables. The meta.json description and logo are improved, and additional relevant tags are added.

* Update AzuraCast logo file extension

Changed the AzuraCast logo reference in meta.json from SVG to PNG to reflect the correct file format.

* Add MariaDB service to AzuraCast blueprint

Introduces a dedicated MariaDB service in the docker-compose file for AzuraCast, including necessary environment variables and volume configuration. Updates the template to generate MySQL credentials and propagate them to the environment, improving database management and security.

* Add environment variables to AzuraCast template

Introduces several new environment variables to the AzuraCast blueprint template, including Let's Encrypt, virtual host, port assignments, NGINX radio ports, release build preference, Composer plugin mode, and media sync worker count. These additions enhance configuration flexibility and deployment options.

* Update docker-compose.yml

* Change AzuraCast service port from 8080 to 80

Updated both docker-compose.yml and template.toml to expose AzuraCast on port 80 instead of 8080, aligning the configuration for standard HTTP access.

---------

Co-authored-by: randomperson12344 <4dennisk@gmail.com>

* Add OpenSpeedTest blueprint and metadata (#334)

Introduces a new blueprint for OpenSpeedTest, including docker-compose configuration, template, and logo. Updates meta.json to register OpenSpeedTest with relevant metadata and links.

---------

Co-authored-by: devdamo <77869423+devdamo@users.noreply.github.com>
Co-authored-by: randomperson12344 <4dennisk@gmail.com>
2025-09-06 15:02:42 -06:00
devdamoandGitHub 20edb2cc1d Add OpenSpeedTest blueprint and metadata (#334)
Introduces a new blueprint for OpenSpeedTest, including docker-compose configuration, template, and logo. Updates meta.json to register OpenSpeedTest with relevant metadata and links.
2025-09-05 02:46:51 -06:00
bb58434ab3 Azuracast (#335)
* Add AzuraCast template

* Refactor AzuraCast blueprint and update metadata

Simplifies the docker-compose.yml by consolidating services, reducing exposed ports to 8080, and updating volume names. The template.toml is updated to match the new service name and environment variables. The meta.json description and logo are improved, and additional relevant tags are added.

* Update AzuraCast logo file extension

Changed the AzuraCast logo reference in meta.json from SVG to PNG to reflect the correct file format.

* Add MariaDB service to AzuraCast blueprint

Introduces a dedicated MariaDB service in the docker-compose file for AzuraCast, including necessary environment variables and volume configuration. Updates the template to generate MySQL credentials and propagate them to the environment, improving database management and security.

* Add environment variables to AzuraCast template

Introduces several new environment variables to the AzuraCast blueprint template, including Let's Encrypt, virtual host, port assignments, NGINX radio ports, release build preference, Composer plugin mode, and media sync worker count. These additions enhance configuration flexibility and deployment options.

* Update docker-compose.yml

* Change AzuraCast service port from 8080 to 80

Updated both docker-compose.yml and template.toml to expose AzuraCast on port 80 instead of 8080, aligning the configuration for standard HTTP access.

---------

Co-authored-by: randomperson12344 <4dennisk@gmail.com>
2025-09-05 02:45:59 -06:00
af037a1064 feat: add ntfy (Item requested on issue #145) (#328)
* chore: add meta ntfy

* chore: typo

* feat: add ntfy

---------

Co-authored-by: Jorge Gómez Zarzosa <jorgegomez@bmat.com>
2025-09-04 00:46:24 -06:00
devdamoandGitHub 89528e7b8a Add Java runtime blueprint and metadata (#332)
* Add Java runtime blueprint and metadata

Introduces a new Java blueprint with Docker Compose, template configuration, and logo for multi-version Java environments. Updates meta.json to register the Java runtime, supporting versions 8-21 for use cases like Minecraft servers and Spring Boot apps.

* Move Java Runtime entry in meta.json

Relocated the Java Runtime (Multi-Version) entry within meta.json for improved organization. No changes to the entry's content.

* Update template.toml
2025-09-04 00:00:55 -06:00
NaterfuteandGitHub 8d6fc02d55 fix: appflowy template not including nginx (#315)
* fix: appflowy template not including nginx

* fix: mounts for appflowy not being correct
2025-09-03 23:59:21 -06:00
Jainil Prajapati 🪐andGitHub 0b0800e2ad Add SilverBullet template to meta.json (#322) 2025-09-01 23:19:59 -06:00
Artur MukhamedyarovandGitHub bda5817e00 upd: bump vaultwarden to 1.34.3 (#320)
* upd: bump vaultwarden to 1.34.3

* upd: meta.json vaultwarden 1.34.3
2025-09-01 23:15:58 -06:00
126f6757c6 Add crowdsec to blueprints (#321)
* add docker-compose for crowdsec

* add template.toml

* edit meta.json

* add crowdsec logo

* process-meta

* Update blueprints/crowdsec/docker-compose.yml

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-09-01 23:13:59 -06:00
Dennis KhylkouskiandGitHub dee68380f6 Add Dashy template (#324)
* Add Dashy template

* Fix meta.json formatting and sorting
2025-09-01 23:13:21 -06:00
Tony HartandGitHub 2034a0d0c6 add initial signoz template (#318)
* add initial signoz template

* sort meta
2025-08-28 00:35:55 -06:00
Jainil Prajapati 🪐andGitHub 393557c160 Add Open Fiesta AI chat template (#314) 2025-08-28 00:30:58 -06:00
Benjamin NussbaumandGitHub 8188e30f46 feat(blueprint): update trmnl-byos-laravel template (#311) 2025-08-28 00:30:12 -06:00
Jainil Prajapati 🪐andGitHub 5c070eba6e Add Calibre-Web template with metadata and links (#307) 2025-08-28 00:28:42 -06:00
Vladyslav G.andGitHub c2f4ab1836 feat(blueprint) add kaneo task managment template (#312)
* feat(blueprint) add keneo task managment template

* fix bad name

* fix: return back tags formating

* Sort meta.json
2025-08-28 00:26:35 -06:00
Jainil Prajapati 🪐andGitHub a86d1dccb1 Add Domain Locker blueprint (#308)
* Add Domain Locker blueprint with PostgreSQL backend and cron-based updater service

* Reformat "tags" arrays in meta.json to multi-line for improved readability
2025-08-28 00:25:19 -06:00
Yogesh ManikkavasagamandGitHub d09809c125 nginx template added (#309)
* nginx template added

nginx template added

* Update meta.json

* Update meta.json

* Update meta.json
2025-08-28 00:23:15 -06:00
Jainil Prajapati 🪐andGitHub 77266b3bd1 ATTENTION IS ALL YOU NEED (#313)
* Add blueprints for wanderer and yamtrack applications with Docker configurations and templates

* Add Vikunja blueprint

* Add Tor Browser blueprint with Docker configuration and template

* Add Picsur image hosting blueprint with Docker configuration and template

* Create new blueprint for deploying Pastefy with MariaDB and OAuth support

* Added Morsphs

* Add KitchenOwl blueprint with Docker Compose configuration and template

* Add Kokoro Web blueprint with Docker Compose configuration and template

* added HortusFox

* added gitingest

* Add Etherpad blueprint with Docker Compose configuration and template

* Add drawnix blueprint with Docker Compose configuration and template

* arranged Meta
2025-08-28 00:22:23 -06:00
Jainil Prajapati 🪐andGitHub b4bf7c4fa7 Add Aкаunting accounting app template and restructure tags formatting (#305)
* Add Aкаunting accounting app template and restructure tags formatting

* Reformat tags in meta.json to improve readability and maintainability
2025-08-24 23:49:39 -06:00
Jainil Prajapati 🪐andGitHub d9d5b980d0 Add AdventureLog template with metadata and links (#304)
* Add AdventureLog template with metadata and links

* Update PUBLIC_SERVER_URL to use backend_domain variable
2025-08-24 23:47:22 -06:00
Jainil Prajapati 🪐andGitHub ee6d34f22d Add new LiteLLM template to the repository. (#303)
* working

* Refactor LiteLLM template to centralize environment variables and improve configuration structure

* Refactor LiteLLM docker-compose and template to use volumes and simplify port configuration

* Refactor LiteLLM blueprint to simplify environment configuration and improve service definitions

* Refactor LiteLLM blueprint to centralize environment variables, enhance security with stronger defaults, and improve provider API key configuration

* Format tags as arrays in meta.json for improved readability
2025-08-24 23:45:02 -06:00
NaterfuteandGitHub 9af4698ea9 Appflowy Template (#301)
* feat: add appflowy for testing

* fix: removed docker network and fixed template.toml jwt secret

* Working AppFlowy config

* fix: meta.json
2025-08-23 22:27:17 -06:00
Vincent NiehuesandGitHub 4b882a2f1f Update template.toml and docker-compose.yml to consolidate storage configuration in Garage blueprint (#298) 2025-08-23 03:24:58 -06:00
8793a5c54d Add Kuno i18n blog template (#293)
* Add Kuno i18n blog template with improved tag formatting in meta.json

* Update i18n-blog blueprint with Kuno volume configuration and JWT secret setup

* Changed Port

* Updated

* update meta.json

* feat: add i18n Blog (Kuno) entry to meta.json

- Introduced a new application entry for i18n Blog (Kuno), detailing its version, description, logo, and relevant links.
- Categorized the application with appropriate tags for better discoverability.
- Removed the previous duplicate entry for i18n Blog to streamline the application catalog.

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-08-22 23:45:26 -06:00
9f244dc21a Add Garage S3 with UI (#297)
* **Add `docker-compose.yml` and `garage.svg` blueprint files for Garage service**

* **Fix syntax error in `template.toml` for environment variables in Garage blueprint**

* **Fix syntax error in `template.toml` for environment variables in Garage blueprint**

* **Update `template.toml` and `docker-compose.yml` for refined env variables and domain config in Garage blueprint**

* processed meta.json

* renamed blueprint folder

* feat: add Garage S3 with Web UI entry to meta.json

- Introduced a new application entry for Garage S3, including details such as version, description, logo, and relevant links.
- Categorized the application with appropriate tags for better discoverability.

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-08-22 23:40:00 -06:00
Hayden ThornandGitHub e69fe112f9 Update Bugsink, Add BEHIND_HTTPS_PROXY env var to docker-compose (#290)
Introduces the BEHIND_HTTPS_PROXY environment variable to the bugsink service for configuring setups behind an HTTPS proxy. Default is set to 'false'; update as needed for SSL-enabled proxy deployments.
2025-08-22 23:35:39 -06:00
2e370b0770 Update Gitea to latest version with support for SQLite, MySQL, and PostgreSQL (#283)
* Update Gitea to latest version with support for SQLite, MySQL, and PostgreSQL

* Update meta.json

* Update meta.json

* Update meta.json

* Update meta.json

* Update meta.json

* Update meta.json

* Update meta.json

* Remove Booklore and Statping-NG entries from meta.json

* The meta.json glow-up nobody saw coming (#281)

* removed

n8n (appears 2 times)
Authelia (appears 2 times)
SupaBase (appears 2 times)
Livekit (appears 2 times)
WG-Easy (appears 2 times)
Open Notebook (appears 2 times)
Booklore (appears 2 times)
Scrypted (appears 2 times)
Wallos (appears 2 times)
Statping-NG (appears 2 times)

* Replace application catalog entries with new software entries

* Test 1

* Updated Scripts

* Final Test

* Fix

* Remove redundant dependency installation steps from GitHub Actions workflow

* Test 2

* Update meta sorting logic to ASCII order and add --backup option for deduplication

* Fix meta.json: Remove duplicates and apply correct ASCII sorting

- Remove duplicate entries: scrypted, searxng (243 → 241 entries)
- Fix sorting algorithm to use ASCII order for CI/CD compatibility
- Update both dedupe-and-sort-meta.js and build-scripts/process-meta.js
- Add missing --backup CLI argument to build script
- Ensure consistent sorting across all processing interfaces

* Fix CI/CD pipeline: Count JSON entries instead of lines

- Update validate-meta.yml to count JSON entries using Node.js instead of wc -l
- Add custom JSON formatting functions to both processing scripts
- Ensure consistent output formatting across all processing interfaces
- Fix false positive where line count increased due to expanded JSON formatting

The CI/CD failure was caused by counting file lines (4124) instead of actual
JSON entries (241). Both files now produce identical results with proper
entry counting in the validation workflow.

* Fix meta.json formatting to match processing script output

- Apply consistent JSON formatting to meta.json using processing script
- Ensure file formatting matches expected CI/CD workflow output
- Files now pass diff comparison in validation workflow

This resolves the CI/CD pipeline failure where files had identical content
but different formatting, causing diff validation to fail.

* Test 3

* Removed duplicate and action worked :)

* Remove pull_request_template.md

* Remove duplicate meta entries to prevent processing conflicts

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>

* Update Gitea to latest version with support for SQLite, MySQL, and PostgreSQL

* Update Meta.json

* Remove Gitea entry from meta.json

* Format tags arrays in meta.json to multi-line for better readability

* Remove old Gitea blueprint files

* feat: add Gitea entries for MySQL, PostgreSQL, and SQLite

- Introduced new Gitea application entries in meta.json for MySQL, PostgreSQL, and SQLite, each with version 1.24.4.
- Added descriptions, logos, and relevant links for each entry.
- Categorized applications with appropriate tags for better discoverability.

* Remove outdated Gitea entry from meta.json to streamline application catalog.

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-08-22 23:25:31 -06:00
5c97dbe3fe feat: add drizzle gateway (#274)
* feat: add drizzle gateway

* fix: add missing template

* Update and rename drizzle-gateway.yml to docker-compose.yml

* feat: add meta json

* Update meta.json

* Update docker-compose.yml

* Update docker-compose.yml

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-08-22 23:18:24 -06:00
afd1976d56 Add ruTorrent blueprint (crazy-max image) (#280)
* Add ruTorrent blueprint and meta.json entry

* Add blueprints/rutorrent (compose + template + logo)

* Rename folder to blueprints/rutorrent and ensure logo path

* Update meta.json with new software entries and modifications

- Added new applications including Ackee, Activepieces, Actual Budget, AdGuard Home, Adminer, Affine Pro, AList, AllTube, Ampache, AnonUpload, Answer, AnythingLLM, Apprise API, Appsmith, Aptabase, ArangoDB, Argilla, Audiobookshelf, Authorizer, Authelia, BabyBuddy, Backrest, Baikal, Barrage, Baserow, Bazarr, Beszel, and more.
- Updated links, descriptions, and tags for existing applications.
- Removed duplicates and ensured consistent formatting across the file.
- Enhanced the overall structure and organization of the application catalog.

* Update blueprints/rutorrent/docker-compose.yml

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-08-22 23:09:04 -06:00
a55f98f1b7 Add Typesense blueprint with Docker Compose setup and update meta.json (#275)
- Introduced Typesense service with Docker Compose configuration.
- Added Typesense template for environment variables and configuration.
- Updated meta.json to include Typesense entry and formatted tags for consistency.

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-08-22 23:04:44 -06:00
Jainil Prajapati 🪐andGitHub bac7763358 Updated karakeep fixed crawling error (#278)
* Updated karakeep fixed crawling error

* fix

* fix

* Updated Meta.json
2025-08-22 23:00:00 -06:00
8baa95dfd8 Emby template (#276)
* Emby template

* Update blueprints/emby/template.toml

* Add Emby entry to meta.json

- Introduced new application entry for Emby, including details such as version, description, logo, and relevant links.
- Ensured proper categorization with appropriate tags for media systems.

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-08-22 22:57:30 -06:00
f973fe08e8 new feature related to Obsidian LiveSync (#260)
* new feature related to Obsidian LiveSync

* Update meta.json with new software entries and modifications

- Added new applications: Ackee, Activepieces, Actual Budget, AdGuard Home, Adminer, Affine Pro, AList, AllTube, Ampache, AnonUpload, Answer, AnythingLLM, Apprise API, Appsmith, Aptabase, ArangoDB, Argilla, Audiobookshelf, BabyBuddy, Backrest, Baikal, Barrage, Bazarr, Beszel, Baserow, Budibase, and more.
- Updated existing entries with new descriptions, links, and tags.
- Removed duplicates and ensured consistent formatting across the file.
- Enhanced application descriptions for clarity and accuracy.

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-08-22 22:51:43 -06:00
davidrandGitHub d307b17f2b feat(convex): Bump convex version (#286) 2025-08-22 22:46:35 -06:00
8142693922 The meta.json glow-up nobody saw coming (#281)
* removed

n8n (appears 2 times)
Authelia (appears 2 times)
SupaBase (appears 2 times)
Livekit (appears 2 times)
WG-Easy (appears 2 times)
Open Notebook (appears 2 times)
Booklore (appears 2 times)
Scrypted (appears 2 times)
Wallos (appears 2 times)
Statping-NG (appears 2 times)

* Replace application catalog entries with new software entries

* Test 1

* Updated Scripts

* Final Test

* Fix

* Remove redundant dependency installation steps from GitHub Actions workflow

* Test 2

* Update meta sorting logic to ASCII order and add --backup option for deduplication

* Fix meta.json: Remove duplicates and apply correct ASCII sorting

- Remove duplicate entries: scrypted, searxng (243 → 241 entries)
- Fix sorting algorithm to use ASCII order for CI/CD compatibility
- Update both dedupe-and-sort-meta.js and build-scripts/process-meta.js
- Add missing --backup CLI argument to build script
- Ensure consistent sorting across all processing interfaces

* Fix CI/CD pipeline: Count JSON entries instead of lines

- Update validate-meta.yml to count JSON entries using Node.js instead of wc -l
- Add custom JSON formatting functions to both processing scripts
- Ensure consistent output formatting across all processing interfaces
- Fix false positive where line count increased due to expanded JSON formatting

The CI/CD failure was caused by counting file lines (4124) instead of actual
JSON entries (241). Both files now produce identical results with proper
entry counting in the validation workflow.

* Fix meta.json formatting to match processing script output

- Apply consistent JSON formatting to meta.json using processing script
- Ensure file formatting matches expected CI/CD workflow output
- Files now pass diff comparison in validation workflow

This resolves the CI/CD pipeline failure where files had identical content
but different formatting, causing diff validation to fail.

* Test 3

* Removed duplicate and action worked :)

* Remove pull_request_template.md

* Remove duplicate meta entries to prevent processing conflicts

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-08-16 00:20:14 -06:00
Mauricio Siu 954e93b7fb Remove Booklore and Statping-NG entries from meta.json 2025-08-16 00:11:31 -06:00
Mauricio SiuandGitHub a8704bbddd Update meta.json 2025-08-16 00:08:25 -06:00
Mauricio SiuandGitHub 7bcb1fcad3 Update meta.json 2025-08-16 00:07:53 -06:00
Mauricio SiuandGitHub 0c246aedfb Update meta.json 2025-08-16 00:05:59 -06:00
Mauricio SiuandGitHub bc38c7f96f Update meta.json 2025-08-16 00:05:27 -06:00
Mauricio SiuandGitHub 7bdcefa5a5 Update meta.json 2025-08-16 00:04:58 -06:00
Mauricio SiuandGitHub 845d7c7bef Update meta.json 2025-08-16 00:04:09 -06:00
Mauricio SiuandGitHub f633ae9819 Update meta.json 2025-08-16 00:03:17 -06:00
dd2a349a4d Poke adding new templet (#222)
* Refactor meta.json: streamline tag formatting for consistency across entries and add new Poke entry with relevant details.

* Update poke blueprint metadata and replace logo file

* Update meta.json

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-08-11 00:00:44 -06:00
74ae0fe5ff Update Checkmate blueprint with new backend image and configuration (#258)
Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-08-10 23:56:55 -06:00
b318df51c6 feat: add Livekit Blueprint (#197)
Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-08-10 23:53:18 -06:00
ae5cd0606a Add Wallos subscription tracking application with Docker Compose setup (#268)
Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-08-10 23:48:38 -06:00
Khiet Tam NguyenandGitHub 4bc51e31de feat(blueprint): healthcheck for excalidraw (#207) 2025-08-10 23:45:32 -06:00
Chetra ChannandGitHub 1d631a9a61 Fix wordpress volume config (#267) 2025-08-10 23:39:50 -06:00
0cbffecd0a Add n8n with Postgres (#269)
* Create n8n with postgres

* Delete blueprints/n8n with postgres

* Create docker-compose.yml

* Add files via upload

* Create template.toml

* Update meta.json

* Update meta.json

* Update meta.json

* Update meta.json

* Update template.toml

* Update template.toml

* Update template.toml

* Update docker-compose.yml

* Update template.toml

* Update docker-compose.yml

* Update template.toml

* Update docker-compose.yml

* Update template.toml

* Create docker-compose.yml

* Create template.toml

* Add files via upload

* Update meta.json

* Update meta.json

* Update template.toml

* Update docker-compose.yml

* Update template.toml

* Update template.toml

* Update template.toml

* Update docker-compose.yml

* Update template.toml

* Delete blueprints/sylius-frankenphp directory

* Create docker-compose.yml

* Create template.toml

* Add files via upload

* Delete blueprints/wordpress/elephant_cover.svg

* Add files via upload

* Update meta.json

* Update template.toml

* Update template.toml

* Update template.toml

* Update template.toml

* Update docker-compose.yml

* Update template.toml

* Update template.toml

* Update docker-compose.yml

* Update docker-compose.yml

* Update template.toml

* Update template.toml

* Update docker-compose.yml

* Update docker-compose.yml

* Update template.toml

* Update docker-compose.yml

* Update docker-compose.yml

* Update docker-compose.yml

* Update template.toml

* Update docker-compose.yml

* Update docker-compose.yml

* Update template.toml

* Update meta.json

* Delete blueprints/wordpress-frankenphp/docker-compose.yml

* Delete blueprints/wordpress-frankenphp/elephant_cover.svg

* Delete blueprints/wordpress-frankenphp/template.toml

* Update meta.json

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-08-10 23:39:26 -06:00
Sancho GodinhoandGitHub a355cd24ed Update outdated links (#254) 2025-08-07 01:02:15 -06:00
6c46708035 added Statping-NG template (#273)
Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-08-07 01:01:59 -06:00
Ragil Burhanudin PamungkasandGitHub 996dbd8254 Update ghostcms version to 6.0.0 (#271)
* chore(blueprint): update plane services to v0.27.1

- Bumped all makeplane service images from v0.25.3 to v0.27.1
- Updated web, space, admin, live, api, worker, beat-worker, migrator and proxy services
- Version alignment for all plane components in docker-compose blueprint

* chore(blueprint): update plane version to v0.27.1

* chore: update ghost image and version to 6.0.0
2025-08-07 00:50:57 -06:00
Tony HartandGitHub 1ff926b184 add authelia (#270)
* add authelia

* update config

* update config env

* update hash

* admin first login fix
2025-08-07 00:48:53 -06:00
6713733ec1 Refactor Blinko blueprint configuration and environment handling (#255)
* Refactor Blinko blueprint configuration and environment handling

* Standardize tag formatting in meta.json

* FIX-Validating meta.json against blueprint folders and logos

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-08-02 00:16:54 -06:00
a2d1f929fd Added wg-easy entry (#256)
Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-08-02 00:11:49 -06:00
a551e99b8c Added Open Notebook (#253)
* Added Open Notebook

* Remove duplicate GitLab CE entry from meta.json

* FIX-Validating meta.json against blueprint folders and logos

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-08-02 00:09:52 -06:00
b3348e6949 add BookLore template with Docker Compose setup (#259)
Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-08-02 00:08:42 -06:00
Jainil Prajapati 🪐andGitHub c634c2cb31 Added Scrypted (#257) 2025-08-01 01:35:37 -06:00
Mauricio SiuandGitHub 2ab8b2ee27 Update meta.json 2025-07-27 23:03:50 -06:00
Ragil Burhanudin PamungkasandGitHub fbd6e78bf5 chore(blueprint): update plane services to v0.27.1 (#250)
* chore(blueprint): update plane services to v0.27.1

- Bumped all makeplane service images from v0.25.3 to v0.27.1
- Updated web, space, admin, live, api, worker, beat-worker, migrator and proxy services
- Version alignment for all plane components in docker-compose blueprint

* chore(blueprint): update plane version to v0.27.1
2025-07-27 22:58:32 -06:00
Jainil Prajapati 🪐andGitHub e9eff34cb4 Remove GitLab CE entry and update package dependencies (#240) 2025-07-27 22:53:43 -06:00
Jainil Prajapati 🪐andGitHub 8b23ad129f Add Habitica entry to meta.json (#228)
* Add Habitica entry to meta.json

- Introduced Habitica, a productivity app that gamifies habit tracking, with a detailed description, logo, and relevant links.
- Updated tag formatting for consistency across entries.

* Add GitLab CE entry to meta.json

- Introduced GitLab Community Edition with a detailed description, logo, and relevant links.
- Updated tag formatting for consistency across entries.

* Refactor Habitica blueprint to use client-server architecture with MongoDB volume and simplified email configuration
2025-07-27 22:51:55 -06:00
Vitaliy KukharikandGitHub 05c014b26b Update Autobase to v2.3.0 (#244)
* Update Autobase to v2.3.0

* Update meta.json

* Update tags
2025-07-27 22:46:50 -06:00
MariusandGitHub bf327c3bad add OpenPanel template (#245) 2025-07-27 22:44:28 -06:00
Jainil Prajapati 🪐andGitHub d5a74cab26 Adding new templates (#247)
* Remove duplicate GitLab CI entry and add Link Stack entry to meta.json

* Update Movary blueprint with simplified Docker Compose and environment configuration

* Add OpenGist entry to meta.json

* Add Snapp self-hosted screenshot sharing service entry to meta.json

* Add CommaFeed feed reader entry to meta.json

* Add ConvertX media conversion service entry to meta.json

* Add MeTube YouTube downloader entry to meta.json

* Add Pinchflat YouTube  entry to meta.json

* Add yt-dlp-webui entry to meta.json

* Add FlareSolverr proxy service entry to meta.json

* Add Neko virtual browser entry to meta.json

* Add Omni-Tools entry to meta.json

* Add OpenHands AI agents platform entry to meta.json

* Add Web-Check website analyzer entry to meta.json

* Add DumbDrop file sharing service entry to meta.json

* Add DumbAssets entry to meta.json

* Add DumbPad notepad service entry to meta.json

* Add DumbBudget self-hosted budget tracking service entry to meta.json

* Add Tianji web analytics and uptime monitoring service entry to meta.json

* Add Directory Lister entry to meta.json

* Add Grimoire bookmarking app entry to meta.json

* Clean Up

* Update Movary blueprint with environment variables and MySQL configuration
2025-07-27 22:40:54 -06:00
Vitor LeonelandGitHub c7fb4d8166 chore: bump n8n version to 1.104.0 (#241) 2025-07-25 00:45:53 -06:00
Khiet Tam NguyenandGitHub 36ff89f088 chore(blueprint): update rybbit to v1.5 (#235)
* chore(blueprint): update rybbit to v1.5

* chore(template): bump rybbit to 1.5.1
2025-07-25 00:42:27 -06:00
a286a9b4a6 Update meta.json (#239)
Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-07-25 00:40:37 -06:00
Tony HartandGitHub dc5157449d add keycloak template (#243) 2025-07-25 00:39:01 -06:00
Jainil Prajapati 🪐andGitHub 82c1680e86 Refactor open-webui Docker Compose and template configurations (#217)
* Refactor open-webui Docker Compose and template configurations

- Commented out the ollama service in docker-compose.yml for clarity and potential future use.
- Updated the webui service to include extra_hosts for improved networking.
- Adjusted the port configuration in template.toml from 8_080 to 8080 for consistency.
- Added a new webui_secret_key variable for enhanced security in the template.
- Included environment variable comments for optional services like Playwright and stable-diffusion-webui.

* Update Docker Compose configurations and enhance security features

- Commented out the ollama service in docker-compose.yml for clarity.
- Updated webui service with extra_hosts for improved networking.
- Adjusted port configuration in template.toml to ensure consistency.
- Introduced webui_secret_key variable for enhanced security.
- Added comments for optional environment variables related to Playwright and stable-diffusion-webui.

* Update Docker Compose and template configurations for Open WebUI

- Refined the open-webui service in docker-compose.yml by specifying the main image tag and adding port configuration.
- Enhanced environment variable setup for improved clarity and security, including the addition of webui_secret_key.
- Updated template.toml to reflect the new structure for environment variables and mounts, ensuring consistency with docker-compose.yml.
- Added comments for optional services like Ollama, Playwright, and Stable Diffusion to guide future configurations.
2025-07-20 21:53:31 -06:00
Nicolas SANSandGitHub 8f887d08b8 Add Memos entry (#234)
* Add Memos service and configuration files

* Refactor docker-compose.yml: update environment variable syntax for Memos service

* Update docker-compose.yml and template.toml: adjust environment variable syntax and change MEMOS_MODE value

* Add GitLab CE entry to meta.json and update Memos version to latest
2025-07-20 21:47:13 -06:00
Jainil Prajapati 🪐andGitHub 8a803ae66a Add Linkding entry to meta.json (#231)
* Add GitLab CE entry to meta.json

- Introduced a new entry for GitLab Community Edition, including a detailed description, logo, and relevant links.
- Reformatted tag lists for consistency across all entries.

* Add Linkding entry to meta.json

- Introduced a new entry for Linkding, a self-hosted bookmark manager, including a description, logo, and relevant links.
- Updated tag lists to include "bookmark-manager" and "self-hosted" for better categorization.
2025-07-20 21:46:35 -06:00
Jainil Prajapati 🪐andGitHub d2f3a95d7e Add Kener entry to meta.json and improve JSON encoding in TemplateDialog (#229)
* Add Kener entry to meta.json and improve JSON encoding in TemplateDialog

- Introduced Kener, an open-source status page system, to meta.json with relevant links and tags.
- Updated TemplateDialog to use encodeURIComponent for proper handling of Unicode characters in JSON encoding.
- Removed unnecessary console log from TemplateGrid for cleaner code.

* Update Kener logo in meta.json and remove old logo file

- Changed the logo reference for Kener in meta.json from 'kener.png' to 'image.png'.
- Deleted the outdated 'kener.png' file from the repository.

* Add GitLab CE entry to meta.json

- Introduced GitLab Community Edition with a detailed description, logo, and relevant links.
- Updated tags for better categorization, including 'git', 'ci-cd', 'version-control', and 'project-management'.
2025-07-20 21:45:10 -06:00
Jainil Prajapati 🪐andGitHub 48b5798a91 Add GitLab CE entry to meta.json (#230)
- Introduced a new entry for GitLab Community Edition, including a detailed description, logo, and relevant links.
- Reformatted tag lists for consistency across all entries.
2025-07-20 21:42:30 -06:00
Jainil Prajapati 🪐andGitHub 734c7ff819 add EZBookkeeping entry (#223)
* add EZBookkeeping entry

* Add GitLab CE entry to meta.json

- Introduced a new entry for GitLab Community Edition, including its description, logo, and relevant links.
- Added tags for better categorization: git, ci-cd, version-control, project-management.
2025-07-20 21:38:21 -06:00
Jainil Prajapati 🪐andGitHub 0ff9c62a31 Add I Hate Money entry to meta.json (#227)
* Add I Hate Money entry to meta.json

- Introduced a new entry for I Hate Money, a web application for managing shared expenses, including relevant links and tags.

* Add GitLab CE entry to meta.json

- Introduced a new entry for GitLab Community Edition, including a detailed description, logo, relevant links, and tags for better categorization.
2025-07-20 21:37:30 -06:00
532eb65cbc Add Cap.so entry to meta.json (#226)
* Add Cap.so entry to meta.json

- Introduced Cap.so, a platform for web and desktop applications with MySQL and S3 storage, including relevant links and tags.
- Reformatted tag lists for consistency across all entries.

* Add GitLab CE entry to meta.json

- Introduced GitLab Community Edition, a free and open source platform for managing Git repositories and CI/CD pipelines, with relevant links and tags.
- Ensured consistency in tag formatting across all entries.

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-07-20 21:35:44 -06:00
Jainil Prajapati 🪐andGitHub 1723abe711 Add Authentik entry to meta.json (#225)
* Add Authentik entry to meta.json

- Introduced Authentik, an open-source Identity Provider for authentication and authorization, with detailed description, version, and relevant links.
- Reformatted tag lists for consistency across entries.

* Add GitLab CE entry to meta.json

- Introduced GitLab Community Edition with a detailed description, logo, and relevant links.
- Reformatted tag lists for consistency across entries.
2025-07-20 21:33:17 -06:00
f5a50d2e12 added CyberChef entry (#221)
* Refactor meta.json: standardize tag formatting and add CyberChef entry

- Reformatted tag lists for consistency across all entries in meta.json.
- Added new entry for CyberChef, including relevant links and tags.

* Add MAZANOKE and SearXNG entries to meta.json

- Introduced MAZANOKE, a self-hosted image hosting platform, with relevant links and tags.
- Added SearXNG, a privacy-respecting metasearch engine, including detailed description and tags for better categorization.

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-07-11 23:59:35 -06:00
99c5ac71e8 Refactor meta.json: streamline tag formatting and add MAZANOKE entry (#220)
- Reformatted tag lists for consistency across multiple entries.
- Added new entry for MAZANOKE, a self-hosted image hosting platform, including relevant links and tags.

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-07-11 23:56:42 -06:00
04d7e165b1 Refactor meta.json: standardize tag formatting and add SearXNG entry (#219)
- Reformatted tag lists for consistency across all entries.
- Added new entry for SearXNG, a privacy-respecting metasearch engine, with relevant details and tags.

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-07-11 23:50:02 -06:00
Mauricio Siu c4062759cc Remove container names from Filestash and WOPI server in docker-compose.yml for improved configuration simplicity. 2025-07-11 23:46:43 -06:00
Manan SantokiandGitHub a6ae3bd8d8 Adds Filestash blueprint (#218)
* Adds Filestash blueprint

Adds a new blueprint for deploying Filestash, a web-based file manager, along with a Collabora Online instance for document editing.

The blueprint includes:
- Docker Compose configuration for Filestash and Collabora Online.
- Configuration template for setting up domains and environment variables.
- An SVG logo for Filestash.

This enables users to easily deploy a complete Filestash instance with document editing capabilities.

* Renames file to docker-compose.yml

* Adds Filestash app to the meta.json

Adds Filestash, a file manager that connects storage with identity providers and authorizations, to the list of available applications.

* Config for domain handling

Simplifies domain configuration by removing the dedicated
`wopi_server` domain and adjusting the APPLICATION_URL. This
streamlines the setup and ensures correct URL handling.

Adds a comment in the docker-compose file to indicate SSL configuration.
2025-07-11 23:45:37 -06:00
Valeh IsmayilovandGitHub 26ead8418d GitLab CE Template (#214)
* Enhance meta.json: add GitLab Community Edition entry with detailed description, logo, and links; format tag lists for consistency.

* Refactor docker-compose.yml for GitLab CE: remove unnecessary version declaration, simplify port mappings, and eliminate unused network configurations.

* Add Casdoor and Zitadel blueprints: include docker-compose files, template configurations, and metadata entries with descriptions, logos, and links for both identity management platforms.
2025-07-11 23:42:54 -06:00
Tony HartandGitHub 5dd4f752e0 add zitadel template (#209)
* add casdoor templates

* fix meta json casdoor

* fix casdoor templates

* improve templates

* fix meta and improve casdoor template

* fix app conf

* fix db casdoor app conf

* update app conf var path

* app config mount fix v6

* fix appconf v7

* fix casbin url image

* test postgress anjg

* mounted file is wrong

* remove casdoor

* add zitadel templates

* update passwd masterkey

* update master key length

* improve env var default template

* improve env var for default login

* passwd generated dont meet zitadel criteria

* disable smtp host for first launch app

* use tls as default

* tls mode external

* remove unused env

* change tls model

* change external port

* test tls traefik

* test disable tls

* disable tls

* external port

* remove env var

* port binding fix

* remove bridge network and fix and update meta json
2025-07-06 22:34:00 -06:00
Tony HartandGitHub e83a6cc569 add casdoor template (#213)
* add casdoor template

* fix icon

* improve default admin passwd

* improve casdoor init json

* add env

* try fix origin url behind traefik

* try fix https

* test configurable host/domain

* more consistent domain var

* change host env var

* to fix well know open id is manually editing the config file

* remove default defined dokploy network
2025-07-06 21:14:02 -06:00
Mauricio Siu b6e487550d Add pull request template for consistent PR submissions
- Introduced a new pull request template to guide contributors in providing necessary information and ensuring best practices are followed before submission.
- Included a checklist for testing and issue linking to streamline the review process.
2025-07-06 17:44:13 -06:00
Mauricio Siu ef5505d6fa Add general suggestions for creating templates in README.md
- Included best practices for Docker Compose and template.toml configurations.
- Emphasized the importance of service name consistency and testing templates before PR submission.
2025-07-06 17:40:19 -06:00
Mert DoğrucaandGitHub abc24825f0 [Colanode] Wrong env names (#204)
* Update docker-compose.yml

* Update docker-compose.yml
2025-07-05 00:48:54 -06:00
Mert DoğrucaandGitHub 770b015a88 Update docker-compose volumes (#203) 2025-07-05 00:46:42 -06:00
DaivmaNandGitHub 1d567e4df9 feat(blueprint): add RabbitMQ (#195) 2025-06-24 22:00:42 -06:00
32e54beda1 Enhance meta.json: format tag lists for consistency, add new entries … (#194)
* Enhance meta.json: format tag lists for consistency, add new entries for KaraKeep, FreshRSS, and Movary with detailed descriptions and links.

* Update blueprints/freshrss/docker-compose.yml

* Update blueprints/karakeep/docker-compose.yml

* Update blueprints/karakeep/docker-compose.yml

* Update blueprints/karakeep/docker-compose.yml

* Update blueprints/karakeep/docker-compose.yml

* Update blueprints/movary/docker-compose.yml

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-06-24 21:59:20 -06:00
3b8d33e429 add go whatsapp web multidevice (#193)
* add go whatsapp web multidevice

* fix svg name

* fix tag

* Update blueprints/go-whatsapp-web-multidevice/docker-compose.yml

* Update blueprints/go-whatsapp-web-multidevice/docker-compose.yml

* Update blueprints/go-whatsapp-web-multidevice/docker-compose.yml

* Update blueprints/go-whatsapp-web-multidevice/template.toml

* Update blueprints/go-whatsapp-web-multidevice/docker-compose.yml

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-06-24 21:49:47 -06:00
TilloandGitHub 2fc9b11bb4 Update Pocketbase docker-compose.yml (#192)
Change the Pocketbase Docker image to a working version in the compose file.
2025-06-24 21:43:44 -06:00
HoshangDEVandGitHub 23929d12b6 Updated Minio docker-compose.yml (#189)
* Update docker-compose.yml

- Added the last image version of Minio before they remove most of the admin ui as comment.

* Update docker-compose.yml
2025-06-22 11:10:26 -06:00
Daniel Luiz AlvesandGitHub a5ab5227e6 fix(palmr): update docker-compose to use right environment variable (#188) 2025-06-22 11:10:03 -06:00
08273b4a14 This PR replaces and supersedes #39. (#162)
* feat(blueprint): added docuseal

* feat: add Docuseal document management system

* feat: restructure docker-compose for Docuseal application setup

* feat(docker-compose): remove unused port mapping and clean up redis service configuration

* Update blueprints/docuseal/docker-compose.yml

* Update blueprints/docuseal/docker-compose.yml

* Update blueprints/docuseal/template.toml

* This PR replaces and supersedes #39.

Changes and improvements:
- Fully resolved merge conflict in meta.json
- Added missing JWT secret handling using `${password:32}`
- Synced `template.toml` and `docker-compose.yml` with proper environment variable mapping
- Ensured domain and service configuration matches Dokploy standards
- Minor cleanup for clarity and deployment safety

Original credit to @maelpr for the initial submission.

This version ensures a clean, deployable, and secure Dokploy template for Kutt.

* fix: add missing commas in environment variable definitions

* Update blueprints/kutt/template.toml

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-06-19 22:47:44 -06:00
Khiet Tam NguyenandGitHub 1d388036d5 fix(blueprint): disable healthcheck logging for gotenberg (#186) 2025-06-19 22:40:15 -06:00
Chetra ChannandGitHub 20748026ab Updated WordPress template ⬆️🎉 (#185)
* ⬆️ Upgrate Penpot to 2.6.1

* Update wordpress
2025-06-19 22:38:54 -06:00
f878f051eb Update docker-compose.yml (#183)
* Update docker-compose.yml

* Update blueprints/zipline/docker-compose.yml

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-06-19 22:36:29 -06:00
3ad8faef3d feat: add palmr blueprint for self-hosted file sharing (#181)
* feat: add palmr blueprint for self-hosted file sharing

Add new blueprint configuration for Palmr, an open-source alternative to WeTransfer. Includes docker-compose setup, template configuration, and meta.json entry.

* docs: update Palmr links in meta.json

* Update blueprints/palmr/docker-compose.yml

* Update blueprints/palmr/docker-compose.yml

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-06-19 22:34:05 -06:00
Dean KerrandGitHub 0e0c888022 fix(blueprint): generate 32-byte hex secret_key with hash helper (#167) 2025-06-19 22:29:36 -06:00
zhengpengxinandGitHub 961bb60620 Add Typecho template (#165)
* Add Typecho template

* Resolve the Docker Compose error issue
2025-06-19 22:25:12 -06:00
Khiet Tam NguyenandGitHub f55f521dd2 fix(blueprint): rybbit v1.2.0 (#160)
* fix(blueprint): rybbit v1.0, no more /api stripping

Release notes:
- https://github.com/rybbit-io/rybbit/releases/tag/v1.0.0

Migration guide:
- https://www.rybbit.io/docs/v1-migration

* fix(blueprint): rybbit /health -> /api/health in v1.0.0

* docs(blueprint): notes on rybbit domain

* fix(blueprint): use version tag 1.0.0 in docker compose

* fix(blueprint): bump clickhouse and postgres versions for rybbit

* fix(blueprint): remote clickhouse config.d volume

* fix(blueprint): remove network configurations

* docs(blueprint): rybbit CORS typo

* docs(blueprint): rybbit only supports HTTPS

* feat(blueprint): rybbit clickhouse config mounted, bump versions

* chore(blueprint): bump rybbit version in meta.json

* deps: bump rybbit to v1.2.0
2025-06-19 22:23:44 -06:00
Benjamin NussbaumandGitHub fe4fdd45f7 feat(blueprint): update trmnl-byos-laravel template (#166) 2025-06-04 19:53:58 -06:00
M4rshe1andGitHub bd94358f67 Added missing https:// to bolt.diy link (#164) 2025-06-04 19:49:33 -06:00
Mauricio Siu 9d850a0672 feat: add bug report template for open source projects 2025-06-01 15:21:32 -06:00
Mauricio Siu 963bb37adf chore: update feature request template to improve clarity and remove required fields 2025-06-01 15:17:30 -06:00
Mauricio Siu 5a657cedfd feat: add feature request template for new project suggestions 2025-06-01 15:16:40 -06:00
Sandipan SinghandGitHub 4ac9ddf87a chore(appwrite): bump version to 1.6.1 (#136) 2025-06-01 15:00:45 -06:00
fcdd2de945 feat(blueprint): added seafile (#135)
* feat(blueprint): added seafile

* fix: quote strings

* fix: quote all strings for seafile template.toml

* docs: seafile notes for deployment and configs

* docs: tweak wording for seafile domain change

* fix(seafile): default logging to stdout

* fix: switch to named volumes

* fix: improve security with generated passwords

* chore: remove unused volume env

* chore: remove outdated docs

* docs: updated seafile domain change instructions to be within container

* docs: further tweaks to seafile docker-compose instructions

* docs: remove section on domain configurations

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-06-01 14:57:44 -06:00
Khiet Tam NguyenandGitHub 72744d1166 feat(blueprint): healthcheck added for rybbit backend service (#151)
https://github.com/rybbit-io/rybbit/pull/261
2025-06-01 14:55:54 -06:00
2a342e8465 feat(blueprint): added docuseal (#159)
* feat(blueprint): added docuseal

* feat: add Docuseal document management system

* feat: restructure docker-compose for Docuseal application setup

* feat(docker-compose): remove unused port mapping and clean up redis service configuration

* Update blueprints/docuseal/docker-compose.yml

* Update blueprints/docuseal/docker-compose.yml

* Update blueprints/docuseal/template.toml

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-06-01 14:55:13 -06:00
RexandGitHub b51036d4af fix: use caddy built-in metrics endpoint for health check to avoid early closed conns. (#153) 2025-06-01 14:52:31 -06:00
Ali AlNaghmousghandGitHub c8c9d138d1 chore: update stalwart mail server image reference (#158)
Update the docker-compose.yml to use the correct image name stalwartlabs/stalwart instead of stalwartlabs/mail-server. Also add a comment recommending to use specific version tags for production environments.
2025-06-01 14:51:11 -06:00
ARUNAVO RAYandGitHub 09b85f80c0 feat(blueprint): added gitea-mirror template (#157)
* Add gitea-mirror template

- Add docker-compose.yml with gitea-mirror service configuration
- Add template.toml with domain and environment variable setup
- Include logo image (gitea-mirror.png)
- Template supports automatic GitHub to Gitea repository mirroring
- Configurable through environment variables or web UI

* Updated meta.json
2025-06-01 14:50:51 -06:00
72e926ea89 ⬆️ Update Supabase template to version 1.25.03 (#76)
* ⬆️ Update Supabase template to version 1.25.03

* 🐛 Fix url in mail pointing to kong

* ✨ Use new jwt helpers to generate unique jwts

* 📝 Update README to reflect new changes in helpers

 - related PR on dokploy https://github.com/Dokploy/dokploy/pull/1749

* ✨ Add pre0.21.8 version of supabase template + use jwt generation in newer template

* 🔧 Add field dokploy_version for supabase templates

* ⬆️ Update supabase version to 1.25.04 for dokploy >=0.1.28

* 🐛 Fix logs in supabase by adding dynamic container names and modifying vector.yml

* ⬆️ Backport supabase 1.25.04 for dokploy < 0.21.8

* 📝 Add link to supabase self-hosting documentation in env file

* 🚚 Change container_name_prefix to include appName

* Update blueprints/pre0.21.8-supabase/template.toml

* Update blueprints/supabase/template.toml

* 🐛 Fix template using appname in older version of template

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-05-28 02:36:23 -06:00
Joel Outeiro PérezandGitHub c1b9d80ba6 fix(update): logto version number (#148) 2025-05-24 17:53:46 -06:00
Ali AlNaghmousghandGitHub ae4cbe2fa1 feat: add Stalwart Mail Server (#146)
This commit introduces a new blueprint for the Stalwart Mail Server, including configuration templates, Docker Compose setup, and metadata updates. The blueprint enables self-hosted email solutions with support for JMAP, IMAP4, POP3, and SMTP protocols.
2025-05-24 17:53:11 -06:00
108df8f4ff feat: add Flagsmith Blueprint (#147)
* feat(blueprints): add Flagsmith blueprint

* Update blueprints/flagsmith/docker-compose.yml

* Update blueprints/flagsmith/docker-compose.yml

* Update blueprints/flagsmith/docker-compose.yml

* Update blueprints/flagsmith/docker-compose.yml

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-05-24 17:50:26 -06:00
ArobandGitHub f3358000b1 FreeScout template (#149)
* Add FreeScout template

* Final commit. Tested and working.
 - opted to use internal db rather than external
 - http instead of https for traefik-generated domain
2025-05-24 17:42:20 -06:00
7c91a413c0 Update OpenResty Manager (#144)
* Create docker-compose.yml

* Create template.toml

* Add files via upload

* Update meta.json

* Update meta.json

* Update blueprints/openresty-manager/docker-compose.yml

* Update docker-compose.yml

* Update meta.json

* Update docker-compose.yml

OK, I will remove "network_mode: host", since it does't work on this platform, sorry for this!

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-05-18 14:41:14 -06:00
0126634ec8 feat: add trmnl-byos-laravel template (#141)
Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-05-17 03:30:12 -06:00
Joel Outeiro PérezandGitHub caa7e3c83f update: blueprints/logto/docker-compose.yml (#127) 2025-05-17 03:22:25 -06:00
6a3e256adf feat(blueprint): added chibisafe template (#131)
* feat(blueprint): added chibisafe template

* chore: remove spacing

* fix: use caddy as service name

* fix: added default credentials

* feat: added healthcheck and internal network

* fix: remove expose

* fix: documentation links

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-05-17 03:20:46 -06:00
Nhat BuiandGitHub ba8accbe1e feat: Add bolt.diy template (#140)
- Introduced a new entry for bolt.diy, a tool for managing full-stack web applications with LLMs.
- Included relevant details such as version, description, logo, links, and tags.
2025-05-17 03:18:24 -06:00
Narendra PatwardhanandGitHub 6e9ad3e294 Convex version bump (#139) 2025-05-17 03:16:05 -06:00
258de45d35 feat: add template for colanode (#137)
* feat: add template for colanode

- Introduced Colanode Server (v0.1.6), an open-source alternative to Slack and Notion.
- Added relevant details including description, logo, links to GitHub, website, and documentation.
- Tagged with documentation, knowledge-base, and collaboration.

* Update blueprints/colanode/docker-compose.yml

* Update blueprints/colanode/docker-compose.yml

* Update blueprints/colanode/docker-compose.yml

* Update blueprints/colanode/docker-compose.yml

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-05-17 03:15:40 -06:00
Bakir GracićandGitHub 68bef2b208 bump PocketBase version to 0.28.0 (#129) 2025-05-17 03:09:48 -06:00
58412838e5 Add OpenResty Manager (#142)
* Create docker-compose.yml

* Create template.toml

* Add files via upload

* Update meta.json

* Update meta.json

* Update blueprints/openresty-manager/docker-compose.yml

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-05-17 03:09:25 -06:00
db468b6b43 feat(blueprint): added rybbit template (#143)
* feat(blueprint): added rybbit template

* feat: add rybbit entry to meta.json

* docs: added rybbit self-hosting-advanced link as comment to docker-compose.yml

* fix: remove default env args in docker-compose

* chore: re-order rybbit_postgres env

* fix: added missing clickhouse_user env

* Update blueprints/rybbit/template.toml

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-05-17 03:07:52 -06:00
MaelandGitHub ae31e8d49b Update template.toml (#123) 2025-05-10 03:39:50 -06:00
Bakir GracićandGitHub 6ce8ec4533 fix internal path on mounts in docker compose (#124) 2025-05-10 03:35:21 -06:00
a569182366 update pocketbase to 0.27.2 (#117)
* update pocketbase to 0.27.2

* Update blueprints/pocketbase/docker-compose.yml

* Update blueprints/pocketbase/docker-compose.yml

* Update blueprints/pocketbase/docker-compose.yml

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-05-08 00:28:28 -06:00
jeff-handGitHub 754c85368d Upgrade Listmonk to v5.0.0 (#112)
* Update Listmonk to version 5.0.0

Also move environment variables to Dokploy's environment management.

* Refactor Listmonk upgrade to v5.0.0

Move unused env variables back to compose file. Remove unnecessary setup container.
2025-05-07 01:41:03 -06:00
Chetra ChannandGitHub 2a6bafb54b ⬆️ Upgrate Penpot to 2.6.1 (#104) 2025-05-07 01:15:02 -06:00
Jonathan GottiandGitHub 2d5a878cfe ♻️ Refacto minio template (#65)
* ♻️ Refacto minio template

- add random password generation
- forward port 9000 and expose 9001 through traefik
- add some comments to add some volume setting info

* 🔧 Remove domain config for port 9000

- 🐛 Fix redirection loop by adding MINIO_BROWSER_REDIRECT=false
2025-05-07 01:11:24 -06:00
Vyacheslav ScherbininandGitHub f4b940cfb8 Home Assistant template (#81)
* feat: homeassistant

* absolute path

* homeassistant port

* Mount config files
2025-05-07 01:09:48 -06:00
Dries AugustynsandGitHub 6b6f37c7fd Fix: Bump version of Formbricks template (#115) 2025-05-05 02:39:53 -06:00
Ahmed RowaihiandGitHub c0c9b6492a fix(meta.json): stack-auth (#102) 2025-04-27 16:35:34 -06:00
a8e8f564b3 Autobase template (#103)
* feat: add Autobase template

* Added Autobase, an open-source alternative to cloud-managed databases, to the meta.json file with relevant details including version, description, links, logo, and tags.

* Update blueprints/autobase/docker-compose.yml

* Update blueprints/autobase/docker-compose.yml

* Improve Autobase configuration in docker-compose.yml and template.toml

* Add Docker socket volume in docker-compose.yml to enhance container communication.
* Update PG_CONSOLE_API_URL in template.toml to include the API version.

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-04-27 16:35:20 -06:00
12720eb6f0 add more templates (#93)
* feat: add first stack-auth test

* fix: stack auth template.toml

* fix: stack auth compose and template

* fix: fixed serviceName on the template.toml of stack auth

* fix: database host Stack Auth

* fix: template.toml for Stack Auth

* fix: actually auto generate values for plane template

* feat: add healthcheck to minio

* Revert "feat: add healthcheck to minio"

This reverts commit 623a850976.

* fix: add STACK_EMAIL_HOST for stability, user can add it later on Environment Variables.

* fix: docker-compose of Stack Auth

* fix: plane template MINIO root for image uploads

* wtf? I merged upstream

* feat: pterodactyl template

* fix: removed xcommon from pterodactyl template

* fix: add pterodactyl to meta.json

* fix: volume names

* feat: add pyrodactyl template

* fix: renamed pyrodactyl image.png to pyrodactyl.png

* fix: Pyrodactyl takes db_password env

* fix(pyrodactyl): fix

* fix(pterodactyl): environment variables

* feat: update pocketbase

* Revert "feat: update pocketbase"

This reverts commit 036627ea98.

* fix: stackauth

- change postgres version from "latest" to "17" to prevent future conflicts
- added a health check to postgres db to ensure it's running before
  stack auth attempts to start

* fix(stackauth): wait for service_healthy rather than service_started

* fix(plane): removed double-up of variables

* Update blueprints/pyrodactyl/template.toml

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>

* Update blueprints/stack-auth/docker-compose.yml

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>

* fix: pterodactyl not launching

---------

Co-authored-by: scanash00 <scan@scanash.com>
Co-authored-by: Scan <103391616+scanash00@users.noreply.github.com>
Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-04-26 19:10:34 -06:00
Arnab MondalandGitHub 9a6c191197 feat: working Qdrant template (#91)
* feat: working Qdrant template

* Fix: config

* fix: generate domain once
2025-04-26 01:27:47 -06:00
Khiet Tam NguyenandGitHub b23709fc92 fix(superset): redis healthcheck (#90) 2025-04-26 01:27:07 -06:00
Michael KrebsandGitHub 4aa4f50d35 fix: correct beszel urls (#89)
* fix: correct beszel urls

* fix: beszel docs 404
2025-04-26 01:26:51 -06:00
Ali AlNaghmousghandGitHub 4bcf954152 chore: update Beszel version to 0.10.2 in meta.json and docker-compose.yml (#86) 2025-04-20 22:48:42 -06:00
76d84319bd feat: add Autobase template (#85)
* feat: add Autobase template

* Added Autobase, an open-source alternative to cloud-managed databases, to the meta.json file with relevant details including version, description, links, logo, and tags.

* Update blueprints/autobase/docker-compose.yml

* Update blueprints/autobase/docker-compose.yml

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-04-20 22:48:29 -06:00
3592e2b46f Homebridge template (#77)
* feat: homebridge

* Update blueprints/homebridge/docker-compose.yml

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-04-20 22:02:04 -06:00
8c1085741b Bugsink template (not yet tested) (#68)
* Bugsink template (not yet tested)

See #56

* Update blueprints/bugsink/docker-compose.yml

* Update blueprints/bugsink/template.toml

* Update blueprints/bugsink/template.toml

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-04-17 14:52:15 -06:00
Mauricio Siu 6ba3314347 fix: correct formatting in meta.json 2025-04-17 14:46:04 -06:00
495de15164 ✨ Add tooljet template (#74)
* ✨ Add tooljet template

* Update blueprints/tooljet/docker-compose.yml

* Update blueprints/tooljet/docker-compose.yml

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-04-17 14:44:04 -06:00
Khiet Tam NguyenandGitHub e739285eaa feat: add One Time Secret template (#79)
* feat: added one time secret template

* fix: updated meta.json and added svg

* chore: remove hardcoded variables
2025-04-17 14:39:04 -06:00
chilamandGitHub 7fc3f85015 Merge pull request #12 from ch1lam/patch-1
fix: Stirling PDF template is outdated.
2025-04-12 01:56:16 -06:00
Mauricio SiuandGitHub 10ca5bedcb Merge pull request #67 from jwkwon0817/feature/tailscale-exitnode
Add Tailscale ExitNode blueprint with Docker configuration and metadata
2025-04-12 01:47:35 -06:00
Jeewon KwonandGitHub ed1217f0b7 Merge branch 'main' into feature/tailscale-exitnode 2025-04-12 16:05:50 +09:00
Mauricio SiuandGitHub 94f1c616b0 Merge pull request #48 from mohabgabber/main
fix: checkmate template network issues and env vars for emails
2025-04-09 01:17:34 -06:00
Mauricio SiuandGitHub f063af3958 Merge pull request #66 from malko/adguard-port-review
🔧 Update ports to match latest adguard dockerfile
2025-04-09 01:13:57 -06:00
Mauricio SiuandGitHub 2bb50934e4 Update blueprints/tailscale-exitnode/template.toml 2025-04-09 01:12:49 -06:00
Mauricio SiuandGitHub 6d90caa3cd Update blueprints/tailscale-exitnode/template.toml 2025-04-09 01:12:17 -06:00
Mauricio SiuandGitHub 55efdf5b6e Update blueprints/tailscale-exitnode/template.toml 2025-04-09 01:12:08 -06:00
Mauricio SiuandGitHub 90198f2e88 Update blueprints/tailscale-exitnode/docker-compose.yml 2025-04-09 01:12:04 -06:00
Mauricio SiuandGitHub 989470f237 Merge pull request #69 from Dokploy-Templaters/naterfute/plane
fix: random bugs with the plane template
2025-04-09 00:58:18 -06:00
NaterfuteandGitHub b2f3d5f223 Merge branch 'Dokploy:main' into naterfute/plane 2025-04-08 23:29:03 -07:00
Mauricio SiuandGitHub 1e40cb493f Update template.toml 2025-04-08 23:28:32 -06:00
naterfute 7e1a136c34 fix: CORS_ALLOWED_ORIGINS not being https 2025-04-08 10:36:25 -07:00
jwkwon0817 70992f317d Refactor SVG for Tailscale ExitNode: replace circles with paths for improved rendering 2025-04-07 18:31:52 +09:00
jwkwon0817 37835ccc55 Add Tailscale ExitNode entry to meta.json 2025-04-07 18:26:27 +09:00
jwkwon0817 5b54ed1106 Add Tailscale ExitNode blueprint with Docker configuration, SVG logo, and metadata 2025-04-07 18:24:39 +09:00
naterfute d6015f77f0 fix: I kinda hate the templating system 2025-04-07 01:34:13 -07:00
naterfute b3bb43d4ac fix: it's $ not %% 2025-04-07 01:22:37 -07:00
naterfute a66149baaa fix: cors error 2025-04-07 00:56:08 -07:00
naterfuteandnaterfute 8e79d29319 fix: actual random values 2025-04-07 00:52:51 -07:00
scanash00andnaterfute 3ab1c39b1a fix: plane template 2025-04-07 00:51:13 -07:00
Jonathan Gotti 6a0b3b6644 🔧 Update ports to match latest adguard dockerfile 2025-04-07 02:09:02 +02:00
Mauricio SiuandGitHub cf34abcfa6 Merge pull request #52 from Dokploy-Templaters/main
feat: add various one-click templates
2025-04-06 00:50:32 -06:00
55cc6ca8d7 Update blueprints/plane/docker-compose.yml
Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-04-05 22:44:47 -08:00
5abff0c8f6 Update blueprints/plane/docker-compose.yml
Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-04-05 22:44:34 -08:00
467d0b81b8 Update blueprints/plane/docker-compose.yml
Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-04-05 22:44:10 -08:00
dd2041ee66 Update blueprints/plane/docker-compose.yml
Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-04-05 22:44:01 -08:00
03248f37a1 Update blueprints/plane/docker-compose.yml
Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-04-05 22:41:42 -08:00
4be40767ad Update blueprints/plane/docker-compose.yml
Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-04-05 22:41:16 -08:00
75d77725be Update blueprints/plane/docker-compose.yml
Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-04-05 22:41:03 -08:00
b41e7518c7 Update blueprints/plane/docker-compose.yml
Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-04-05 22:40:50 -08:00
837087c29a Update blueprints/plane/docker-compose.yml
Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-04-05 22:31:53 -08:00
bac178d39b Update blueprints/plane/docker-compose.yml
Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-04-05 22:31:43 -08:00
7b017a1b26 Update blueprints/plane/docker-compose.yml
Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-04-05 22:31:29 -08:00
b38494571c Update blueprints/plane/docker-compose.yml
Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-04-05 22:31:14 -08:00
65f905a20e Update blueprints/plane/docker-compose.yml
Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-04-05 22:31:04 -08:00
a3502c0b54 Update blueprints/lodestone/docker-compose.yml
Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-04-05 22:30:43 -08:00
9e85f8cf5e Update blueprints/focalboard/docker-compose.yml
Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-04-05 22:30:00 -08:00
74b94507d2 Update blueprints/lodestone/docker-compose.yml
Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-04-05 22:29:48 -08:00
naterfute 3b48e24dfc fix: set database password for focalboard and mattermost to be auto generated 2025-04-05 20:08:17 -07:00
naterfute dff9c63554 lint: removed random whitespace from eol's 2025-04-05 20:07:52 -07:00
naterfute 1c74db3b93 fix: plane nginx binding to port 80 on host 2025-04-05 19:58:31 -07:00
naterfute d8ff8b7d33 fix: complete rework of plane template 2025-04-04 23:08:15 -07:00
scanash00 b643f242a4 fix: reference DFLY_requirepass in the DragonflyDB compose 2025-04-03 23:15:08 -08:00
Mohab Gabber 4a0dcda6f7 Merge branch 'main' of https://github.com/Dokploy/templates 2025-04-03 15:07:41 +02:00
Mohab Gabber bc156c6ddf fix: update docker-compose to use HTTPS and remove unused networks 2025-04-03 15:01:42 +02:00
scanash00 40f63e75dc fix: dragonflydb env 2025-04-03 01:47:16 -08:00
naterfute 822fb4d03d fix(meta): plane docs 2025-04-02 23:55:04 -07:00
naterfute 398e96431c fix(meta): focalboard docs 2025-04-02 23:52:32 -07:00
NaterfuteandGitHub 29d76e31e1 Merge branch 'Dokploy:main' into main 2025-04-02 23:51:37 -07:00
naterfute 9403d32703 fix(plane): entrypoint commands 2025-04-02 23:48:54 -07:00
Mauricio SiuandGitHub 151ecb4bf1 Merge pull request #58 from wrussell1999/kestra
feat: add Kestra
2025-04-03 00:45:09 -06:00
Mauricio SiuandGitHub 0323d3db43 Update blueprints/kestra/docker-compose.yml 2025-04-03 00:45:03 -06:00
Mauricio SiuandGitHub f455de7c92 Merge pull request #59 from Dokploy/feat/ci-cd-validate
chore: enhance README with new helper variables and add meta.json val…
2025-04-03 00:42:41 -06:00
Mauricio Siu 5a91d6ff8b chore: add website links to various entries in meta.json for improved resource accessibility 2025-04-03 00:42:09 -06:00
Mauricio Siu 8069689a73 chore: streamline meta.json validation process by removing debug output and optimizing entry checks 2025-04-03 00:40:08 -06:00
Mauricio Siu 076c82490c chore: improve meta.json validation with detailed error reporting and debug output 2025-04-03 00:38:14 -06:00
Mauricio Siu 38e0936ae5 chore: add validation checks for meta.json in CI workflow 2025-04-03 00:36:15 -06:00
naterfute 436db2ee24 fix(plane): default version 2025-04-02 23:35:55 -07:00
Mauricio Siu fc4d766fd9 chore: enhance README with new helper variables and add meta.json validation in CI workflow 2025-04-03 00:26:57 -06:00
naterfute 431785eb86 fix: changed to pre-built proxy image 2025-04-02 22:56:07 -07:00
Mauricio SiuandGitHub a21c480fd5 Update template.toml 2025-04-02 22:53:02 -06:00
Mauricio SiuandGitHub ba22a72791 Update README.md 2025-04-02 22:52:44 -06:00
Mauricio SiuandGitHub 4fc3f8ec1b Merge pull request #57 from wrussell1999/patch-1 2025-04-02 21:54:34 -06:00
naterfute d19aa4cd2f fix(plane): entrypoint path 2025-04-02 20:20:49 -07:00
naterfute 8efd3531e1 fix(plane): point entrypoints to the correct spot 2025-04-02 20:13:26 -07:00
naterfute 6857464f11 add entrypoints for plane 2025-04-02 20:12:34 -07:00
naterfute 3c0006d7de fix: renambed nginx container to proxy 2025-04-02 19:56:36 -07:00
naterfute 2277a1c0ac feat: added proxy to plane and fixed minor issues 2025-04-02 19:54:06 -07:00
naterfute 4d37936413 fix: postgres data \ndifferencen 2025-04-02 18:45:55 -07:00
naterfute 52a4934c8a fix: psotgres environment variables 2025-04-02 18:34:13 -07:00
naterfute 3e2d974ef7 fix: env file in plane docker 2025-04-02 18:00:46 -07:00
naterfute 49f172f843 added environment files to all containers 2025-04-02 17:53:23 -07:00
naterfute 32bd26c430 added environment files to all containers 2025-04-02 17:47:32 -07:00
naterfute 030132e0f0 fix: postgresql variables 2025-04-02 17:41:51 -07:00
naterfute 73e056ae2e fix: entrypoint paths 2025-04-02 16:41:48 -07:00
naterfute 9a6c0310f5 fix: plane service name 2025-04-02 16:26:34 -07:00
naterfute 0560dc6eb9 fix: plane template.toml env 2025-04-02 16:21:07 -07:00
naterfute 6218addb4e fix: update plane template.toml 2025-04-02 15:27:54 -07:00
naterfute 2ff4627daf add plane 2025-04-02 15:22:28 -07:00
Will RussellandGitHub 6e6ea19a1a fix: version to latest 2025-04-02 16:53:21 +01:00
Will RussellandGitHub 9290888ebe feat: add kestra 2025-04-02 16:44:31 +01:00
Will RussellandGitHub 6e81f994d0 fix: template files in README 2025-04-02 16:35:51 +01:00
NaterfuteandGitHub 5589170332 Merge branch 'Dokploy:main' into main 2025-04-02 04:52:57 -07:00
naterfute 0dfada150a feat: add focalboard 2025-04-02 03:43:38 -07:00
Mauricio SiuandGitHub ffc5d35fc9 Merge pull request #54 from ch1lam/feat-add-rsshub
feat: add RSSHub
2025-04-02 00:46:09 -06:00
Mauricio SiuandGitHub 0d70260001 Update template.toml 2025-04-01 23:37:48 -06:00
Mauricio SiuandGitHub 6212412fb1 Update blueprints/rsshub/template.toml 2025-04-01 23:34:19 -06:00
Mauricio SiuandGitHub 3ead11da53 Merge pull request #53 from malko/main
vaultwarden template update (security fixs)
2025-04-01 23:33:13 -06:00
chilam 1ddf0b13d3 feat: add RSSHub 2025-04-02 10:04:10 +08:00
Jonathan Gotti 93740b4f94 vaultwarden template update (security fixs) 2025-04-02 01:04:39 +02:00
naterfute 699adabd53 mattermost: update version 9.11.6 -> 10.6.1(meta file) 2025-04-01 01:24:11 -07:00
naterfute ace5787fd3 mattermost: update version 9.11.6 -> 10.6.1 2025-04-01 01:23:26 -07:00
scanash00 dc238b566c fix: dragonfly template fix 2025-04-01 00:08:43 -08:00
scanash00 421de1682b fix: dragonfly compose 2025-03-31 23:50:26 -08:00
naterfute fdc0100ce4 fix: add volumes 2025-03-31 23:13:45 -07:00
naterfute e2cb29d4e4 feat: use main_domain as mm domain 2025-03-31 22:52:00 -07:00
naterfute 2b88339dff fix: postgresql path 2025-03-31 22:41:39 -07:00
naterfute eca11956aa fix: add MATTERMOSE_READONLY env 2025-03-31 22:33:08 -07:00
scanash00 f8335d9513 fix: tags comma 2025-03-31 20:55:42 -08:00
scanash00 c226a679f6 feat: add dragonfly 2025-03-31 20:53:52 -08:00
naterfute cee3521a7f fix: random comment 2025-03-31 21:46:53 -07:00
naterfute 035222c91a Revert "feat: workflow dispatch build-previews"
This reverts commit bac5e1d3ac.
2025-03-31 21:46:38 -07:00
naterfute fcf8c695ca fix: forgejo 2025-03-31 21:39:24 -07:00
naterfute da1904fd20 fix: forgejo 2025-03-31 21:30:09 -07:00
naterfute cc1d60f925 fix: add mattermost image 2025-03-31 20:50:46 -07:00
naterfute ac498a20c2 fix: add mattermost to meta.json 2025-03-31 20:47:30 -07:00
naterfute b7e9b7fc39 mattermost 2025-03-31 20:42:55 -07:00
scanash00 2ae92dcc38 feat: add aditional tags to Lodestone 2025-03-31 18:41:53 -08:00
scanash00 f311009a26 feat: add Lodestone 2025-03-31 18:36:06 -08:00
naterfute bac5e1d3ac feat: workflow dispatch build-previews 2025-03-31 16:30:55 -07:00
naterfute c681bfca74 feat: add forgejo 2025-03-31 16:28:43 -07:00
Mauricio SiuandGitHub 2c45327e6d Update meta.json 2025-03-31 00:15:50 -06:00
Mauricio SiuandGitHub 00c052a80f Update meta.json 2025-03-31 00:13:02 -06:00
Mauricio SiuandGitHub 92838cca35 Update meta.json 2025-03-31 00:10:26 -06:00
Mauricio Siu fa3a75a9ba Implement routing and search functionality enhancements
- Wrapped the main application in a BrowserRouter to enable routing.
- Integrated react-router-dom for managing search parameters in the Search component.
- Updated search functionality to initialize from URL parameters and reflect changes in the URL when the search query is modified.
- Added logic to filter templates based on search query and selected tags, improving user experience.
2025-03-30 21:44:23 -06:00
Mauricio SiuandGitHub a22c638f82 Merge pull request #51 from Dokploy/feat/bulk-templates
Add Ackee blueprint with Docker Compose and configuration files
2025-03-30 21:39:03 -06:00
Mauricio Siu 05de6a623b Add Coral blueprint with Docker Compose and configuration files
- Introduced Docker Compose setup for Coral service, including environment variables for MongoDB and Redis configuration.
- Added logo for Coral.
- Created template.toml for Coral with default variables for configuration.
- Updated meta.json to include Coral with detailed description, logo, and relevant links.
2025-03-30 21:27:16 -06:00
Mauricio Siu e5075ade82 Add Commento blueprint with Docker Compose and configuration files
- Introduced Docker Compose setup for Commento service, including environment variables for PostgreSQL configuration.
- Added logo for Commento.
- Created template.toml for Commento with default variables for configuration.
2025-03-30 21:21:15 -06:00
Mauricio Siu 3e2083df18 Add Commento blueprint with Docker Compose and configuration files
- Introduced Docker Compose setup for Commento service, including environment variables for domain and PostgreSQL configuration.
- Added logo for Commento.
- Created template.toml for Commento with default variables for configuration.
2025-03-30 21:17:41 -06:00
Mauricio Siu 984bf1deb8 Add Confluence blueprint with Docker Compose and configuration files
- Introduced Docker Compose setup for Confluence service, including environment variables for memory and domain configuration.
- Added logo for Confluence.
- Created template.toml for Confluence with default variables for configuration.
2025-03-30 21:16:20 -06:00
Mauricio Siu 900324cbac Add Collabora Office blueprint with Docker Compose and configuration files
- Introduced Docker Compose setup for Collabora Office service, including environment variables for domain, username, and password.
- Added logo for Collabora Office.
- Created template.toml for Collabora Office with default variables for configuration.
- Updated meta.json to include Collabora Office with detailed description, logo, and relevant links.
2025-03-30 21:08:26 -06:00
Mauricio Siu 38a1a2b438 Add Codex blueprint with Docker Compose and configuration files
- Introduced Docker Compose setup for Codex service, including environment variables and volume configuration.
- Added logo for Codex.
- Created template.toml for Codex with default variables for configuration.
2025-03-30 21:06:49 -06:00
Mauricio Siu 855593defe Add Chromium blueprint with Docker Compose and configuration files
- Introduced Docker Compose setup for Chromium service, including environment variables and volume configuration.
- Added logo for Chromium.
- Created template.toml for Chromium with default variables for configuration.
2025-03-30 20:54:13 -06:00
Mauricio Siu d8bfbc796a Add Cockpit blueprint with Docker Compose and configuration files
- Introduced Docker Compose setup for Cockpit service, including environment variables and volume configuration.
- Added logo for Cockpit.
- Created template.toml for Cockpit with default variables for configuration.
- Updated meta.json to include Cockpit with detailed description, logo, and relevant links.
2025-03-30 20:50:02 -06:00
Mauricio Siu f855b8f927 Add Cloud Commander blueprint with Docker Compose and configuration files
- Introduced Docker Compose setup for Cloud Commander service, including environment variables and volume configuration.
- Added logo for Cloud Commander.
- Created template.toml for Cloud Commander with default variables for configuration.
- Updated meta.json to include Cloud Commander with detailed description, logo, and relevant links.
2025-03-30 20:44:33 -06:00
Mauricio Siu addc92abb4 Add Cloud9 blueprint with Docker Compose and configuration files
- Introduced Docker Compose setup for Cloud9 service, including environment variables and volume configuration.
- Added logo for Cloud9.
- Created template.toml for Cloud9 with default variables for configuration.
2025-03-30 20:42:58 -06:00
Mauricio Siu 86a9bfbf11 Add ClassicPress blueprint with Docker Compose and configuration files
- Introduced Docker Compose setup for ClassicPress service, including environment variables and volume configuration.
- Added logo for ClassicPress.
- Created template.toml for ClassicPress with default variables for configuration.
2025-03-30 20:40:58 -06:00
Mauricio Siu 6506639ca7 Add Chief-Onboarding blueprint with Docker Compose and configuration files
- Introduced Docker Compose setup for Chief-Onboarding service, including environment variables and volume configuration.
- Added logo for Chief-Onboarding.
- Created template.toml for Chief-Onboarding with default variables for configuration.
- Updated meta.json to include Chief-Onboarding with detailed description, logo, and relevant links.
2025-03-30 20:31:14 -06:00
Mauricio Siu 8baf6eda5c Add Chevereto blueprint with Docker Compose and configuration files
- Introduced Docker Compose setup for Chevereto service, including environment variables and volume configuration.
- Added logo for Chevereto.
- Created template.toml for Chevereto with default variables for configuration.
2025-03-30 20:29:55 -06:00
Mauricio Siu b0edca5d4d Add Changedetection blueprint with Docker Compose and configuration files
- Introduced Docker Compose setup for Changedetection service, including volume configuration.
- Added logo for Changedetection.
- Created template.toml for Changedetection with default variables for configuration.
2025-03-30 20:28:17 -06:00
Mauricio Siu ec5b95a90c Add Carbone blueprint with Docker Compose and configuration files
- Introduced Docker Compose setup for Carbone service, including environment variables and volume configuration.
- Added logo for Carbone.
- Created template.toml for Carbone with default variables for configuration.
2025-03-30 20:28:05 -06:00
Mauricio Siu f0663626eb Add Calibre blueprint with Docker Compose and configuration files
- Introduced Docker Compose setup for Calibre service, including environment variables and volume configuration.
- Added logo for Calibre.
- Created template.toml for Calibre with default variables for configuration.
- Updated meta.json to include Calibre with detailed description, logo, and relevant links.
2025-03-30 20:17:20 -06:00
Mauricio Siu a7aa98961b Add multiple blueprints to meta.json
- Added Bazarr, Beszel, ByteStash, BookStack, Bytebase, and Botpress services with detailed descriptions, logos, and relevant links.
- Each service includes tags for better categorization.
2025-03-30 20:06:32 -06:00
Mauricio Siu 06ef0b0606 Add Bookstack blueprint with Docker Compose and configuration files
- Introduced Docker Compose setup for Bookstack service, including environment variables and volume configuration.
- Added logo for Bookstack.
- Created template.toml for Bookstack with default variables for configuration.
2025-03-30 20:02:37 -06:00
Mauricio Siu f0c7410df1 Add Bytestash blueprint with Docker Compose and configuration files
- Introduced Docker Compose setup for Bytestash service, including environment variables and volume configuration.
- Added logo for Bytestash.
- Created template.toml for Bytestash with default variables for configuration.
2025-03-30 20:01:11 -06:00
Mauricio Siu 7f5965c2e0 Add Bytebase blueprint with Docker Compose and configuration files
- Introduced Docker Compose setup for Bytebase service, including environment variables and volume configuration.
- Added logo for Bytebase.
- Created template.toml for Bytebase with default variables for configuration.
2025-03-30 19:56:50 -06:00
Mauricio Siu 68b0eb4818 Add Botpress blueprint with Docker Compose and configuration files
- Introduced Docker Compose setup for Botpress service, including environment variables and volume configuration.
- Added logo for Botpress.
- Created template.toml for Botpress with default variables for configuration.
2025-03-30 15:25:00 -06:00
Mauricio Siu fe45176be5 Add Beszel blueprint with Docker Compose and configuration files
- Introduced Docker Compose setup for Beszel service, including port and volume configuration.
- Added logo for Beszel.
- Created template.toml for Beszel with default variables for configuration.
2025-03-30 15:16:33 -06:00
Mauricio Siu 7d5cb0ea67 Add Bazarr blueprint with Docker Compose and configuration files
- Introduced Docker Compose setup for Bazarr service, including environment variables and volume configuration.
- Added logo for Bazarr.
- Created template.toml for Bazarr with default variables for configuration.
2025-03-30 15:15:22 -06:00
Mauricio Siu d06d7ad2f7 Add Barrage blueprint with Docker Compose and configuration files
- Introduced Docker Compose setup for Barrage service, including environment variables and port configuration.
- Added logo for Barrage.
- Created template.toml for Barrage with default variables for configuration.
- Updated meta.json to include Barrage with detailed description, logo, and relevant links.
2025-03-30 14:52:23 -06:00
Mauricio Siu 18ee7569e2 Add Baikal blueprint with Docker Compose and configuration files
- Introduced Docker Compose setup for Baikal service, including environment variables and volume configuration.
- Added logo for Baikal.
- Created template.toml for Baikal with default variables for configuration.
2025-03-30 14:47:00 -06:00
Mauricio Siu 7d54a2eb20 Add BabyBuddy blueprint with Docker Compose and configuration files
- Introduced Docker Compose setup for BabyBuddy service, including environment variables and volume configuration.
- Added logo for BabyBuddy.
- Created template.toml for BabyBuddy with default variables for configuration.
2025-03-30 14:46:52 -06:00
Mauricio Siu 3f608566df Add automatisch blueprint with Docker Compose and configuration files
- Introduced Docker Compose setup for automatisch service, including web, worker, PostgreSQL, and Redis components with environment variables and volume configuration.
- Added logo for automatisch.
- Created template.toml for automatisch with default variables for configuration.
2025-03-30 14:44:49 -06:00
Mauricio Siu 5b9f04cb0e Add Authorizer blueprint with Docker Compose and configuration files
- Introduced Docker Compose setup for Authorizer service, including environment variables and volume configuration.
- Added logo for Authorizer.
- Created template.toml for Authorizer with default variables for configuration.
2025-03-30 14:30:02 -06:00
Mauricio Siu 82f7e739b4 Add Audiobookshelf blueprint with Docker Compose and configuration files
- Introduced Docker Compose setup for Audiobookshelf service, including environment variables and volume configuration.
- Added logo for Audiobookshelf.
- Created template.toml for Audiobookshelf with default variables for configuration.
2025-03-30 14:28:48 -06:00
Mauricio Siu c0218e8e2e Add Argilla blueprint with Docker Compose and configuration files
- Introduced Docker Compose setup for Argilla service, including web, worker, Elasticsearch, PostgreSQL, and Redis components.
- Added logo for Argilla.
- Created template.toml for Argilla with default variables for configuration.
2025-03-30 14:27:32 -06:00
Mauricio Siu a4118655ef Add anonupload blueprint with Docker Compose and configuration files
- Introduced Docker Compose setup for anonupload service with environment variables and volume configuration.
- Added logo for anonupload.
- Created template.toml for anonupload with default variables for configuration.
2025-03-30 14:24:57 -06:00
Mauricio Siu df67a6f872 Add blueprints for Ampache, AnythingLLM, Apprise API, and ArangoDB with Docker Compose and metadata
- Added entries in meta.json for Ampache, AnythingLLM, Apprise API, and ArangoDB with detailed descriptions, logos, and relevant links.
- Introduced Docker Compose configurations for each service to facilitate deployment.
- Created template.toml files for each service with default variables for configuration.
2025-03-30 14:08:45 -06:00
Mauricio Siu a679656987 Add blueprints for Adminer, Affine Pro, and AllTube with Docker Compose and metadata
- Added Adminer entry in meta.json with detailed description, logo, and relevant links.
- Introduced Docker Compose configurations for Adminer, Affine Pro, and AllTube services.
- Created template.toml files for each service with default variables for configuration.
2025-03-30 13:36:00 -06:00
Mauricio Siu ee91373ea7 Update AdGuard Home template.toml to streamline configuration
- Removed unnecessary environment variable and mounts sections for a cleaner setup.
- Ensured the template focuses on essential configuration parameters for AdGuard Home.
2025-03-30 13:21:46 -06:00
Mauricio Siu f2b6b3fa10 Reintroduce AdGuard Home entry in meta.json
- Restored AdGuard Home metadata including description, logo, links, and tags.
- Ensured consistency in the structure of the meta.json file.
2025-03-30 13:15:57 -06:00
Mauricio Siu 720ca72c0a Add AdGuard Home blueprint with Docker Compose and metadata
- Introduced AdGuard Home entry in meta.json with detailed description, logo, and relevant links.
- Added Docker Compose configuration for AdGuard Home service.
- Created template.toml for AdGuard Home configuration with default variables.
2025-03-30 13:15:20 -06:00
Mauricio Siu 60c1c62264 Refactor README and Ackee template.toml to use TOML format
- Updated README.md to replace YAML configuration with TOML format for clarity and consistency.
- Modified the Ackee template.toml to correct the host variable from `${main_domain}` to `${domain}` for accurate configuration.
2025-03-30 13:09:45 -06:00
Mauricio Siu 996600bf55 Update Ackee Docker Compose to include MongoDB data volume
- Added a volume for MongoDB to persist data across container restarts.
- Cleaned up the Docker Compose file by removing unnecessary blank lines.
2025-03-30 13:05:13 -06:00
Mauricio Siu 2b6d0cb694 Add MongoDB root password variable to Ackee template.toml
- Added MONGO_INITDB_ROOT_PASSWORD to the configuration for improved security and setup flexibility.
2025-03-30 13:02:46 -06:00
Mauricio Siu 187108f0e7 Add Ackee entry to meta.json with relevant details and links
- Included Ackee as a self-hosted analytics tool with its description, logo, and associated links.
- Added tags for better categorization.
2025-03-30 13:00:45 -06:00
Mauricio Siu 722ce8ca2e Add Ackee blueprint with Docker Compose and configuration files
- Introduced Docker Compose setup for Ackee service and MongoDB.
- Added logo for Ackee.
- Created template.toml for Ackee configuration with default variables.
2025-03-30 12:59:48 -06:00
Mauricio SiuandGitHub e57c7cac96 Merge pull request #50 from Dokploy/feat/add-pgadmin
Add pgAdmin blueprint with Docker Compose and metadata
2025-03-30 04:37:34 -06:00
Mauricio Siu 482ad1f927 Remove unused network configuration from pgAdmin Docker Compose file 2025-03-30 04:36:08 -06:00
Mauricio Siu 495dd53f80 Update pgAdmin template.toml to set default admin email 2025-03-30 04:34:37 -06:00
Mauricio Siu 6401bbdd0a Add pgAdmin blueprint with Docker Compose and metadata
- Introduced pgAdmin entry in meta.json with relevant details and links.
- Added Docker Compose configuration for pgAdmin service.
- Included pgAdmin logo and template.toml for configuration settings.
2025-03-30 04:33:29 -06:00
Mauricio SiuandGitHub 5e53a3a4fc Merge pull request #49 from Dokploy/feat/reaplce-yaml-with-toml
Feat/reaplce yaml with toml
2025-03-30 04:12:27 -06:00
Mauricio Siu ec644490be refactor: convert template.yml files to template.toml format
- Updated the script to convert 'template.yml' files to 'template.toml' files during directory processing.
- Added new 'template.toml' files for Backrest and BlinkO blueprints with appropriate configuration settings.
2025-03-30 04:04:27 -06:00
Mauricio Siu 38e8d9e66a Merge branch 'main' into feat/reaplce-yaml-with-toml 2025-03-30 03:53:16 -06:00
Mauricio SiuandGitHub f922d109b9 Merge pull request #43 from DrMxrcy/app/blinko
Add Blinko
2025-03-30 03:51:06 -06:00
Mauricio Siu 405acfc145 Add Backrest entry to meta.json with details and links 2025-03-30 03:50:54 -06:00
Mauricio Siu 84d9271cc1 Merge branch 'main' into app/blinko 2025-03-30 03:49:40 -06:00
Mauricio SiuandGitHub 04efd82725 Update blueprints/blinko/template.yml 2025-03-30 03:47:53 -06:00
Mauricio SiuandGitHub b774a045fc Merge pull request #36 from maelp/main
Add Backrest web backup
2025-03-30 03:41:24 -06:00
Mauricio SiuandGitHub 6b2287dc9e Update docker-compose.yml 2025-03-30 03:40:41 -06:00
Mauricio Siu 71ff264c19 docs: update README to reflect changes from template.yml to template.toml
- Revised references in the README to replace 'template.yml' with 'template.toml'.
- Updated the structure section to provide details on the new TOML format for variables and configuration settings.
2025-03-30 01:39:44 -06:00
Mauricio Siu 3a1f5f7c88 refactor: standardize domain configuration in template files
- Updated the configuration structure in multiple blueprint template files to ensure consistent formatting for 'domains' and 'env' sections.
- Adjusted indentation and alignment for better readability across various templates.
2025-03-30 01:36:48 -06:00
Mauricio Siu 291ef71661 refactor: remove lowcoder template YAML file
- Deleted the 'template.yml' file from the lowcoder blueprint as part of the transition to TOML format.
2025-03-30 01:29:44 -06:00
Mauricio Siu 99304283f6 refactor: update configuration structure in lowcoder template
- Changed the configuration sections from single entries to arrays for 'domains' and 'env' in template.toml to allow for multiple configurations in the future.
2025-03-30 01:18:59 -06:00
Mauricio Siu a14872b61f fix: update ENABLE_USER_SIGN_UP value type in lowcoder template
- Changed the ENABLE_USER_SIGN_UP configuration from a string to a boolean in template.toml for better type consistency.
2025-03-30 01:16:00 -06:00
Mauricio Siu 5a9c5ccaac feat: add lowcoder template configuration in TOML format
- Introduced a new 'template.toml' file for the lowcoder blueprint.
- Defined variables and configuration settings including domain, encryption, and API key secrets.
2025-03-30 01:15:29 -06:00
Mauricio Siu 70c35b7fb7 Merge branch 'main' into feat/reaplce-yaml-with-toml 2025-03-30 01:13:45 -06:00
Mauricio Siu 4d089e1f58 refactor: remove unused blueprints path variable
- Deleted the blueprints path variable from script.js as it is no longer needed after recent changes to the template file format.
2025-03-30 00:56:01 -06:00
Mauricio Siu efe26cc173 refactor: remove deprecated YAML template files
- Deleted all 'template.yml' files from various blueprints as part of the transition to TOML format.
- Updated the script to delete the 'template.yml' files instead of converting them to 'template.toml'.
2025-03-30 00:55:40 -06:00
Mauricio Siu 2dab17bbc0 refactor: change template file format from YAML to TOML
- Updated the TemplateDialog and TemplateGrid components to use 'template.toml' instead of 'template.yml'.
- Modified the CodeEditor component to support 'toml' as a valid language option.
2025-03-30 00:54:42 -06:00
Mauricio Siu d21f87f42c fix: update template file extension in validation workflow
- Changed the expected template file from 'template.yml' to 'template.toml' in the GitHub Actions validation workflow to reflect recent changes in file format.
2025-03-30 00:52:31 -06:00
Mauricio Siu 0f16376f98 chore: add yaml and toml dependencies, and create script for converting YAML to TOML
- Added 'yaml' and '@iarna/toml' dependencies in package.json.
- Created a new script.js file to process YAML files and convert them to TOML format.
- Added template.toml files for various blueprints in the blueprints directory.
2025-03-30 00:51:49 -06:00
Mohab Gabber b1cb7f626c fix: checkmate template network issues and env vars for emails 2025-03-29 16:55:31 +02:00
DrMxrcy 8a214b00f9 Fix Postgres 2025-03-28 13:58:28 -04:00
DrMxrcy 270843ba39 Add Blinko 2025-03-28 13:52:13 -04:00
Mauricio SiuandGitHub 5ad0e0dc65 Update meta.json 2025-03-26 01:59:13 -06:00
Mauricio SiuandGitHub 7050ed95e7 Merge branch 'main' into main 2025-03-26 01:57:20 -06:00
Mauricio SiuandGitHub 31038da0f8 Update docker-compose.yml 2025-03-26 01:56:34 -06:00
Mauricio SiuandGitHub 0180f74eba Merge pull request #33 from malko/lowcoder
Add Lowcoder template
2025-03-26 01:52:57 -06:00
Mauricio SiuandGitHub 47f31b80cd Update template.yml 2025-03-26 01:49:16 -06:00
4d55a64895 Update blueprints/backrest/docker-compose.yml
Co-authored-by: Nicholas Penree <nick@penree.com>
2025-03-24 18:09:35 +01:00
71d6fe7161 Update blueprints/backrest/docker-compose.yml
Co-authored-by: Nicholas Penree <nick@penree.com>
2025-03-24 18:09:28 +01:00
Mael Primet b4926c1de1 feat: add backrest 2025-03-24 16:24:06 +01:00
malko 8919bb077d Remove unused meta.json and update readme 2025-03-24 08:44:30 +01:00
Jonathan GottiandGitHub ed9c3e6ab5 Update meta.json 2025-03-24 08:37:33 +01:00
Mauricio Siu 7e1d9df7e1 fix: update navigation link for issue reporting
- Changed the button link in the Navigation component to direct users to the new issues page for templates instead of the discussions page for ideas.
2025-03-24 00:14:24 -06:00
Jonathan GottiandGitHub cdacdfdfe6 Create meta.json 2025-03-24 01:44:59 +01:00
Jonathan GottiandGitHub 81152d2555 Update docker-compose.yml 2025-03-24 01:38:32 +01:00
Jonathan GottiandGitHub 8cf5891dfc Add icon 2025-03-24 01:20:18 +01:00
Jonathan GottiandGitHub f25522325d Create docker-compose.yml 2025-03-24 01:19:04 +01:00
Jonathan GottiandGitHub 168ff3999c Create template.yml 2025-03-24 01:18:15 +01:00
Mauricio SiuandGitHub 8613af7942 Merge pull request #29 from drudge/update/budibase
chore: bump budibase to 3.5.3
2025-03-23 04:26:54 -06:00
Mauricio SiuandGitHub 6780c8ce4f Merge pull request #30 from drudge/update/n8n
chore: bump n8n version to 1.83.2
2025-03-23 04:26:48 -06:00
Mauricio SiuandGitHub 0833fc20e4 Merge pull request #31 from drudge/update/kimai
chore: bump kimai version to 2.31.0
2025-03-23 04:26:41 -06:00
Nicholas Penree 0a91e7df9c chore: bump kimai version to 2.31.0 2025-03-20 21:24:51 -04:00
Nicholas Penree 66c53764a2 chore: bump n8n version to 1.83.2 2025-03-20 21:14:46 -04:00
Nicholas Penree 526b7b9976 chore: bump budibase to 3.5.3 2025-03-20 21:11:04 -04:00
Mauricio SiuandGitHub 0304bc5408 Merge pull request #25 from mbpictures/patch-1
template: update huly version
2025-03-18 20:59:04 -06:00
Mauricio SiuandGitHub 0ec010ad85 Merge pull request #26 from DrMxrcy/app/otterwiki
feat: Add OtterWiki
2025-03-18 20:56:47 -06:00
DrMxrcy 8ff4cdd45e feat: Add OtterWiki 2025-03-18 21:32:06 -04:00
MariusandGitHub 3dfeaedcc6 template: update huly version 2025-03-18 17:06:21 +01:00
Mauricio SiuandGitHub 06b8db5cb6 Merge pull request #24 from ChrisvanChip/main
Push chatwoot to 4.0.3
2025-03-16 21:36:17 -06:00
ChrisandGitHub 8198f91754 Remove debugging 2025-03-16 22:42:34 +01:00
ChrisandGitHub 8ecb3d73fb Update docker-compose.yml 2025-03-16 22:39:00 +01:00
ChrisandGitHub 893e0f4e5d Push chatwoot to 4.0.3 2025-03-16 22:09:20 +01:00
Mauricio Siu 46664e05d5 refactor: clean up build preview workflow by removing commented deployment steps
- Removed commented-out deployment steps for Cloudflare Pages to enhance clarity and focus on the build process.
- Maintained the artifact upload step to ensure build outputs are preserved.
2025-03-16 12:49:58 -06:00
Mauricio SiuandGitHub e885e2be29 Merge pull request #22 from Dokploy/fix/ci/cd
refactor: update build preview workflow for clarity and efficiency
2025-03-16 12:36:56 -06:00
Mauricio Siu 05c8bcd839 feat: add deploy preview workflow for Cloudflare Pages
- Introduced a new GitHub Actions workflow to handle deployment of preview builds to Cloudflare Pages upon successful completion of the build preview workflow.
- Configured necessary permissions and steps for downloading build artifacts and deploying to the specified Cloudflare project.
2025-03-16 12:26:21 -06:00
Mauricio Siu 04d83432df fix: remove unnecessary comment from build preview workflow
- Eliminated an internal issue comment from the artifact upload step for clarity.
- Ensured the workflow remains clean and focused on essential configurations.
2025-03-16 12:25:26 -06:00
Mauricio Siu 0ef9970aff refactor: update build preview workflow for clarity and efficiency
- Renamed job to "Build Preview Deployment" and adjusted concurrency settings.
- Streamlined steps by removing unnecessary permissions and comments.
- Updated pnpm action to the latest version and ensured Node.js setup is consistent.
- Removed deployment step to Cloudflare Pages and related verification steps for simplification.
2025-03-16 12:24:30 -06:00
1915 changed files with 62021 additions and 7170 deletions
+100
View File
@@ -0,0 +1,100 @@
name: Template Bug Report
description: Report a bug in one of our open source templates (Supabase, Appwrite, etc.)
labels: ["bug"]
body:
- type: markdown
attributes:
value: |
Before opening a new issue, please search existing issues to see if this bug has already been reported.
This template is specifically for bugs in our open source templates like Supabase, Appwrite, and others.
- type: input
attributes:
label: Template Name
description: Which template is experiencing the bug?
placeholder: "e.g: Supabase, Appwrite, Plausible, etc."
validations:
required: true
- type: textarea
attributes:
label: Relevant Logs of the Error
description: |
**IMPORTANT:** Go to the logs tab in your Dokploy dashboard and take a screenshot of the error.
Please be clear and include the full error message. You can also paste text logs here.
placeholder: |
Please attach a clear screenshot of the error logs from the logs tab.
If you're pasting text logs, include them here:
```
[Your error logs here]
```
validations:
required: true
- type: textarea
attributes:
label: Steps to Reproduce the Error
description: |
Please provide clear, detailed steps to reproduce this bug.
Be as specific as possible with numbered steps.
placeholder: |
1. Deploy the [Template Name] template
2. Configure the following settings: [be specific]
3. Navigate to [specific page/section]
4. Perform [specific action]
5. Error occurs at [specific point]
**Expected behavior:** What should happen
**Actual behavior:** What actually happens
validations:
required: true
- type: textarea
attributes:
label: Environment Information
description: Please provide information about your environment
render: bash
placeholder: |
Operating System: Ubuntu 20.04
Dokploy version: 0.2.2
VPS Provider: DigitalOcean, Hetzner, etc.
Template Version: [if known]
Browser: Chrome, Firefox, etc. [if relevant]
validations:
required: true
- type: dropdown
attributes:
label: When does this error occur?
options:
- "During template deployment"
- "After successful deployment"
- "When accessing the application"
- "During configuration"
- "Other"
validations:
required: true
- type: textarea
attributes:
label: Additional Context
description: Any additional information that might help us understand and fix this bug
placeholder: |
- Did this work before? When did it stop working?
- Have you made any custom modifications to the template?
- Any workarounds you've found?
validations:
required: false
- type: dropdown
attributes:
label: Will you send a PR to fix it?
description: Let us know if you are planning to submit a pull request to address this issue
options:
- "Yes"
- "No"
- "Maybe, need help"
validations:
required: true
@@ -0,0 +1,59 @@
name: New Template Request
description: Suggest a new template for the project
labels: ["template"]
body:
- type: input
attributes:
label: Template Name
description: Provide a clear and descriptive name for the template
placeholder: "e.g: Supabase, Appwrite, etc."
validations:
required: true
- type: input
attributes:
label: Template URL
description: Link to the repository or resource where the template is located
placeholder: "https://github.com/username/repo"
validations:
required: true
- type: input
attributes:
label: Docker Compose Link
description: Link to docker-compose.yml file or Docker documentation (optional) but would be helpful
placeholder: "https://github.com/username/repo/blob/main/docker-compose.yml"
validations:
required: false
- type: textarea
attributes:
label: Resources
description: List the resources, links, or any other information that would be helpful to know about the template
placeholder: |
- Link to the template
- Link to the documentation
- Link to the repository
- Link to the website
validations:
required: false
- type: textarea
attributes:
label: Template Description
description: Provide a detailed description of what this template does and when to use it
placeholder: |
This template is perfect for creating modern web applications with React and TypeScript...
validations:
required: false
- type: dropdown
attributes:
label: Will you send a PR to implement it?
description: Let us know if you are planning to submit a pull request to add this template
options:
- "Yes"
- "No"
- "Maybe, need help"
validations:
required: true
+73
View File
@@ -0,0 +1,73 @@
# Dokploy Open Source Templates - Copilot Instructions
## Project Overview
This repository maintains Docker Compose templates for deploying open-source applications via Dokploy, a self-hosted PaaS alternative to Heroku. The core structure revolves around the `blueprints/` directory, where each subdirectory represents a deployable service (e.g., `blueprints/ghost/` for Ghost blogging platform).
Key components:
- **Blueprints**: Self-contained templates with `docker-compose.yml` (service definitions) and `template.toml` (Dokploy-specific configuration for domains, env vars, mounts).
- **meta.json**: Centralized index of all templates, aggregated from blueprint metadata. Entries include `id`, `name`, `version`, `description`, `logo`, `links`, and `tags`.
- **Scripts**: Node.js tools in root and `build-scripts/` for maintaining `meta.json` (deduplication, sorting, validation).
Data flow: New templates added to `blueprints/` → Metadata updated in `meta.json` → Processing scripts ensure consistency → App builds include static blueprints/meta for preview.
The "why": Enables rapid, standardized deployment of 200+ OSS apps on Dokploy without manual config. Structure prioritizes simplicity—each blueprint is independent, no shared state or complex interdependencies.
## Key Files and Directories
- `meta.json`: Array of template objects. Always process after edits using `node dedupe-and-sort-meta.js` to remove duplicates (by `id`) and sort alphabetically.
- `blueprints/<service>/`:
- `docker-compose.yml`: Standard Docker Compose v3.8. Avoid `ports`, `container_name`, `networks`—Dokploy handles isolation via internal networks.
- `template.toml`: Defines variables (e.g., `${domain}`), domains (service:port → host), env vars, and mounts. Use helpers like `${password:32}`, `${uuid}`, `${jwt:secret_var}`.
- `logo.svg/png`: Service icon, referenced in `meta.json`.
- `dedupe-and-sort-meta.js`: Standalone script—reads `meta.json`, removes duplicate `id`s (keeps first), sorts by `id` (case-insensitive), creates timestamped backup.
- `build-scripts/process-meta.js`: Advanced processor with CLI options (`--verbose`, `--no-backup`, `--input`/`--output`), JSON schema validation (required: `id`, `name`, `version`, `description`, `links.github`, `logo`, `tags` array).
Exemplary blueprint: `blueprints/ghost/`—`docker-compose.yml` exposes port 2368; `template.toml` maps domain to Ghost service; meta entry tags as ["blogging", "cms"].
## Development Workflow
1. **Add/Update Template**:
- **REQUIREMENT**: Service **MUST** be open source. Only add templates for applications with an open-source license (e.g., MIT, Apache, GPL, AGPL). Proprietary or closed-source services are not allowed.
- **Verify Docker Images**: Before using any Docker image in `docker-compose.yml`, verify it exists using `docker manifest inspect <image:tag>` (e.g., `docker manifest inspect docker.io/bitnami/discourse:3.5.0`). This ensures the image is available and prevents deployment failures.
- Create `blueprints/<id>/` (e.g., `ghost`).
- Implement `docker-compose.yml` (single service typical; use volumes for persistence).
- Configure `template.toml`—reference vars in `[config.domains]`, `[config.env]`, `[config.mounts]`.
- Add/update `meta.json` entry with exact `id` matching folder.
- Run `node dedupe-and-sort-meta.js --backup` to validate/sort.
- Commit; PR triggers Dokploy preview (base64 import for testing).
2. **CI/CD**:
- `.github/workflows/validate-meta.yml` (if present): Runs validation on push/PR—fails on duplicates, invalid JSON, missing fields.
- Integrate processing: Add `npm run process-meta` to build steps; use `--no-backup` in CI.
No tests in repo—focus on manual validation via scripts and Dokploy deploys. Debug: Check console output from processing scripts for warnings (e.g., missing `id`).
## Conventions and Patterns
- **Open Source Requirement**: **ALL services MUST be open source**. Only applications with open-source licenses (MIT, Apache, GPL, AGPL, etc.) are allowed. Proprietary or closed-source services are strictly prohibited.
- **Template IDs**: Lowercase, kebab-case (e.g., `active-pieces`); unique across repo—enforced by dedupe script.
- **Docker Compose**: Minimal—omit `ports` (Dokploy proxies), persistent volumes (e.g., `- db-data:/var/lib/postgresql/data`). Services named after folder (e.g., `ghost` service).
- **template.toml**:
- Variables: `[variables] main_domain = "${domain}"`; use helpers for secrets (`${password:64}`, `${base64:32}`).
- Domains: `[[config.domains]] serviceName = "<service>" port = 80 host = "${main_domain}"` (path="/" optional).
- Env: `[[config.env]]` array of "KEY=VALUE" strings, interpolating vars (e.g., "DB_PASSWORD=${db_pass}").
- **URL Variables**: When environment variables require URLs (e.g., `WEB_URL`, `NEXTAUTH_URL`, `PUBLIC_URL`), **always use HTTP by default** (e.g., `"http://${main_domain}"`). HTTPS should only be used if explicitly required by the application or when using a reverse proxy with SSL termination.
- Mounts: `[[config.mounts]] filePath = "/etc/config" content = """multi-line\ncontent"""`.
- JWT helper: `${jwt:secret_var:payload_var}` for auth tokens; payload as JSON string with `exp: ${timestamps:YYYY-MM-DDTHH:mm:ssZ}`.
- **Meta.json**: Entries as JSON objects; tags array of lowercase strings (e.g., ["monitoring", "database"]); links object with `github`, `website`, `docs`.
- **No Networks**: Rely on Dokploy's isolated deployments—avoid explicit `networks:`.
- **Versions**: Pin images to specific versions in `docker-compose.yml` (e.g., `ghost:5.82.0-alpine`); match in `meta.json.version`. **NEVER use `latest` tag**—it can break templates when upstream images change unexpectedly. **Always verify image exists** using `docker manifest inspect <image:tag>` before committing.
- **Logos**: SVG preferred; size ~128x128; file name in `meta.json.logo` (e.g., "ghost.svg").
Cross-component: Templates are independent and ship as static blueprints/meta.
## Integration Points
- **Dokploy**: Templates import via base64 (full compose + config) or URL. Test deploys validate env interpolation, domain proxying.
- **External Deps**: Docker Compose (v3.8+); TOML parsing via `@iarna/toml` in app. No runtime deps beyond Node/pnpm for dev.
- **PR Previews**: Auto-generated on GitHub—use for end-to-end testing without local Dokploy.
When editing, always re-run meta processing and validate blueprint deploy in preview.
+18
View File
@@ -0,0 +1,18 @@
## What is this PR about?
New PR of [Template Name]
## Checklist
Before submitting this PR, please make sure that:
- [ ] I have read the suggestions in the README.md file https://github.com/Dokploy/templates?tab=readme-ov-file#general-requirements-when-creating-a-template
- [ ] I have tested the template in my instance, so the maintainers don't spend time trying to figure out what's wrong.
- [ ] I have added tests that demonstrate that my correction works or that my new feature works.
## Issues related (if applicable)
Close automatically the related issues using the keywords: `closes #ISSUE_NUMBER`
## Screenshots or Videos
-9
View File
@@ -27,15 +27,6 @@ jobs:
- name: Build
working-directory: app
run: pnpm build
# - name: Deploy to Cloudflare Pages
# uses: AdrianGonz97/refined-cf-pages-action@v1
# with:
# apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
# accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
# githubToken: ${{ secrets.GITHUB_TOKEN }}
# projectName: ${{ secrets.CLOUDFLARE_PROJECT_NAME }}
# deploymentName: Preview
# directory: app/dist
- name: Upload build artifact
uses: actions/upload-artifact@v4
-1
View File
@@ -5,7 +5,6 @@ on:
workflows: [Build Preview Deployment]
types:
- completed
permissions:
actions: read
deployments: write
@@ -0,0 +1,121 @@
name: Validate Docker Compose Files
on:
pull_request:
branches:
- canary
paths:
- 'blueprints/**/docker-compose.yml'
- 'blueprints/**/template.toml'
workflow_dispatch:
jobs:
validate-docker-compose:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Docker Compose
run: docker compose version
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: 20.16.0
- name: Set up pnpm
uses: pnpm/action-setup@v4
with:
version: 8
- name: Install dependencies
run: cd build-scripts && pnpm install
- name: Detect changed blueprints
id: changed
run: |
BASE_SHA=$(git merge-base HEAD origin/${{ github.base_ref }})
# Obtener todos los blueprints que tienen cambios (en docker-compose.yml o template.toml)
CHANGED_BLUEPRINTS=$(git diff --name-only --diff-filter=ACMRT $BASE_SHA HEAD | \
grep -E 'blueprints/[^/]+/(docker-compose\.yml|template\.toml)$' | \
sed 's|blueprints/\([^/]*\)/.*|\1|' | \
sort -u)
echo "Changed blueprints:"
echo "$CHANGED_BLUEPRINTS" | while read blueprint; do
[ -n "$blueprint" ] && echo " - $blueprint"
done
# Guardar lista de blueprints (una por línea)
echo "blueprints<<EOF" >> $GITHUB_OUTPUT
echo "$CHANGED_BLUEPRINTS" >> $GITHUB_OUTPUT
echo "EOF" >> $GITHUB_OUTPUT
- name: Validate blueprints
run: |
BLUEPRINTS="${{ steps.changed.outputs.blueprints }}"
if [ -z "$BLUEPRINTS" ] || [ "$BLUEPRINTS" = "" ]; then
echo "ℹ️ No blueprints changed, skipping validation"
exit 0
fi
ERROR=0
# Convertir a array para evitar problemas con subshells
mapfile -t BLUEPRINT_ARRAY <<< "$BLUEPRINTS"
# Iterar sobre cada blueprint
for blueprint in "${BLUEPRINT_ARRAY[@]}"; do
[ -z "$blueprint" ] && continue
BLUEPRINT_PATH="blueprints/$blueprint"
COMPOSE_FILE="$BLUEPRINT_PATH/docker-compose.yml"
TOML_FILE="$BLUEPRINT_PATH/template.toml"
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "📦 Validating: $blueprint"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
# 1. Validar best practices de docker-compose.yml
if [ ! -f "$COMPOSE_FILE" ]; then
echo "⚠️ WARNING: docker-compose.yml not found"
ERROR=1
continue
fi
echo "🔍 Validating docker-compose.yml best practices..."
if ! (cd build-scripts && pnpm exec tsx validate-docker-compose.ts --file "../$COMPOSE_FILE" --verbose); then
ERROR=1
continue
fi
# 3. Validar template.toml
if [ -f "$TOML_FILE" ]; then
echo "🔍 Validating template.toml..."
if ! (cd build-scripts && pnpm exec tsx validate-template.ts --dir "../$BLUEPRINT_PATH" --verbose); then
ERROR=1
continue
fi
else
echo "⚠️ WARNING: template.toml not found"
ERROR=1
continue
fi
echo "✅ All validations passed for $blueprint"
done
if [ $ERROR -eq 1 ]; then
echo ""
echo "❌ Validation failed for one or more blueprints"
exit 1
else
echo ""
echo "✅ All blueprints validated successfully"
fi
+41
View File
@@ -0,0 +1,41 @@
name: Validate Template Metadata
on:
push:
branches: [canary]
paths:
- "blueprints/**"
- "build-scripts/generate-meta.js"
- "meta.json"
pull_request:
branches: [canary]
paths:
- "blueprints/**"
- "build-scripts/generate-meta.js"
- "meta.json"
workflow_dispatch:
jobs:
validate-meta:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Reject root meta.json
run: |
if [ -f "meta.json" ]; then
echo "❌ The root meta.json is generated at build time and must not be committed."
echo " Add your template's metadata to blueprints/<id>/meta.json instead."
exit 1
fi
echo "✅ No root meta.json present"
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "20"
- name: Validate per-template metadata
run: node build-scripts/generate-meta.js --check
+10 -57
View File
@@ -3,10 +3,10 @@ name: Validate Blueprints Structure and Meta
on:
pull_request:
branches:
- main
- canary
push:
branches:
- main
- canary
jobs:
validate:
@@ -28,7 +28,7 @@ jobs:
TEMPLATE_NAME=$(basename "$dir")
COMPOSE_FILE="$dir/docker-compose.yml"
TEMPLATE_FILE="$dir/template.yml"
TEMPLATE_FILE="$dir/template.toml"
if [ ! -f "$COMPOSE_FILE" ]; then
echo "❌ Missing docker-compose.yml in $TEMPLATE_NAME"
@@ -36,7 +36,7 @@ jobs:
fi
if [ ! -f "$TEMPLATE_FILE" ]; then
echo "❌ Missing template.yml in $TEMPLATE_NAME"
echo "❌ Missing template.toml in $TEMPLATE_NAME"
ERROR=1
fi
fi
@@ -49,57 +49,10 @@ jobs:
echo "✅ Blueprint folders validated successfully."
fi
- name: Validate meta.json matches blueprint folders and logo files
run: |
echo "🔍 Validating meta.json against blueprint folders and logos..."
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "20"
ERROR=0
# Read all blueprint folder names into an array
FOLDERS=($(ls -1 blueprints))
# Extract ids and logos from meta.json
IDS_AND_LOGOS=$(jq -c '.[] | {id, logo}' meta.json)
# Validate each id in meta.json exists as a folder
for item in $IDS_AND_LOGOS; do
ID=$(echo "$item" | jq -r '.id')
LOGO=$(echo "$item" | jq -r '.logo')
# Check if folder exists
if [ ! -d "blueprints/$ID" ]; then
echo "❌ meta.json id \"$ID\" does not have a matching folder in blueprints/"
ERROR=1
continue
fi
# Check if logo file exists inside its folder
if [ ! -f "blueprints/$ID/$LOGO" ]; then
echo "❌ Logo \"$LOGO\" defined for \"$ID\" does not exist in blueprints/$ID/"
ERROR=1
fi
done
# Validate each folder has a matching id in meta.json
META_IDS=$(jq -r '.[].id' meta.json)
for FOLDER in "${FOLDERS[@]}"; do
FOUND=0
for ID in $META_IDS; do
if [ "$FOLDER" == "$ID" ]; then
FOUND=1
break
fi
done
if [ "$FOUND" -eq 0 ]; then
echo "❌ Folder \"$FOLDER\" has no matching id in meta.json"
ERROR=1
fi
done
if [ $ERROR -eq 1 ]; then
echo "❌ meta.json validation failed."
exit 1
else
echo "✅ meta.json validated successfully."
fi
- name: Validate per-template metadata (blueprints/<id>/meta.json)
run: node build-scripts/generate-meta.js --check
+3
View File
@@ -0,0 +1,3 @@
node_modules
package-lock.json
meta.json.backup.*
+199
View File
@@ -0,0 +1,199 @@
# AGENTS.md: AI Collaboration Guide
This document provides essential context for AI models interacting with this project. Adhering to these guidelines will ensure consistency and maintain code quality.
## 1. Project Overview & Purpose
- **Primary Goal:** This is the official repository for Dokploy Open Source Templates, maintaining Docker Compose templates for deploying 200+ open-source applications via Dokploy (a self-hosted PaaS alternative to Heroku). The project enables rapid, standardized deployment of OSS applications without manual configuration.
- **Business Domain:** Self-hosted Platform as a Service (PaaS), DevOps tooling, containerized application deployment, and open-source software distribution.
## 2. Core Technologies & Stack
- **Languages:** JavaScript (Node.js), TypeScript (React frontend), YAML (Docker Compose), TOML (template configuration), JSON (metadata), Shell (build scripts).
- **Frameworks & Runtimes:** Node.js runtime, Vite 5.x (for React 19.x frontend), Docker Compose v3.8+, React Router 7.x.
- **Databases:** No direct database usage in core project (templates may include various databases like PostgreSQL, MySQL, Redis, etc.).
- **Key Libraries/Dependencies:**
- **Core:** `nodemon` for development, custom Node.js scripts for meta processing.
- **Frontend:** `fuse.js` (fuzzy search), `zustand` (state management), `@iarna/toml` (TOML parsing), `shadcn/ui` components, `@radix-ui` primitives, `@codemirror` (code editor), `react-router-dom`, `tailwindcss`.
- **Build:** `vite-plugin-static-copy` for copying blueprints to dist.
- **Platforms:** Linux (primary), Docker containers, Dokploy PaaS, Web browsers (for frontend preview), Cloudflare Pages (for PR previews).
- **Package Manager:** npm for root project, pnpm for frontend (`app/` directory).
## 3. Architectural Patterns
- **Overall Architecture:** Template collection and management system with decentralized blueprint architecture. Each blueprint is a self-contained Docker Compose application with Dokploy-specific configuration.
- **Directory Structure Philosophy:**
- `/blueprints`: Contains all deployable application templates, each as a subdirectory with `docker-compose.yml`, `template.toml`, and logo files. Each blueprint is independent with no shared state.
- `/app`: Vite + React + TypeScript frontend for local preview and development.
- `/src/components`: React components (UI components in `/ui` subdirectory using shadcn/ui).
- `/src/hooks`: Custom React hooks (e.g., `useFuseSearch.ts` for fuzzy search).
- `/src/store`: Zustand state management store.
- `/src/lib`: Utility functions and helpers.
- `/build-scripts`: Metadata tooling — `generate-meta.js` (aggregates and validates every `blueprints/<id>/meta.json` into the served `meta.json` artifact) and `explode-meta.js` (one-shot migration reference).
- `/.github/workflows`: CI/CD workflows for validation, preview builds, and deployments.
- Root level: There is NO root `meta.json` in the repo — each template's metadata lives in `blueprints/<id>/meta.json` and the global registry is generated at build time.
- **Module Organization:** Node.js scripts for metadata processing, React components for frontend UI, Docker Compose files for service definitions, TOML files for Dokploy configuration. Frontend uses component-based architecture with hooks for business logic and Zustand for global state.
## 4. Coding Conventions & Style Guide
- **Formatting:** JavaScript follows standard conventions with 2-space indentation. TypeScript in frontend uses ESLint configuration. YAML uses 2-space indentation. TOML files use standard formatting.
- **Naming Conventions:**
- Variables, functions: camelCase (`myVariable`, `myFunction`)
- React components: PascalCase (`TemplateGrid`, `SearchBar`)
- Constants: SCREAMING_SNAKE_CASE (`MAX_BUFFER_SIZE`)
- Template IDs: lowercase, kebab-case (`activepieces`, `ghost`) - **MUST** be unique across repository
- Files: kebab-case for scripts (`generate-meta.js`), PascalCase for React components (`TemplateGrid.tsx`), kebab-case for directories (`build-scripts`)
- Docker services: **MUST** match blueprint folder name exactly (e.g., `ghost` service in `blueprints/ghost/`)
- **API Design:**
- **Backend:** Procedural scripting approach with CLI interfaces. Template system uses declarative configuration over imperative code.
- **Frontend:** Component-based React architecture with hooks for logic separation. Zustand for centralized state management. Custom hooks encapsulate complex logic (e.g., `useFuseSearch` for search functionality).
- **Common Patterns & Idioms:**
- **Metaprogramming:** Minimal use of advanced JavaScript features in scripts, focusing on simple, maintainable code.
- **Memory Management:** Relies on Node.js garbage collection and React's automatic memory management.
- **Polymorphism:** Uses JavaScript prototype-based objects and functional programming patterns. React components use composition over inheritance.
- **Type Safety:**
- Backend scripts: JavaScript with JSDoc comments for documentation.
- Frontend: TypeScript with strict type checking enabled.
- **Concurrency:**
- Backend: Synchronous processing model for meta.json operations.
- Frontend: React's concurrent rendering, `useDeferredValue` for debouncing, `useEffect` for async operations.
- **State Management:** Zustand store pattern with selectors for optimal re-renders. URL params synced with search state via React Router.
- **Error Handling:**
- Backend: Node.js error-first callback pattern and try-catch blocks. Scripts validate JSON structure and fail fast on errors.
- Frontend: Error boundaries for React components, try-catch for async operations, user-friendly error messages via toast notifications.
## 5. Key Files & Entrypoints
- **Main Entrypoints:**
- **Backend:** `build-scripts/generate-meta.js` - Aggregates and validates all `blueprints/<id>/meta.json` files into the served `meta.json` artifact (`app/public/meta.json`, gitignored).
- **Frontend:** `app/src/main.tsx` - React application entry point.
- **Configuration:**
- `app/package.json` - Frontend dependencies and pnpm scripts (`dev` and `build` run `generate-meta.js` first).
- `blueprints/<id>/meta.json` - Per-template metadata (one object per template; 400+ templates).
- `app/vite.config.ts` - Vite build configuration with static copy plugin.
- `app/tsconfig.json` - TypeScript compiler configuration.
- **CI/CD Pipeline:**
- `.github/workflows/validate-meta.yml` - Validates every `blueprints/<id>/meta.json` (via `generate-meta.js --check`) and rejects a committed root `meta.json`.
- `.github/workflows/build-preview.yml` - Builds preview deployments for PRs.
- `.github/workflows/deploy-preview.yml` - Deploys previews to Cloudflare Pages.
## 6. Development & Testing Workflow
- **Local Development Environment:**
- **Install dependencies**
```bash
# Root project
npm install
# Frontend (uses pnpm)
cd app && pnpm install
```
- **Validate template metadata** (CRITICAL: run after adding/editing any `blueprints/<id>/meta.json`)
```bash
node build-scripts/generate-meta.js --check
```
- **Generate the served meta.json artifact** (done automatically by `pnpm dev` / `pnpm build` in `app/`)
```bash
node build-scripts/generate-meta.js # writes app/public/meta.json
```
- **Task Configuration:**
- **App scripts (`app/package.json`, pnpm):**
- `dev`: Generate meta artifact + start Vite dev server
- `build`: Generate meta artifact + typecheck + Vite build
- `generate-meta`: Generate the meta artifact only
- **Testing:** No formal unit testing framework. Validation occurs through:
- Script-based validation of every `blueprints/<id>/meta.json` (`build-scripts/generate-meta.js --check`)
- Manual testing via Dokploy preview deployments (import base64 from PR preview)
- TypeScript compilation errors caught during build
- ESLint for code quality in frontend
- **CI/CD Process:**
- **On blueprint changes:** Validates each template's metadata (required fields, id/folder match, logo file exists) and rejects a committed root `meta.json`.
- **On PR creation:** Builds preview deployment, generates base64 import for testing in Dokploy.
- **Preview testing:** Use PR description link → Search template → Copy base64 → Import in Dokploy instance.
## 7. Specific Instructions for AI Collaboration
- **Contribution Guidelines:**
- Follow existing Dokploy template structure strictly. Each blueprint must be independent with no shared state.
- **CRITICAL:** Template metadata lives in `blueprints/<id>/meta.json` (one object per template). Never create or edit a root-level `meta.json` — it is generated at build time. Run `node build-scripts/generate-meta.js --check` after any metadata edits.
- Test templates in Dokploy preview before submitting PRs (use base64 import from PR preview).
- Add logo file (SVG preferred, ~128x128px) to blueprint folder.
- Ensure the `id` in `blueprints/<id>/meta.json` exactly matches the blueprint folder name (lowercase kebab-case).
- **Docker Compose Conventions (CRITICAL):**
- **Version:** MUST be `3.8`
- **NEVER include:** `ports` (use `expose` only), `container_name`, `networks` (Dokploy handles isolation)
- **ALWAYS include:** `restart: unless-stopped` or `restart: always`, persistent volumes
- **Service naming:** MUST match blueprint folder name exactly
- **Example:**
```yaml
version: "3.8"
services:
ghost:
image: ghost:6-alpine
restart: always
volumes:
- ghost:/var/lib/ghost/content
volumes:
ghost:
```
- **template.toml Conventions:**
- **Variables:** Define in `[variables]` section, use helpers for secrets
- **Domains:** `[[config.domains]]` with `serviceName`, `port`, `host` (path optional)
- **Env:** Array of strings: `env = ["KEY=VALUE", "DB_PASSWORD=${db_pass}"]`
- **Available helpers:** `${domain}`, `${password:length}`, `${base64:length}`, `${hash:length}`, `${uuid}`, `${randomPort}`, `${email}`, `${username}`, `${timestamp}`, `${timestamps:datetime}`, `${timestampms:datetime}`, `${jwt:secret_var:payload_var}`
- **JWT helper example:** `${jwt:mysecret:mypayload}` with payload containing `exp: ${timestamps:2030-01-01T00:00:00Z}`
- **Volume bind mounts (in docker-compose.yml):** When mounting host paths, do NOT use absolute paths like `"/folder:/path/in/container"`. Use relative paths instead:
```yaml
# Invalid
volumes:
- "/folder:/path/in/container" ❌
# Valid
volumes:
- "../files/my-database:/var/lib/mysql" ✅
- "../files/my-configs:/etc/my-app/config" ✅
```
- **meta.json Requirements:**
- **Required fields:** `id`, `name`, `version`, `description`, `links` (with `github`), `logo`, `tags` (array)
- **Tags:** Lowercase strings (e.g., `["monitoring", "database"]`)
- **Version:** MUST match Docker image version in docker-compose.yml
- **Logo:** Filename only (e.g., `"ghost.jpeg"`), file must exist in blueprint folder
- **Frontend Development:**
- Use TypeScript with strict type checking
- Follow React hooks patterns, avoid class components
- Use Zustand selectors for state access to optimize re-renders
- Fuse.js searches across `name`, `description`, `tags`, `id` fields
- Use shadcn/ui components for consistency
- Sync URL params with search state via React Router
- **Security:**
- Be mindful of security when handling template configurations
- NEVER hardcode secrets in templates - use Dokploy's variable system with helpers
- Pin Docker images to specific versions to avoid supply chain attacks
- Validate user input in frontend before processing
- **Dependencies:**
- When adding new templates, ensure Docker images are pinned to specific versions
- Update meta.json with exact version matching Docker Compose image version
- For frontend dependencies: Use `pnpm add <package>` in `app/` directory
- For root dependencies: Use `npm install <package>` in root directory
- **Commit Messages:** Follow conventional commit patterns (e.g., `feat:`, `fix:`, `docs:`, `chore:`).
- **Common Pitfalls to Avoid:**
1. Forgetting to process meta.json after editing (CI will fail)
2. Template ID mismatch between meta.json and folder name
3. Including `ports`, `container_name`, or `networks` in docker-compose.yml
4. Using object syntax for env vars in template.toml (must be array of strings)
5. Logo file missing or filename mismatch in meta.json
6. Version mismatch between meta.json and docker-compose.yml image tag
+213
View File
@@ -0,0 +1,213 @@
# Contributing to Dokploy Open Source Templates
Thank you for your interest in contributing to the Dokploy Open Source Templates repository! This project maintains a collection of Docker Compose templates for easy deployment via Dokploy. Contributions help expand and improve the available templates for the community.
We welcome contributions in the form of new templates, improvements to existing ones, bug fixes, documentation updates, and more. Please follow the guidelines below to ensure a smooth review and integration process.
## Code of Conduct
This project adheres to the [Contributor Covenant Code of Conduct](https://www.contributor-covenant.org/version/2/1/code_of_conduct/). By participating, you are expected to uphold this code. Reports of unacceptable behavior can be directed to the project maintainers.
## How to Contribute
1. **Fork the Repository**: Start by forking this repository to your GitHub account.
2. **Create a New Branch**: From your fork, create a feature branch named descriptively (e.g., `add-grafana-template`).
3. **Make Your Changes**: Follow the specific guidelines for the type of contribution (e.g., adding a template).
4. **Commit and Push**: Commit your changes with clear, concise messages. Push the branch to your fork.
5. **Open a Pull Request (PR)**: Create a PR from your branch to the main repository. Reference any related issues in the PR description.
6. **Automated Preview**: Every PR automatically deploys a preview of your template to Dokploy. You can test it before merging (see "Testing Your Contribution" below).
7. **Review and Merge**: Respond to feedback from maintainers. Once approved, your changes will be merged.
For larger changes or questions, open an issue first to discuss your ideas.
### Pull Request Guidelines
- **Keep PRs small and focused.** Avoid very large PRs; prefer several smaller PRs (e.g., one template or one logical change per PR). This speeds up review and keeps the history clear.
- **Test before submitting.** Any PR that has not been tested by the contributor will be closed. This keeps the PR queue tidy and ensures that only contributions that have been verified by their authors are considered.
## Adding a New Template
To add a new template, follow these steps:
1. **Create a Folder in `blueprints/`**: Name it after the template (e.g., `grafana`). Use lowercase with hyphens for multi-word names.
2. **Add `docker-compose.yml`**: Define the services, volumes, and other Compose configurations. Key guidelines:
- Use `version: "3.8"` or later.
- Avoid exposing ports explicitly (e.g., no `ports: - "3000:3000"`; just `- 3000` if needed for internal reference).
- Do not use `container_name`.
- Avoid custom networks like `dokploy-network`; Dokploy handles isolation automatically.
- Example for Grafana:
```yaml
version: "3.8"
services:
grafana:
image: grafana/grafana-enterprise:9.5.20
restart: unless-stopped
volumes:
- grafana-storage:/var/lib/grafana
volumes:
grafana-storage: {}
```
3. **Add `template.toml`**: Configure domains, environment variables, mounts, and variables. This file is crucial for Dokploy integration.
- Sections: `[variables]` (optional), `[config]` with `[[config.domains]]`, `[[config.env]]`, `[[config.mounts]]`.
- Use `${variable}` syntax to reference variables or helpers (e.g., `${domain}`, `${password:32}`).
- Match `serviceName` in domains to the service name in `docker-compose.yml`.
- Example for Grafana:
```toml
[variables]
main_domain = "${domain}"
[config]
[[config.domains]]
serviceName = "grafana"
port = 3000
host = "${main_domain}"
[[config.mounts]]
filePath = "/content/file.txt"
content = """
My content
"""
```
4. **Add `meta.json` in your template folder**: Create `blueprints/<id>/meta.json` with a single JSON object describing your template. Do NOT create or edit a root-level `meta.json` — the global registry is generated automatically at build time from every `blueprints/<id>/meta.json` (this is what makes template PRs conflict-free). Include:
- `id`: Folder name (e.g., "grafana") — must match the folder exactly.
- `name`: Display name.
- `version`: Image/tag version.
- `description`: Brief overview.
- `logo`: Filename of the logo (e.g., "grafana.svg").
- `links`: Object with `github`, `website`, `docs` (URLs; use `""` if not applicable).
- `tags`: Array of categories (e.g., ["monitoring"]).
- Example (`blueprints/grafana/meta.json`):
```json
{
"id": "grafana",
"name": "Grafana",
"version": "9.5.20",
"description": "Grafana is an open source platform for data visualization and monitoring.",
"logo": "grafana.svg",
"links": {
"github": "https://github.com/grafana/grafana",
"website": "https://grafana.com/",
"docs": "https://grafana.com/docs/"
},
"tags": ["monitoring"]
}
```
5. **Add a Logo**: Place an SVG or PNG logo (e.g., `grafana.svg`) in the template folder. Keep it simple and representative (ideally 512x512 or similar).
6. **Run Validation**: Before pushing, run `node build-scripts/generate-meta.js --check` to validate every template's metadata (same check CI runs), and manually check for syntax errors in YAML/TOML.
7. **Commit and PR**: Push your branch and open a PR. Include:
- A description of the template.
- The preview URL (auto-generated).
- Any testing notes.
## Template.toml Structure
- **[variables]**: Define reusable values or use helpers.
Example:
```toml
[variables]
main_domain = "${domain}"
my_password = "${password:32}"
```
- **[config.domains]**: Map services to domains/ports.
- Required: `serviceName`, `port`, `host`.
- Optional: `path`.
- **[config.env]**: Array of environment variables (strings).
Example: `env = ["GF_SECURITY_ADMIN_PASSWORD=${password:32}"]`
- **[config.mounts]**: Inline files or configs.
- `filePath`: Destination in container.
- `content`: Multi-line string.
### Helpers
Use these in `${}` for dynamic values:
- `${domain}`: Random subdomain.
- `${password:length}`: Random password (default 32 chars).
- `${base64:length}`: Base64-encoded random string.
- `${hash:length}`: Random hash.
- `${uuid}`: UUID.
- `${randomPort}`: Random port.
- `${email}`: Random email.
- `${username}`: Random lowercase username.
- `${timestamp}`: Current timestamp (ms).
- `${timestamps:datetime}` or `${timestampms:datetime}`: Timestamp at specific date (e.g., `${timestamps:2030-01-01T00:00:00Z}`).
- `${jwt:secret_var:payload_var}`: JWT token (advanced; see README for details).
## Best Practices and Suggestions
- **Docker Compose**:
- Omit explicit ports; let Dokploy handle exposure.
- Use persistent volumes for data (e.g., databases).
- **Template.toml**:
- Keep service names consistent across files.
- Use variables/helpers for secrets (e.g., passwords, API keys).
- Minimize env vars; only include essentials.
- **General**:
- Templates should be self-contained and deployable out-of-the-box.
- Use official/latest stable images.
- Avoid hardcoding domains, networks, or secrets.
- Ensure compatibility with Dokploy's isolated deployments.
- **Logo and Metadata**:
- Logos should be vector (SVG preferred) or high-res PNG.
- Descriptions: 1-2 sentences, SEO-friendly.
- Tags: Relevant categories (e.g., "database", "web", "monitoring").
## Testing Your Contribution
Before submitting a PR:
1. Run the project locally:
```bash
cd app
pnpm install
pnpm run dev
# Visit http://localhost:5173/
```
2. Use the PR preview:
- After pushing, check the PR for the auto-generated preview URL.
- Search for your template, copy the Base64 config.
- In your Dokploy instance: Create a Compose service > Advanced > Import > Paste Base64 > Deploy.
- Verify the service starts and is accessible (e.g., via assigned domain).
3. Test edge cases: Restart, volume persistence, env vars.
If issues arise, debug locally or in the preview. Fix and update your PR.
## Updating Existing Templates
- Follow the same structure as adding new ones.
- Bump `version` in the template's `blueprints/<id>/meta.json` and update `docker-compose.yml` image tags.
- Test thoroughly, as changes may affect users.
## Reporting Bugs or Requesting Features
- Open an issue with:
- Clear title and description.
- Steps to reproduce (for bugs).
- Template details (for feature requests).
- Use the issue templates in `.github/ISSUE_TEMPLATE/`.
## Questions?
If you're unsure about anything, open a discussion or issue. We're here to help!
Happy contributing! 🚀
+127 -47
View File
@@ -7,14 +7,14 @@ This is the official repository for the Dokploy Open Source Templates.
1. Fork the repository
2. Create a new branch
3. Add the template to the `blueprints` folder (docker-compose.yml, template.yml)
4. Add the template metadata (name, description, version, logo, links, tags) to the `meta.json` file
3. Add the template to the `blueprints` folder (`docker-compose.yml`, `template.toml`)
4. Add the template metadata (name, description, version, logo, links, tags) in a `meta.json` file inside your template folder (`blueprints/<id>/meta.json`) — do NOT create or edit a root-level `meta.json`, it is generated at build time
5. Add the logo to the template folder
6. Commit and push your changes
7. Create a pull request (PR)
8. Every PR will automatically deploy a preview of the template to Dokploy.
9. if anyone want to test the template before merging it, you can enter to the preview URL in the PR description, and search the template, click on the Template Card, scroll down and then copy the BASE64 value, and paste in the advanced section of your compose service, in the Import section or optional you can use the preview URL and paste in the
BASE URL when creating a template.
BASE URL when creating a template.
#### Optional
@@ -45,21 +45,24 @@ services:
volumes:
grafana-storage: {}
```
3. Add the `template.yml` file to the folder, this is where we specify the domains, mounts and env variables, to understand more the structure of `template.yml` you can read here [Template.yml structure](#templateyml-structure)
3. Add the `template.toml` file to the folder, this is where we specify the domains, mounts and env variables, to understand more the structure of `template.toml` you can read here [Template.toml structure](#template.toml-structure)
```yaml
variables:
main_domain: ${domain}
```toml
[variables]
main_domain = "${domain}"
config:
domains:
- serviceName: grafana
port: 3000
host: ${main_domain}
env: []
mounts: []
[config]
[[config.domains]]
serviceName = "grafana"
port = 3000
host = "${main_domain}"
[config.env]
[[config.mounts]]
```
4. Add the `meta.json` file to the folder
4. Add the meta information in `blueprints/<id>/meta.json` (a single JSON object; the root `meta.json` is generated automatically at build time)
```json
{
@@ -82,67 +85,144 @@ config:
6. Commit and push your changes
7. Create a pull request
### Template.yml structure
Dokploy use a defined structure for the `template.yml` file, we have 4 sections available:
### Template.toml structure
Dokploy use a defined structure for the `template.toml` file, we have 4 sections available:
1. `variables`: This is where we define the variables that will be used in the `domains`, `env` and `mounts` sections.
2. `domains`: This is where we define the configuration for the template.
3. `env`: This is where we define the environment variables for the template.
4. `mounts`: This is where we define the mounts for the template.
- The `variables(Optional)` structure is the following:
```yaml
variables:
main_domain: ${domain}
my_domain: https://my-domain.com
my_password: ${password:32}
any_helper: ${you-can-use-any-helper}
```toml
[variables]
main_domain = "${domain}"
my_domain = "https://my-domain.com"
my_password = "${password:32}"
any_helper = "${you-can-use-any-helper}"
```
- The `config` structure is the following:
```yaml
config:
domains: # Optional
- serviceName: grafana # Required
port: 3000 # Required
host: ${main_domain} # Required
path: / # Optional
```toml
[config]
# Optional sections below
env: # Optional
- AP_HOST=${main_domain}
- AP_API_KEY=${api_key}
- AP_ENCRYPTION_KEY=${encryption_key}
- AP_JWT_SECRET=${jwt_secret}
- AP_POSTGRES_PASSWORD=${postgres_password}
[[config.domains]]
serviceName = "grafana" # Required
port = 3000 # Required
host = "${main_domain}" # Required
path = "/" # Optional
mounts: # Optional or []
- filePath: /content/file.txt
content: |
My content
env = [
"AP_HOST=${main_domain}",
"AP_API_KEY=${api_key}",
"AP_ENCRYPTION_KEY=${encryption_key}",
"AP_JWT_SECRET=${jwt_secret}",
"AP_POSTGRES_PASSWORD=${postgres_password}"
]
[[config.mounts]]
filePath = "/content/file.txt"
content = """
My content
"""
```
Important: you can reference any variable in the `domains`, `env` and `mounts` sections. just use the `${variable_name}` syntax, in the case you don't want to define a variable, you can use the `domain`, `base64`, `password`, `hash`, `uuid`, `randomPort` or `timestamp` helpers.
Important: you can reference any variable in the `domains`, `env` and `mounts` sections. just use the `${variable_name}` syntax, in the case you don't want to define a variable, you can use the `domain`, `base64`, `password`, `hash`, `uuid`, `randomPort`, `timestamp`, `jwt`, `email`, or `username` helpers.
### Helpers
We have a few helpers that are very common when creating a template, these are:
- `domain`: This is a helper that will generate a random domain for the template.
- `base64 or base64:length`: This is a helper that will encode a string to base64.
- `base64 or base64:length`: This is a helper that will encode a string to base64 (lenght is the number of bytes to encode not the encoded string length).
- `password or password:length`: This is a helper that will generate a random password for the template.
- `hash or hash:length`: This is a helper that will generate a hash for the template.
- `hash or hash:length`: This is a helper that will generate a hash for the template
- `uuid`: This is a helper that will generate a uuid for the template.
- `randomPort`: This is a helper that will generate a random port for the template.
- `timestamp`: This is a helper that will generate a timestamp.
- `jwt or jwt:length`: This is a helper that will generate a jwt for the template.
- `email`: This is a helper that will generate a random email for the template.
- `username`: This is a helper that will generate a random username in lowercase for the template.
- `timestamp`: This is a helper that will generate a timestamp for "now" in milli-second.
- `timestampms or timestampms:datetime`: This is a helper that will generate a timestamp in milli-seconds.
- `timestamps or timestamps:datetime`: This is a helper that will generate a timestamp in seconds.
- `datetime` parameter for `timestamps/timestampms` helpers must be a valid value for javascript new Date() (ie: `timestamps:2030-01-01T00:00:00Z`)
- `jwt`: This is a helper that will generate a jwt for the template.
- `jwt:length`: will generate a random hex string of bytes length. _This should not be used in newer templates_
- `jwt:secret_var_name`: will generate a jwt with some default values, secret var name should be the name of the variable holding the secret
- `jwt:secret_var_name:payload_var_name`: is the same as above but you can pass partial or full payload for the jwt.
Here's a full example
```toml
[variables]
main_domain = "${domain}"
mysecret = "cQsdycq1hDLopQonF6jUTqgQc5WEZTwWLL02J6XJ"
mypayload = """
{
"role": "jwt-tester",
"iss": "dokploy-templates",
"exp": ${timestamps:2030-01-01T00:00:00Z}
}
"""
jwt = "${jwt:mysecret:mypayload}"
```
## General Requirements when creating a template
- Don't use this way in your docker compose file:
```yaml
services:
grafana:
image: grafana/grafana-enterprise:9.5.20
restart: unless-stopped
ports:
- 3000:3000
# Instead use this way:
ports:
- 3000
```
- Don't use this way in your template.toml file, make sure to use the same service name as the one in the docker compose file:
```toml
[config]
[[config.domains]]
serviceName = "MyGrafanaService"
# Instead use this way:
serviceName = "grafana" # Make sure to use the same service name as the one in the docker compose file
```
- Don't use container_name in your docker compose file, make sure to use the same service name as the one in the template.toml file:
```yaml
services:
grafana:
container_name: grafana # ❌ Remove this
```
- Don't use dokploy-network in your docker compose file, by default all the templates have this flag enabled https://docs.dokploy.com/docs/core/docker-compose/utilities#isolated-deployments, so by default they have a internal network created, so you don't need to create a new one or use the dokploy-network name.
```yaml
services:
grafana:
networks:
- dokploy-network # ❌ Remove this or any other network defined
```
- Please before submit a PR, make sure to test the template in your instance, so the maintainers don't spend time trying to figure out what's wrong.
1. Everytime you submit a PR, it will display a Preview Link.
2. Enter to the Preview Link and search the template you've submitted.
3. Click on the Template Card, and click the Copy Button in the Base64 Configuration.
4. Go to your instance, create a new Compose Service, go to Advanced Section -> Scroll Down -> Import Section -> Paste the Base64 Value -> Click on the Import Button
5. If everything is correct and set, you should see a modal with all the details (Compose File, Environment Variables, Mounts, Domains, etc)
6. Now you can click on the Deploy Button and wait for the deployment to finish, and try to access to the service, if everything is correct you should access to the service and see the template working.
Each template's metadata lives in `blueprints/<id>/meta.json`; the global `meta.json` is generated at build time. Use `node build-scripts/generate-meta.js --check` to validate all template metadata.
+34 -30
View File
@@ -4,49 +4,53 @@
"version": "0.0.0",
"type": "module",
"scripts": {
"dev": "vite",
"build": "tsc -b && vite build",
"dev": "node ../build-scripts/generate-meta.js && vite",
"build": "node ../build-scripts/generate-meta.js && tsc -b && vite build",
"lint": "eslint .",
"preview": "vite preview"
"preview": "vite preview",
"generate-meta": "node ../build-scripts/generate-meta.js"
},
"dependencies": {
"@codemirror/autocomplete": "^6.18.6",
"@codemirror/lang-json": "^6.0.1",
"@codemirror/lang-yaml": "^6.1.1",
"@codemirror/language": "^6.10.1",
"@codemirror/autocomplete": "^6.19.1",
"@codemirror/lang-json": "^6.0.2",
"@codemirror/lang-yaml": "^6.1.2",
"@codemirror/language": "^6.11.3",
"@codemirror/legacy-modes": "6.4.0",
"@codemirror/view": "6.29.0",
"@radix-ui/react-dialog": "^1.1.6",
"@radix-ui/react-dropdown-menu": "^2.1.6",
"@radix-ui/react-label": "^2.1.2",
"@radix-ui/react-popover": "^1.1.6",
"@radix-ui/react-slot": "^1.1.2",
"@radix-ui/react-tabs": "^1.1.3",
"@tailwindcss/vite": "^4.0.12",
"@uiw/codemirror-theme-github": "^4.22.1",
"@uiw/react-codemirror": "^4.22.1",
"@iarna/toml": "^2.2.5",
"@radix-ui/react-dialog": "^1.1.15",
"@radix-ui/react-dropdown-menu": "^2.1.16",
"@radix-ui/react-label": "^2.1.7",
"@radix-ui/react-popover": "^1.1.15",
"@radix-ui/react-slot": "^1.2.3",
"@radix-ui/react-tabs": "^1.1.13",
"@tailwindcss/vite": "^4.1.16",
"@uiw/codemirror-theme-github": "^4.25.2",
"@uiw/react-codemirror": "^4.25.2",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"cmdk": "1.0.0",
"copy-to-clipboard": "^3.3.3",
"lucide-react": "^0.479.0",
"next-themes": "^0.4.5",
"react": "^19.0.0",
"react-dom": "^19.0.0",
"sonner": "^2.0.1",
"tailwind-merge": "^3.0.2",
"tailwindcss": "^4.0.12",
"next-themes": "^0.4.6",
"react": "^19.2.0",
"react-dom": "^19.2.0",
"react-router-dom": "^7.9.4",
"sonner": "^2.0.7",
"tailwind-merge": "^3.3.1",
"tailwindcss": "^4.1.16",
"tailwindcss-animate": "^1.0.7",
"vite-plugin-static-copy": "2.3.0",
"zustand": "^5.0.3"
"vite-plugin-static-copy": "^2.3.2",
"yaml": "2.7.1",
"zustand": "^5.0.8"
},
"devDependencies": {
"@types/node": "^20.8.2",
"@types/react": "^19.0.10",
"@types/react-dom": "^19.0.4",
"@vitejs/plugin-react": "^4.3.4",
"@types/node": "^20.19.23",
"@types/react": "^19.2.2",
"@types/react-dom": "^19.2.2",
"@vitejs/plugin-react": "^4.7.0",
"globals": "^15.15.0",
"typescript": "~5.7.2",
"vite": "^6.2.0"
"typescript": "~5.7.3",
"vite": "^6.4.1"
}
}
+1009 -767
View File
File diff suppressed because it is too large Load Diff
+4
View File
@@ -0,0 +1,4 @@
packages:
- .
allowBuilds:
esbuild: false
+1
View File
@@ -0,0 +1 @@
meta.json
+1
View File
@@ -0,0 +1 @@
../../blueprints
+36
View File
@@ -0,0 +1,36 @@
import yaml from "yaml";
import toml from "@iarna/toml";
import fs from "fs";
import path from "path";
import { fileURLToPath } from "url";
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
function convertYamlToToml(yamlContent) {
const parsedYaml = yaml.parse(yamlContent);
return toml.stringify(parsedYaml);
}
function processDirectory(dirPath) {
const files = fs.readdirSync(dirPath);
files.forEach((file) => {
const filePath = path.join(dirPath, file);
const stat = fs.statSync(filePath);
if (stat.isDirectory()) {
processDirectory(filePath);
} else if (file === "template.yml") {
console.log(`Converting ${filePath}`);
const yamlContent = fs.readFileSync(filePath, "utf8");
const tomlContent = convertYamlToToml(yamlContent);
const tomlPath = path.join(dirPath, "template.toml");
fs.writeFileSync(tomlPath, tomlContent);
}
});
}
// Ruta al directorio blueprints relativa al script
const blueprintsPath = path.join(__dirname, "..", "blueprints");
processDirectory(blueprintsPath);
+8 -5
View File
@@ -3,16 +3,19 @@ import Navigation from "./components/Navigation";
import Search from "./components/Search";
import { useStore } from "@/store";
import "./App.css";
import { BrowserRouter } from "react-router-dom";
function App() {
const view = useStore((state) => state.view);
return (
<div className="min-h-screen">
<Navigation />
<Search />
<TemplateGrid view={view} />
</div>
<BrowserRouter>
<div className="min-h-screen">
<Navigation />
<Search />
<TemplateGrid view={view} />
</div>
</BrowserRouter>
);
}
+4 -2
View File
@@ -13,7 +13,9 @@ const Navigation = () => {
"https://api.github.com/repos/dokploy/dokploy"
);
const data = await response.json();
setGithubStars(data.stargazers_count);
setGithubStars(
Number.isFinite(data.stargazers_count) ? data.stargazers_count : 0
);
} catch (error) {
console.error("Error fetching GitHub stars:", error);
}
@@ -32,7 +34,7 @@ const Navigation = () => {
<Button
onClick={() => {
window.open(
"https://github.com/Dokploy/dokploy/discussions/new?category=ideas",
"https://github.com/Dokploy/templates/issues/new",
"_blank"
);
}}
+53 -3
View File
@@ -16,9 +16,10 @@ import { Check, ChevronsUpDown } from "lucide-react";
import React from "react";
import { Tabs, TabsList, TabsTrigger } from "./ui/tabs";
import SelectedTags from "./SelectedTags";
import { useSearchParams } from "react-router-dom";
const Search = () => {
const { templates, searchQuery, setSearchQuery, setView, templatesCount } =
const { templates, searchQuery, setSearchQuery, setView, templatesCount, setFilteredTemplates, setTemplatesCount } =
useStore();
const selectedTags = useStore((state) => state.selectedTags);
const addSelectedTag = useStore((state) => state.addSelectedTag);
@@ -26,6 +27,7 @@ const Search = () => {
const [open, setOpen] = React.useState(false);
const [tagSearch, setTagSearch] = React.useState("");
const view = useStore((state) => state.view);
const [searchParams, setSearchParams] = useSearchParams();
// Get all unique tags, safely handle empty templates
const uniqueTags = React.useMemo(() => {
@@ -43,6 +45,54 @@ const Search = () => {
);
}, [uniqueTags, tagSearch]);
// Initialize search query from URL params and apply filters
React.useEffect(() => {
const queryFromUrl = searchParams.get("q") || "";
if (queryFromUrl !== searchQuery) {
setSearchQuery(queryFromUrl);
}
// Apply filters whenever templates, search query or selected tags change
if (templates) {
const filtered = templates.filter((template) => {
// Filter by search query - search across name and description
const searchTerm = queryFromUrl.toLowerCase();
const matchesSearch =
template.name.toLowerCase().includes(searchTerm) ||
template.description.toLowerCase().includes(searchTerm);
// Filter by selected tags
const matchesTags =
selectedTags.length === 0 ||
selectedTags.every((tag) => template.tags.includes(tag));
return matchesSearch && matchesTags;
});
setFilteredTemplates(filtered);
setTemplatesCount(filtered.length);
}
}, [searchParams, templates, selectedTags, setSearchQuery, setFilteredTemplates, setTemplatesCount]);
// Update URL params when search query changes
const handleSearchChange = (e: React.ChangeEvent<HTMLInputElement>) => {
const newQuery = e.target.value;
setSearchQuery(newQuery);
if (newQuery) {
setSearchParams({ q: newQuery });
} else {
searchParams.delete("q");
setSearchParams(searchParams);
}
};
// Clear search and URL params
const handleClearSearch = () => {
setSearchQuery("");
searchParams.delete("q");
setSearchParams(searchParams);
};
return (
<div className=" mx-auto p-4 lg:p-12 border-b w-full">
{/* <h1 className="text-2xl md:text-3xl xl:text-4xl font-bold text-center mb-8">
@@ -63,11 +113,11 @@ const Search = () => {
type="text"
placeholder="Search templates..."
value={searchQuery}
onChange={(e) => setSearchQuery(e.target.value)}
onChange={handleSearchChange}
className="w-full p-6"
/>
{searchQuery.length > 0 ? (
<div className="cursor-pointer" onClick={() => setSearchQuery("")}>
<div className="cursor-pointer" onClick={handleClearSearch}>
<XIcon className="absolute end-3 translate-y-3.5 top-1/2 h-5 w-5 text-gray-400" />
</div>
) : (
+4 -2
View File
@@ -55,7 +55,9 @@ const TemplateDialog: React.FC<TemplateDialogProps> = ({
config: templateFiles.config || "",
};
return btoa(JSON.stringify(configObj, null, 2));
// Use encodeURIComponent to handle Unicode characters properly
const jsonString = JSON.stringify(configObj, null, 2);
return btoa(unescape(encodeURIComponent(jsonString)));
};
return (
@@ -228,7 +230,7 @@ const TemplateDialog: React.FC<TemplateDialogProps> = ({
<div className="relative w-full rounded-md overflow-hidden border">
<CodeEditor
value={templateFiles.config || ""}
language="yaml"
language="toml"
className="font-mono w-full [&_*]:!break-words"
/>
<Button
+1 -2
View File
@@ -82,7 +82,7 @@ const TemplateGrid: React.FC<TemplateGridProps> = ({ view }) => {
try {
const [dockerComposeRes, configRes] = await Promise.all([
fetch(`/blueprints/${templateId}/docker-compose.yml`),
fetch(`/blueprints/${templateId}/template.yml`),
fetch(`/blueprints/${templateId}/template.toml`),
]);
const dockerCompose = dockerComposeRes.ok
@@ -120,7 +120,6 @@ const TemplateGrid: React.FC<TemplateGridProps> = ({ view }) => {
return matchesSearch && matchesTags;
});
console.log("ffiltered tem", filtered.length);
setTemplatesCount(filtered.length);
setFilteredTemplates(filtered);
}, [searchQuery, selectedTags]);
+1 -1
View File
@@ -121,7 +121,7 @@ function dockerComposeComplete(
interface Props extends ReactCodeMirrorProps {
wrapperClassName?: string;
disabled?: boolean;
language?: "yaml" | "json" | "properties" | "shell";
language?: "yaml" | "json" | "properties" | "shell" | "toml";
lineWrapping?: boolean;
lineNumbers?: boolean;
}
+2 -4
View File
@@ -11,11 +11,9 @@ export default defineConfig({
{
src: '../blueprints/*',
dest: 'blueprints' // raíz de dist (public root)
},
{
src: '../meta.json',
dest: '' // raíz de dist
}
// meta.json is no longer copied from the repo root: it is
// generated into app/public/meta.json by build-scripts/generate-meta.js
]
})
+24
View File
@@ -0,0 +1,24 @@
version: "3"
services:
ackee:
image: electerious/ackee:3.4.2
ports:
- "3000"
environment:
- ACKEE_USERNAME=${ACKEE_USERNAME}
- ACKEE_PASSWORD=${ACKEE_PASSWORD}
- ACKEE_MONGODB=${ACKEE_MONGODB}
mongo:
image: mongo:4
environment:
- MONGO_INITDB_ROOT_PASSWORD=${MONGO_INITDB_ROOT_PASSWORD}
- MONGO_INITDB_ROOT_USERNAME=mongo
volumes:
- mongo-data:/data/db
volumes:
mongo-data:
+4
View File
@@ -0,0 +1,4 @@
## Instructions
We don't have nothing to show here....
Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

+16
View File
@@ -0,0 +1,16 @@
{
"id": "ackee",
"name": "Ackee",
"version": "latest",
"description": "Ackee is a self-hosted analytics tool for your website.",
"logo": "logo.png",
"links": {
"github": "https://github.com/electerious/Ackee",
"website": "https://ackee.electerious.com/",
"docs": "https://docs.ackee.electerious.com/"
},
"tags": [
"analytics",
"self-hosted"
]
}
+19
View File
@@ -0,0 +1,19 @@
[variables]
ACKEE_USERNAME = "default"
ACKEE_PASSWORD = "${password:16}"
MONGO_INITDB_ROOT_PASSWORD = "${password:16}"
ACKEE_MONGODB = "mongodb://mongo:${MONGO_INITDB_ROOT_PASSWORD}@mongo:27017"
[config]
[[config.domains]]
serviceName = "ackee"
port = 3000
host = "${domain}"
[config.env]
ACKEE_USERNAME = "${ACKEE_USERNAME}"
ACKEE_PASSWORD = "${ACKEE_PASSWORD}"
ACKEE_MONGODB = "${ACKEE_MONGODB}"
MONGO_INITDB_ROOT_PASSWORD = "${MONGO_INITDB_ROOT_PASSWORD}"
+17
View File
@@ -0,0 +1,17 @@
{
"id": "activepieces",
"name": "Activepieces",
"version": "0.35.0",
"description": "Open-source no-code business automation tool. An alternative to Zapier, Make.com, and Tray.",
"logo": "activepieces.svg",
"links": {
"github": "https://github.com/activepieces/activepieces",
"website": "https://www.activepieces.com/",
"docs": "https://www.activepieces.com/docs"
},
"tags": [
"automation",
"workflow",
"no-code"
]
}
+21
View File
@@ -0,0 +1,21 @@
[variables]
main_domain = "${domain}"
api_key = "${password:32}"
encryption_key = "${password:32}"
jwt_secret = "${password:32}"
postgres_password = "${password:32}"
[config]
env = [
"AP_HOST=${main_domain}",
"AP_API_KEY=${api_key}",
"AP_ENCRYPTION_KEY=${encryption_key}",
"AP_JWT_SECRET=${jwt_secret}",
"AP_POSTGRES_PASSWORD=${postgres_password}",
]
mounts = []
[[config.domains]]
serviceName = "activepieces"
port = 80
host = "${main_domain}"
-21
View File
@@ -1,21 +0,0 @@
variables:
main_domain: ${domain}
api_key: ${password:32}
encryption_key: ${password:32}
jwt_secret: ${password:32}
postgres_password: ${password:32}
config:
domains:
- serviceName: activepieces
port: 80
host: ${main_domain}
env:
- AP_HOST=${main_domain}
- AP_API_KEY=${api_key}
- AP_ENCRYPTION_KEY=${encryption_key}
- AP_JWT_SECRET=${jwt_secret}
- AP_POSTGRES_PASSWORD=${postgres_password}
mounts: []
+17
View File
@@ -0,0 +1,17 @@
{
"id": "actualbudget",
"name": "Actual Budget",
"version": "latest",
"description": "A super fast and privacy-focused app for managing your finances.",
"logo": "actualbudget.png",
"links": {
"github": "https://github.com/actualbudget/actual",
"website": "https://actualbudget.org",
"docs": "https://actualbudget.org/docs"
},
"tags": [
"budgeting",
"finance",
"money"
]
}
+11
View File
@@ -0,0 +1,11 @@
[variables]
main_domain = "${domain}"
[config]
env = []
mounts = []
[[config.domains]]
serviceName = "actualbudget"
port = 5_006
host = "${main_domain}"
-12
View File
@@ -1,12 +0,0 @@
variables:
main_domain: ${domain}
config:
domains:
- serviceName: actualbudget
port: 5006
host: ${main_domain}
env: []
mounts: []
+20
View File
@@ -0,0 +1,20 @@
version: "3.8"
services:
adguardhome:
image: adguard/adguardhome:latest
restart: unless-stopped
ports:
- "53:53/tcp" # DNS
- "53:53/udp" # DNS
- "67:67/udp" # DHCP Server
- "68:68/tcp" # DHCP Client
- "853:853/tcp" # DNS over TLS, DNS-over-QUIC
- "853:853/udp" # DNS over TLS, DNS-over-QUIC
- "6060:6060/tcp" # HTTP (pprof)
volumes:
- adguardhome-work:/opt/adguardhome/work
- adguardhome-conf:/opt/adguardhome/conf
volumes:
adguardhome-work: {}
adguardhome-conf: {}
+20
View File
@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="80px" height="80px" viewBox="0 0 80 80" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 52.2 (67145) - http://www.bohemiancoding.com/sketch -->
<title>logo@2x</title>
<desc>Created with Sketch.</desc>
<g id="logo" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<rect id="Rectangle" fill="#FFFFFF" x="0" y="0" width="80" height="80" rx="20"></rect>
<g id="Group-10" transform="translate(12.000000, 12.000000)">
<g id="Group-9">
<g id="Group-8">
<g id="Group-7">
<path d="M28.2221276,0 C19.4007575,0 8.75997994,2.07442553 8.65485005e-06,6.64038298 C8.65485005e-06,16.501617 -0.120909272,41.0689362 28.2221276,57.855 C56.5657909,41.0689362 56.4454995,16.501617 56.4454995,6.64038298 C47.6849017,2.07442553 37.0441241,0 28.2221276,0 L28.2221276,0 Z" id="Path" fill="#68BC71"></path>
<path d="M28.1932991,57.8379179 C-0.120827266,41.0522735 8.65485006e-06,16.4982725 8.65485006e-06,6.64038298 C8.75043947,2.07939831 19.3775821,0.00452145957 28.1932991,7.38217799e-06 L28.1932991,57.8379237 Z" id="Combined-Shape" fill="#67B279"></path>
</g>
<path d="M27.1926958,38.6027397 L44.2590846,15.6010416 C43.0084943,14.5986526 41.911548,15.3061181 41.3076915,15.8538333 L41.2856573,15.8555888 L27.0557264,30.6585285 L21.6942672,24.2064902 C19.1365123,21.2514028 15.6592758,23.5054616 14.8469876,24.1011604 L27.1926958,38.6027397" id="Fill-11" fill="#FFFFFF"></path>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

+18
View File
@@ -0,0 +1,18 @@
{
"id": "adguardhome",
"name": "AdGuard Home",
"version": "latest",
"description": "AdGuard Home is a comprehensive solution designed to enhance your online browsing experience by eliminating all kinds of ads, from annoying banners and pop-ups to intrusive video ads. It provides privacy protection, browsing security, and parental control features while maintaining website functionality.",
"logo": "logo.svg",
"links": {
"github": "https://github.com/AdguardTeam/AdGuardHome",
"website": "https://adguard.com",
"docs": "https://github.com/AdguardTeam/AdGuardHome/wiki"
},
"tags": [
"privacy",
"security",
"dns",
"ad-blocking"
]
}
+12
View File
@@ -0,0 +1,12 @@
[variables]
main_domain = "${domain}"
[config]
env = []
mounts = []
[[config.domains]]
serviceName = "adguardhome"
port = 3000
host = "${main_domain}"
+7
View File
@@ -0,0 +1,7 @@
version: "3.8"
services:
adminer:
image: adminer:4.8.1
restart: unless-stopped
ports:
- 8080
+42
View File
@@ -0,0 +1,42 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="791px"
height="792px" viewBox="-91.5 -0.5 791 792" enable-background="new -91.5 -0.5 791 792" xml:space="preserve">
<g id="Layer_2">
<rect x="-91.5" y="-0.5" fill="#005982" width="791" height="792"/>
<rect x="-90.5" y="-0.5" fill="none" width="790" height="792"/>
</g>
<g id="Layer_1">
<path fill="#FFFFFF" d="M336.162,343.266c-7.003-27.503-58.849-54.543-149.432-54.543c-90.517,0-142.358,27.004-149.416,54.488
c-0.543,1.058-0.875,2.241-0.875,3.513v249.82c0,2.393,1.101,4.505,2.794,5.937c11.992,25.549,62.822,49.176,147.496,49.176
c84.697,0,135.532-23.639,147.507-49.199c1.679-1.428,2.768-3.531,2.768-5.913v-5.691c0-0.047,0.008-0.09,0.008-0.137
c0-0.027-0.008-0.05-0.008-0.077v-81.224c0-0.046,0.008-0.09,0.008-0.136c0-0.028-0.008-0.051-0.008-0.078V429.61
c0-0.048,0.008-0.09,0.008-0.137c0-0.027-0.008-0.052-0.008-0.079v-79.59c0-0.047,0.008-0.09,0.008-0.137s-0.008-0.094-0.008-0.141
v-2.802C337.005,345.475,336.685,344.312,336.162,343.266z M321.392,509.372c-0.165,21.415-55.417,45.233-134.662,45.233
c-79.36,0-134.668-23.889-134.668-45.33c0-0.027-0.008-0.052-0.008-0.079v-52.169c22.261,18.717,67.967,33.387,134.676,33.387
c66.698,0,112.392-14.665,134.662-33.375V509.372z M321.392,429.567C321.227,450.98,265.974,474.8,186.73,474.8
c-79.36,0-134.668-23.889-134.668-45.331c0-0.026-0.008-0.051-0.008-0.078v-52.169c22.261,18.716,67.967,33.386,134.676,33.386
c66.698,0,112.392-14.661,134.662-33.374V429.567z M186.73,304.337c79.244,0,134.497,23.818,134.662,45.233v0.191
c-0.165,21.415-55.417,45.233-134.662,45.233c-79.36,0-134.668-23.889-134.668-45.327
C52.062,328.229,107.37,304.337,186.73,304.337z M186.73,636.043c-79.36,0-134.668-23.89-134.668-45.327
c0-0.027-0.008-0.05-0.008-0.077v-53.802c22.261,18.717,67.967,33.387,134.676,33.387c66.698,0,112.392-14.665,134.662-33.375
v53.961C321.227,612.228,265.974,636.043,186.73,636.043z"/>
<g>
<path fill="#FF0000" d="M427.38,365.951l-71.116-59.932l71.116-59.827l16.46,16.671l-52.335,42.944l52.335,43.472L427.38,365.951z
"/>
<path fill="#FF0000" d="M566.131,260.227c0,5.909-0.897,11.203-2.691,15.88c-1.793,4.679-4.362,8.723-7.702,12.134
c-3.342,3.413-7.369,6.173-12.081,8.283c-4.714,2.11-9.989,3.553-15.827,4.326l-1.056,19.837h-22.052l-1.899-39.673h15.3
c3.445,0,6.418-0.491,8.915-1.477c2.496-0.984,4.537-2.322,6.12-4.01s2.743-3.64,3.482-5.856c0.738-2.216,1.107-4.554,1.107-7.017
c0-3.376-0.722-6.524-2.163-9.444c-1.442-2.918-3.692-5.486-6.753-7.702c-3.06-2.216-6.947-3.957-11.659-5.223
c-4.713-1.266-10.377-1.899-16.987-1.899h-6.226v-23.952h7.28c10.832,0,20.293,1.284,28.384,3.851
c8.088,2.568,14.841,5.979,20.258,10.235c5.416,4.257,9.479,9.127,12.188,14.614C564.775,248.62,566.131,254.317,566.131,260.227z
M533.21,349.069c0,2.321-0.458,4.502-1.371,6.542c-0.915,2.041-2.147,3.835-3.693,5.381c-1.548,1.548-3.377,2.76-5.486,3.64
c-2.11,0.879-4.363,1.319-6.753,1.319c-2.393,0-4.627-0.44-6.7-1.319c-2.076-0.88-3.888-2.092-5.435-3.64
c-1.548-1.546-2.779-3.34-3.692-5.381c-0.915-2.04-1.372-4.221-1.372-6.542s0.457-4.5,1.372-6.542
c0.913-2.04,2.145-3.833,3.692-5.381c1.547-1.546,3.358-2.76,5.435-3.64c2.073-0.879,4.308-1.319,6.7-1.319
c2.39,0,4.643,0.44,6.753,1.319c2.109,0.88,3.938,2.094,5.486,3.64c1.546,1.548,2.778,3.342,3.693,5.381
C532.752,344.568,533.21,346.748,533.21,349.069z"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.6 KiB

+18
View File
@@ -0,0 +1,18 @@
{
"id": "adminer",
"name": "Adminer",
"version": "4.8.1",
"description": "Adminer is a comprehensive database management tool that supports MySQL, MariaDB, PostgreSQL, SQLite, MS SQL, Oracle, Elasticsearch, MongoDB and others. It provides a clean interface for efficient database operations, with strong security features and extensive customization options.",
"logo": "logo.svg",
"links": {
"github": "https://github.com/vrana/adminer",
"website": "https://www.adminer.org/",
"docs": "https://www.adminer.org/en/plugins/"
},
"tags": [
"databases",
"developer-tools",
"mysql",
"postgresql"
]
}
+8
View File
@@ -0,0 +1,8 @@
[variables]
main_domain = "${domain}"
[config]
[[config.domains]]
serviceName = "adminer"
port = 8080
host = "${main_domain}"
File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 7.9 KiB

@@ -0,0 +1,51 @@
version: "3.8"
services:
web:
image: ghcr.io/seanmorley15/adventurelog-frontend:latest
restart: unless-stopped
depends_on:
- server
environment:
# Frontend needs to know where the backend is
PUBLIC_SERVER_URL: ${PUBLIC_SERVER_URL}
ORIGIN: ${ORIGIN}
BODY_SIZE_LIMIT: ${BODY_SIZE_LIMIT}
db:
image: postgis/postgis:16-3.5
restart: unless-stopped
volumes:
- postgres_data:/var/lib/postgresql/data/
environment:
POSTGRES_DB: ${POSTGRES_DB}
POSTGRES_USER: ${POSTGRES_USER}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
server:
image: ghcr.io/seanmorley15/adventurelog-backend:latest
restart: unless-stopped
depends_on:
- db
volumes:
- adventurelog_media:/code/media/
environment:
# DB settings for Django
PGHOST: ${PGHOST}
POSTGRES_DB: ${POSTGRES_DB}
POSTGRES_USER: ${POSTGRES_USER}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
# Django app settings
SECRET_KEY: ${SECRET_KEY}
DJANGO_ADMIN_USERNAME: ${DJANGO_ADMIN_USERNAME}
DJANGO_ADMIN_PASSWORD: ${DJANGO_ADMIN_PASSWORD}
DJANGO_ADMIN_EMAIL: ${DJANGO_ADMIN_EMAIL}
DEBUG: ${DEBUG}
CSRF_TRUSTED_ORIGINS: ${CSRF_TRUSTED_ORIGINS}
FRONTEND_URL: ${FRONTEND_URL}
PUBLIC_URL: ${PUBLIC_URL}
volumes:
postgres_data: {}
adventurelog_media: {}
+19
View File
@@ -0,0 +1,19 @@
{
"id": "adventurelog",
"name": "AdventureLog",
"version": "latest",
"description": "AdventureLog is an open-source activity tracker with maps, journaling, and Strava integration.",
"logo": "adventurelog.svg",
"links": {
"github": "https://github.com/seanmorley15/adventurelog",
"website": "https://adventurelog.app/",
"docs": "https://adventurelog.app/docs/intro/adventurelog_overview.html"
},
"tags": [
"activity",
"maps",
"django",
"react",
"postgres"
]
}
+44
View File
@@ -0,0 +1,44 @@
[variables]
frontend_domain = "${domain}"
backend_domain = "${domain}"
postgres_password = "${password:16}"
secret_key = "${password:32}"
admin_username = "admin"
admin_password = "${password:12}"
admin_email = "${email}"
[config]
# Frontend domain
[[config.domains]]
serviceName = "web"
port = 3000
host = "${frontend_domain}"
# Backend domain
[[config.domains]]
serviceName = "server"
port = 80
host = "${backend_domain}"
[config.env]
# --- Postgres (values used by both db and server services)
PGHOST = "db"
POSTGRES_DB = "adventure"
POSTGRES_USER = "adventure"
POSTGRES_PASSWORD = "${postgres_password}"
# --- Django Backend
SECRET_KEY = "${secret_key}"
DJANGO_ADMIN_USERNAME = "${admin_username}"
DJANGO_ADMIN_PASSWORD = "${admin_password}"
DJANGO_ADMIN_EMAIL = "${admin_email}"
DEBUG = "False"
CSRF_TRUSTED_ORIGINS = "http://${backend_domain},http://${frontend_domain}"
FRONTEND_URL = "http://${frontend_domain}"
PUBLIC_URL = "http://${backend_domain}"
# --- Frontend
PUBLIC_SERVER_URL = "${backend_domain}"
ORIGIN = "http://${frontend_domain}"
BODY_SIZE_LIMIT = "Infinity"
+65
View File
@@ -0,0 +1,65 @@
version: "3.8"
services:
affinepro:
image: ghcr.io/toeverything/affine-graphql:stable-780dd83
restart: unless-stopped
ports:
- 3010
volumes:
- affine-storage:/root/.affine/storage
- affine-config:/root/.affine/config
environment:
- REDIS_SERVER_HOST=redis
- REDIS_SERVER_PASSWORD=${REDIS_PASSWORD}
- DATABASE_URL=postgresql://postgres:${POSTGRES_PASSWORD}@db:5432/affinepro
- AFFINE_SERVER_HOST=${DOMAIN}
- MAILER_HOST=${MAILER_HOST}
- MAILER_PORT=${MAILER_PORT}
- MAILER_USER=${MAILER_USER}
- MAILER_PASSWORD=${MAILER_PASSWORD}
- MAILER_SENDER=${MAILER_SENDER}
depends_on:
- db
- redis
migration:
image: ghcr.io/toeverything/affine-graphql:stable-780dd83
command: node ./scripts/self-host-predeploy.js
environment:
- REDIS_SERVER_HOST=redis
- REDIS_SERVER_PASSWORD=${REDIS_PASSWORD}
- DATABASE_URL=postgresql://postgres:${POSTGRES_PASSWORD}@db:5432/affinepro
- AFFINE_SERVER_HOST=${DOMAIN}
- MAILER_HOST=${MAILER_HOST}
- MAILER_PORT=${MAILER_PORT}
- MAILER_USER=${MAILER_USER}
- MAILER_PASSWORD=${MAILER_PASSWORD}
- MAILER_SENDER=${MAILER_SENDER}
volumes:
- affine-storage:/root/.affine/storage
- affine-config:/root/.affine/config
depends_on:
- db
- redis
db:
image: postgres:15-alpine
restart: unless-stopped
environment:
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
- POSTGRES_DB=affinepro
volumes:
- postgres-data:/var/lib/postgresql/data
redis:
image: redis:7-alpine
restart: unless-stopped
command: redis-server --requirepass ${REDIS_PASSWORD}
volumes:
- redis-data:/data
volumes:
affine-storage: {}
affine-config: {}
postgres-data: {}
redis-data: {}
Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 KiB

+18
View File
@@ -0,0 +1,18 @@
{
"id": "affinepro",
"name": "Affine Pro",
"version": "stable-780dd83",
"description": "Affine Pro is a modern, self-hosted platform designed for collaborative content creation and project management. It offers an intuitive interface, seamless real-time collaboration, and powerful tools for organizing tasks, notes, and ideas.",
"logo": "logo.png",
"links": {
"github": "https://github.com/toeverything/Affine",
"website": "https://affine.pro/",
"docs": "https://docs.affine.pro/"
},
"tags": [
"collaboration",
"self-hosted",
"productivity",
"project-management"
]
}
+25
View File
@@ -0,0 +1,25 @@
[variables]
main_domain = "${domain}"
postgres_password = "${password:16}"
redis_password = "${password:16}"
mailer_host = ""
mailer_port = "587"
mailer_user = ""
mailer_password = ""
mailer_sender = ""
[config]
[[config.domains]]
serviceName = "affinepro"
port = 3010
host = "${main_domain}"
[config.env]
DOMAIN = "${main_domain}"
POSTGRES_PASSWORD = "${postgres_password}"
REDIS_PASSWORD = "${redis_password}"
MAILER_HOST = "${mailer_host}"
MAILER_PORT = "${mailer_port}"
MAILER_USER = "${mailer_user}"
MAILER_PASSWORD = "${mailer_password}"
MAILER_SENDER = "${mailer_sender}"
+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" id="a" viewBox="0 0 3271 1440"><defs><style>.st0{fill:#dedede}</style></defs><path d="M1009.95 1209.53c-125.1-214.98-250.74-430.9-378.92-651.16-126.82 219.73-251.81 436.28-376.62 652.51H60.69c190.42-329.11 570.87-981.75 570.87-981.75s382.11 651.12 572.49 980.41h-194.1Z" class="st0"/><path d="M875.46 1210.46H383.92c32.72-56.91 64.4-111.99 95.81-166.62H781.8c30.62 54.46 61.09 108.66 93.67 166.62zm1622.92-202.23c19.52 29.84 37.9 57.94 58.46 89.39h-63.61c-18.29-24.88-38.17-51.91-57.71-78.49h-72.24v78.17h-51.11V828.44c30.03 0 58.71-.22 87.38.06 23.48.24 47.32-1.26 70.37 2.21 37.67 5.66 66.94 25.71 74.9 64.9 8.22 40.54 1.62 78.35-35.52 104.62-3.14 2.22-6.21 4.54-10.93 7.99h.01Zm-135.01-40.37c34 0 66.71 1.87 99.08-.66 21.47-1.67 30.97-17.92 31.56-39.77.61-22.88-9.01-40.56-30.99-42.73-32.8-3.23-66.15-.84-99.65-.84zM1674.39 829.9v38.37c-52.36 58.82-104.25 117.13-160.14 179.91h158.93v49.49h-227.62v-51.9c46.98-52.11 95.02-105.41 147.93-164.09h-147.28V829.9zm906.29-489.95c64.48 63.91 125.11 123.99 189.35 187.65V373.68h47.4v271.19c-64.19-62.94-125.05-122.59-190.04-186.3v162.44h-46.72V339.94h.01Zm195.02 692.31c13.79-6.85 33.51-15.76 45.41-21.65 41.44 55.26 105.07 42.53 132.33 18s35.44-59.98 25.2-95.47c-13.36-34.33-42.97-61.14-86.36-59.62-43.38 1.52-81.55 32.41-85.2 84.34h-50.32c-.57-50.11 36.27-109.35 94.12-126.75 72.77-21.89 144.89 13.23 172.07 83.77 25.18 65.37-5.74 138.6-72.21 171-60.69 29.59-140.17 6.97-175.1-53.61h.04Zm-811.82-622.07c-11.07 8.4-24.55 17.68-34.13 24.95-55.99-46.33-119.62-30.88-142.33 27.28-13.63 38.17 6.27 88.2 48.2 103.62 36.45 13.4 76.82-.61 87.32-31.48-8.66-2.61-17.29-5.23-28.25-8.54-.93-12.84-1.85-25.67-2.96-40.9h96.82c7.25 56.02-37.39 118.12-94.41 132.17-63.06 15.54-129.35-19.2-152.31-79.83-22.64-59.76 4.81-131.25 61.88-161.16 55.93-29.3 126.75-15.37 160.17 33.88Zm-531.9-55.25c48.2 92.28 93.04 178.13 139.88 267.84h-53.47c-27.89-50.55-56.47-102.34-86.73-157.13-28.93 54.29-56.1 105.29-83.82 157.31h-54.54c45.87-88.68 90.79-175.5 138.65-268.02h.01Zm1642.09 60.65h-89.98v-46.22h226.22v46.24h-86.43v205.91h-49.82V415.59zM1947.89 878.34v65.77l63.09.91s-.03 30.03-.03 50.34c-25.69.89-53.1.45-78.35-5.53-21.38-5.05-36.73-22.63-37.67-46.05-1.5-36.98-.4-75.88-.4-115.24h216.51v49.81h-163.16Zm-52.88 218.57v-68.62c14.11-.65 27.22-1.25 40.97-1.87 3.47 7 3.06 19.81 9.96 20.09 6.88.29 107.67 0 164.04 0v50.41h-214.97Zm342.4-678.53v60.83l58.36.84s-.03 27.78-.03 46.57c-23.85.41-49.12.41-72.49-5.11-19.77-4.68-33.97-20.93-34.85-42.59-1.39-34.2-.37-70.19-.37-106.6h200.29v46.07H2237.4h.01Zm-48.91 202.2v-63.49c13.05-.6 25.18-1.15 37.9-1.73 3.2 6.48 2.83 18.32 9.2 18.59s99.6 0 151.75 0v46.63h-198.87.01Z" class="st0"/></svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

+14
View File
@@ -0,0 +1,14 @@
version: "3.8"
services:
agent-zero:
image: agent0ai/agent-zero:v1.9
restart: unless-stopped
expose:
- "80"
environment:
- AUTH_LOGIN=${AUTH_LOGIN}
- AUTH_PASSWORD=${AUTH_PASSWORD}
volumes:
- agent-zero-data:/a0/usr
volumes:
agent-zero-data:
+17
View File
@@ -0,0 +1,17 @@
{
"id": "agent-zero",
"name": "Agent Zero",
"version": "v1.9",
"description": "Agent Zero is an open-source autonomous AI agent framework with memory and tool use capabilities.",
"logo": "agent-zero.svg",
"links": {
"github": "https://github.com/agent0ai/agent-zero",
"website": "https://www.agent-zero.ai",
"docs": "https://www.agent-zero.ai/p/docs/"
},
"tags": [
"ai",
"agent",
"automation"
]
}
+16
View File
@@ -0,0 +1,16 @@
[variables]
main_domain = "${domain}"
auth_login = "${username}"
auth_password = "${password:32}"
[config]
env = [
"AUTH_LOGIN=${auth_login}",
"AUTH_PASSWORD=${auth_password}",
]
mounts = []
[[config.domains]]
serviceName = "agent-zero"
port = 80
host = "${main_domain}"
Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

+22
View File
@@ -0,0 +1,22 @@
services:
agentdvr:
image: mekayelanik/ispyagentdvr:latest
restart: unless-stopped
environment:
- PUID=1000
- PGID=1000
- TZ=${TIMEZONE:-America/New_York}
- AGENTDVR_WEBUI_PORT=8090
volumes:
- agentdvr-config:/AgentDVR/Media/XML/
- agentdvr-media:/AgentDVR/Media/WebServerRoot/Media/
- agentdvr-commands:/AgentDVR/Commands/
ports:
- 8090
- 3478/udp
- 50000-50100/udp
volumes:
agentdvr-config: {}
agentdvr-media: {}
agentdvr-commands: {}
+20
View File
@@ -0,0 +1,20 @@
{
"id": "agentdvr",
"name": "Agent DVR",
"version": "latest",
"description": "Agent DVR is a comprehensive video surveillance software with motion detection, alerts, and remote access capabilities.",
"logo": "agentdvr.png",
"links": {
"github": "https://github.com/ispysoftware/AgentDVR",
"website": "https://www.ispyconnect.com/",
"docs": "https://www.ispyconnect.com/userguide-agent-dvr.aspx"
},
"tags": [
"surveillance",
"security",
"video",
"monitoring",
"dvr",
"camera"
]
}
+14
View File
@@ -0,0 +1,14 @@
[variables]
main_domain = "${domain}"
timezone = "America/New_York"
[config]
[[config.domains]]
serviceName = "agentdvr"
port = 8090
host = "${main_domain}"
[config.env]
TIMEZONE = "${timezone}"
[[config.mounts]]
+55
View File
@@ -0,0 +1,55 @@
version: "3.8"
services:
akaunting:
image: docker.io/akaunting/akaunting:latest
restart: unless-stopped
depends_on:
akaunting-db:
condition: service_healthy
environment:
# App config
APP_URL: ${APP_URL}
LOCALE: ${LOCALE}
# Database connection
DB_HOST: akaunting-db
DB_PORT: 3306
DB_NAME: ${DB_NAME}
DB_USERNAME: ${DB_USERNAME}
DB_PASSWORD: ${DB_PASSWORD}
DB_PREFIX: ${DB_PREFIX}
# First-run bootstrap (company + admin)
COMPANY_NAME: ${COMPANY_NAME}
COMPANY_EMAIL: ${COMPANY_EMAIL}
ADMIN_EMAIL: ${ADMIN_EMAIL}
ADMIN_PASSWORD: ${ADMIN_PASSWORD}
# Expose only to internal network; domain routing handled by Dokploy/Traefik
expose:
- "80"
volumes:
- akaunting-data:/var/www/html
akaunting-db:
image: mariadb:10.11
restart: unless-stopped
environment:
MYSQL_DATABASE: ${MYSQL_DATABASE}
MYSQL_USER: ${MYSQL_USER}
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
# Randomizes root password on each deployment (recommended)
MYSQL_RANDOM_ROOT_PASSWORD: "yes"
volumes:
- akaunting-db:/var/lib/mysql
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
interval: 10s
timeout: 5s
retries: 5
volumes:
akaunting-data: {}
akaunting-db: {}
Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 KiB

+19
View File
@@ -0,0 +1,19 @@
{
"id": "akaunting",
"name": "Akaunting",
"version": "latest",
"description": "Akaunting is a self-hosted, open-source accounting app for small businesses.",
"logo": "image.png",
"links": {
"github": "https://github.com/akaunting/akaunting",
"website": "https://akaunting.com",
"docs": "https://akaunting.com/docs"
},
"tags": [
"finance",
"accounting",
"php",
"mariadb",
"self-hosted"
]
}
+54
View File
@@ -0,0 +1,54 @@
[variables]
# Domain & UI
main_domain = "${domain}"
locale = "en-US"
# DB credentials (safe defaults; user can override in UI)
db_name = "akaunting"
db_user = "admin"
mysql_password = "${password:24}"
# Akaunting setup variables
company_name = "My Company"
company_email = "${email}"
admin_email = "${email}"
admin_password = "${password:24}"
# Akaunting table prefix: 3 hex chars + underscore (e.g., "a1f_")
db_prefix = "${hash:3}_"
# Domain routing for the web UI
[[config.domains]]
serviceName = "akaunting"
port = 80
host = "${main_domain}"
[config]
env = [
# App
"APP_URL=${main_domain}",
"LOCALE=${locale}",
# Database (app)
"DB_HOST=akaunting-db",
"DB_PORT=3306",
"DB_NAME=${db_name}",
"DB_USERNAME=${db_user}",
"DB_PASSWORD=${mysql_password}",
"DB_PREFIX=${db_prefix}",
# First-run bootstrap (app)
"COMPANY_NAME=${company_name}",
"COMPANY_EMAIL=${company_email}",
"ADMIN_EMAIL=${admin_email}",
"ADMIN_PASSWORD=${admin_password}",
# Database (server)
"MYSQL_DATABASE=${db_name}",
"MYSQL_USER=${db_user}",
"MYSQL_PASSWORD=${mysql_password}",
"MYSQL_RANDOM_ROOT_PASSWORD=yes"
]
# No custom mounts needed; volumes are already defined in compose.
[[config.mounts]]
Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

+30
View File
@@ -0,0 +1,30 @@
services:
alarik:
image: ghcr.io/achtungsoftware/alarik:latest
restart: unless-stopped
volumes:
- alarik-storage:/app/Storage
environment:
- API_BASE_URL=${API_BASE_URL}
- CONSOLE_BASE_URL=${CONSOLE_BASE_URL}
- ADMIN_USERNAME=${ADMIN_USERNAME}
- ADMIN_PASSWORD=${ADMIN_PASSWORD}
- JWT=${JWT}
- ALLOW_ACCOUNT_CREATION=${ALLOW_ACCOUNT_CREATION}
expose:
- 8080
console:
image: ghcr.io/achtungsoftware/alarik-console:latest
restart: unless-stopped
environment:
- NUXT_PUBLIC_API_BASE_URL=${API_BASE_URL}
- NUXT_PUBLIC_CONSOLE_BASE_URL=${CONSOLE_BASE_URL}
- NUXT_PUBLIC_ALLOW_ACCOUNT_CREATION=${ALLOW_ACCOUNT_CREATION}
expose:
- 3000
depends_on:
- alarik
volumes:
alarik-storage:
+17
View File
@@ -0,0 +1,17 @@
{
"id": "alarik",
"name": "Alarik",
"description": "Alarik is a high-performance, S3-compatible object storage.",
"logo": "alarik.png",
"version": "latest",
"links": {
"github": "https://github.com/achtungsoftware/alarik",
"website": "https://alarik.io/",
"docs": "https://alarik.io/docs"
},
"tags": [
"storage",
"s3",
"object-storage"
]
}
+26
View File
@@ -0,0 +1,26 @@
[variables]
console_domain = "${domain}"
api_domain = "${domain}"
[config]
mounts = []
# S3-compatible API - point AWS CLI / SDKs / rclone / backup tools at this domain
[[config.domains]]
serviceName = "alarik"
port = 8_080
host = "${api_domain}"
# Web management console - log in with the generated admin credentials below
[[config.domains]]
serviceName = "console"
port = 3_000
host = "${console_domain}"
[config.env]
API_BASE_URL = "http://${api_domain}"
CONSOLE_BASE_URL = "http://${console_domain}"
ADMIN_USERNAME = "alarik"
ADMIN_PASSWORD = "${password:16}"
JWT = "${base64:64}"
ALLOW_ACCOUNT_CREATION = "false"
+1 -1
View File
@@ -1,7 +1,7 @@
version: '3.3'
services:
alist:
image: xhofe/alist:v3.41.0
image: xhofe/alist:v3.55.0
volumes:
- alist-data:/opt/alist/data
environment:
+17
View File
@@ -0,0 +1,17 @@
{
"id": "alist",
"name": "AList",
"version": "v3.55.0",
"description": "🗂️A file list/WebDAV program that supports multiple storages, powered by Gin and Solidjs.",
"logo": "alist.svg",
"links": {
"github": "https://github.com/AlistGo/alist",
"website": "https://alistgo.com/",
"docs": "https://alistgo.com/guide/install/docker.html"
},
"tags": [
"file",
"webdav",
"storage"
]
}
+11
View File
@@ -0,0 +1,11 @@
[variables]
main_domain = "${domain}"
[config]
env = []
mounts = []
[[config.domains]]
serviceName = "alist"
port = 5_244
host = "${main_domain}"
-12
View File
@@ -1,12 +0,0 @@
variables:
main_domain: ${domain}
config:
domains:
- serviceName: alist
port: 5244
host: ${main_domain}
env: []
mounts: []
+12
View File
@@ -0,0 +1,12 @@
version: "3.8"
services:
alltube:
image: dnomd343/alltube:latest
restart: unless-stopped
ports:
- 80
environment:
- TITLE=${TITLE}
- CONVERT=${CONVERT}
- STREAM=${STREAM}
- REMUX=${REMUX}
Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

+17
View File
@@ -0,0 +1,17 @@
{
"id": "alltube",
"name": "AllTube",
"version": "latest",
"description": "AllTube Download is an application designed to facilitate the downloading of videos from YouTube and other video sites. It provides an HTML GUI for youtube-dl with video conversion capabilities and JSON API support.",
"logo": "logo.png",
"links": {
"github": "https://github.com/Rudloff/alltube",
"website": "https://github.com/Rudloff/alltube",
"docs": "https://github.com/Rudloff/alltube/wiki"
},
"tags": [
"media",
"video",
"downloader"
]
}
+18
View File
@@ -0,0 +1,18 @@
[variables]
main_domain = "${domain}"
title = "My AllTube Site"
convert = "true"
stream = "true"
remux = "true"
[config]
[[config.domains]]
serviceName = "alltube"
port = 80
host = "${main_domain}"
[config.env]
TITLE = "${title}"
CONVERT = "${convert}"
STREAM = "${stream}"
REMUX = "${remux}"
+17
View File
@@ -0,0 +1,17 @@
version: "3.8"
services:
ampache:
image: ampache/ampache:latest
restart: unless-stopped
ports:
- 80
volumes:
- config:/var/www/config
- log:/var/log/ampache
- mysql:/var/lib/mysql
- ${MEDIA_PATH}:/media
volumes:
config: {}
log: {}
mysql: {}
Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

+17
View File
@@ -0,0 +1,17 @@
{
"id": "ampache",
"name": "Ampache",
"version": "latest",
"description": "Ampache is a web-based audio/video streaming application and file manager allowing you to access your music & videos from anywhere, using almost any internet enabled device.",
"logo": "logo.png",
"links": {
"github": "https://github.com/ampache/ampache",
"website": "http://ampache.org/",
"docs": "https://github.com/ampache/ampache/wiki"
},
"tags": [
"media",
"music",
"streaming"
]
}
+12
View File
@@ -0,0 +1,12 @@
[variables]
main_domain = "${domain}"
media_path = "/path/to/your/media"
[config]
[[config.domains]]
serviceName = "ampache"
port = 80
host = "${main_domain}"
[config.env]
MEDIA_PATH = "${media_path}"
+16
View File
@@ -0,0 +1,16 @@
version: "3.8"
services:
anonupload:
image: ghcr.io/supernova3339/anonfiles:1
restart: unless-stopped
ports:
- 80
environment:
- ADMIN_EMAIL=${ADMIN_EMAIL}
- ADMIN_PASSWORD=${ADMIN_PASSWORD}
- CONTACT_EMAIL=${CONTACT_EMAIL}
volumes:
- uploads:/var/www/html/uploads
volumes:
uploads: {}
Binary file not shown.

After

Width:  |  Height:  |  Size: 258 KiB

+16
View File
@@ -0,0 +1,16 @@
{
"id": "anonupload",
"name": "AnonUpload",
"version": "1",
"description": "AnonUpload is a secure, anonymous file sharing application that does not require a database. It is built with privacy as a priority, ensuring that the direct filename used is not displayed.",
"logo": "logo.png",
"links": {
"github": "https://github.com/supernova3339/anonupload",
"docs": "https://github.com/Supernova3339/anonupload/blob/main/env.md",
"website": "https://anonupload.com/"
},
"tags": [
"file-sharing",
"privacy"
]
}
+16
View File
@@ -0,0 +1,16 @@
[variables]
main_domain = "${domain}"
admin_email = "${email}"
admin_password = "${password:16}"
contact_email = "${email}"
[config]
[[config.domains]]
serviceName = "anonupload"
port = 80
host = "${main_domain}"
[config.env]
ADMIN_EMAIL = "${admin_email}"
ADMIN_PASSWORD = "${admin_password}"
CONTACT_EMAIL = "${contact_email}"
+15
View File
@@ -0,0 +1,15 @@
version: "3.8"
services:
anse-demo:
image: ddiu8081/anse:latest
restart: always
expose:
- 3000
environment:
- OPENAI_API_KEY=${OPENAI_API_KEY}
- OPENAI_API_BASE_URL=${OPENAI_API_BASE_URL}
- HEAD_SCRIPTS=${HEAD_SCRIPTS}
- SECRET_KEY=${SECRET_KEY}
- SITE_PASSWORD=${SITE_PASSWORD}
- OPENAI_API_MODEL=${OPENAI_API_MODEL}
Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

+18
View File
@@ -0,0 +1,18 @@
{
"id": "anse",
"name": "Anse",
"version": "latest",
"description": "Anse is an open-source alternative to ChatGPT web UI, supporting OpenAI-compatible APIs.",
"logo": "image.png",
"links": {
"github": "https://github.com/ddiu8081/anse",
"website": "https://anse.app/",
"docs": "https://github.com/ddiu8081/anse#readme"
},
"tags": [
"ai",
"chatbot",
"openai",
"ui"
]
}
+18
View File
@@ -0,0 +1,18 @@
[variables]
main_domain = "${domain}"
secret_key = "${password:32}"
site_password = "${password:16}"
[config]
[[config.domains]]
serviceName = "anse-demo"
port = 3000
host = "${main_domain}"
[config.env]
OPENAI_API_KEY = ""
OPENAI_API_BASE_URL = "https://api.openai.com"
HEAD_SCRIPTS = ""
SECRET_KEY = "${secret_key}"
SITE_PASSWORD = "${site_password}"
OPENAI_API_MODEL = "gpt-4o-mini"
+16
View File
@@ -0,0 +1,16 @@
{
"id": "answer",
"name": "Answer",
"version": "v1.4.1",
"description": "Answer is an open-source Q&A platform for building a self-hosted question-and-answer service.",
"logo": "answer.png",
"links": {
"github": "https://github.com/apache/answer",
"website": "https://answer.apache.org/",
"docs": "https://answer.apache.org/docs"
},
"tags": [
"q&a",
"self-hosted"
]
}
+12
View File
@@ -0,0 +1,12 @@
[variables]
main_domain = "${domain}"
service_hash = "${hash:32}"
[config]
env = ["ANSWER_HOST=http://${main_domain}", "SERVICE_HASH=${service_hash}"]
mounts = []
[[config.domains]]
serviceName = "answer"
port = 9_080
host = "${main_domain}"
-15
View File
@@ -1,15 +0,0 @@
variables:
main_domain: ${domain}
service_hash: ${hash:32}
config:
domains:
- serviceName: answer
port: 9080
host: ${main_domain}
env:
- ANSWER_HOST=http://${main_domain}
- SERVICE_HASH=${service_hash}
mounts: []
Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

+38
View File
@@ -0,0 +1,38 @@
version: "3.8"
services:
anubis:
image: ghcr.io/techarohq/anubis:latest
restart: unless-stopped
ports:
- "8923" # Anubis default port
environment:
# Required: Point to your frontend service locally
# Example: http://mydocker-wyeud:8080
- TARGET=${TARGET}
# Bind address
- BIND=:8923
# Cookie domain (set to your domain)
- COOKIE_DOMAIN=${COOKIE_DOMAIN}
# Challenge difficulty (1-20, default is 5)
# Lower = easier for users, Higher = harder for bots
- DIFFICULTY=${DIFFICULTY}
# OpenGraph passthrough (allows social media previews to work)
- OG_PASSTHROUGH=${OG_PASSTHROUGH}
- OG_EXPIRY_TIME=${OG_EXPIRY_TIME}
- OG_CACHE_CONSIDER_HOST=${OG_CACHE_CONSIDER_HOST}
# Optional: Serve robots.txt to discourage indexing
- SERVE_ROBOTS_TXT=${SERVE_ROBOTS_TXT} # Set to true if you don't want search engines
# Unconmment in case you want to connect the anubis container to dokploy-network
# networks:
# - dokploy-network
# networks:
# dokploy-network:
# external: true # Using existing dokploy-network to connect to your frontend locally
+16
View File
@@ -0,0 +1,16 @@
{
"id": "anubis",
"name": "Anubis",
"version": "latest",
"description": "Anubis is a bot protector, It will block bots from accessing your website.",
"logo": "anubis.webp",
"links": {
"github": "https://github.com/TecharoHQ/anubis",
"website": "https://anubis.techaro.lol",
"docs": "https://anubis.techaro.lol/docs/"
},
"tags": [
"self-hosted",
"bot-protection"
]
}
+17
View File
@@ -0,0 +1,17 @@
[variables]
main_domain = "${domain}"
[config.env]
COOKIE_DOMAIN = "${main_domain}"
TARGET = "YOURLOCALHOST:PORT"
DIFFICULTY = "5"
OG_PASSTHROUGH = true
OG_EXPIRY_TIME = "1h"
OG_CACHE_CONSIDER_HOST = true
SERVE_ROBOTS_TXT = false
mounts = []
[[config.domains]]
serviceName = "anubis"
port = 8923
host = "${main_domain}"
+16
View File
@@ -0,0 +1,16 @@
version: "3.8"
services:
anythingllm:
image: mintplexlabs/anythingllm:latest
restart: unless-stopped
ports:
- 3001
environment:
- STORAGE_DIR=/app/server/storage
volumes:
- storage:/app/server/storage
cap_add:
- SYS_ADMIN
volumes:
storage: {}
Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

+17
View File
@@ -0,0 +1,17 @@
{
"id": "anythingllm",
"name": "AnythingLLM",
"version": "latest",
"description": "AnythingLLM is a private, self-hosted, and local document chatbot platform that allows you to chat with your documents using various LLM providers.",
"logo": "logo.png",
"links": {
"github": "https://github.com/Mintplex-Labs/anything-llm",
"website": "https://anythingllm.com/",
"docs": "https://docs.anythingllm.com/"
},
"tags": [
"ai",
"llm",
"chatbot"
]
}

Some files were not shown because too many files have changed in this diff Show More