Commit Graph

1024 Commits

Author SHA1 Message Date
Mauricio Siu
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 Siu
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 Siu
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 Siu
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 Siu
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 Siu
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 Siu
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 Siu
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 Siu
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 Siu
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 Siu
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 Siu
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 Siu
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 Siu
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 Siu
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 Siu
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 Siu
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 Siu
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 Siu
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 Prosolupov
9795b2f042 fix: Imgproxy container exposure (#740) 2026-07-07 17:36:29 -06:00
Andrew Tinekov
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 Herri
0a62e507b8 Update docker-compose.yml (#753) 2026-07-07 17:36:22 -06:00