mirror of
https://github.com/Dokploy/templates.git
synced 2026-05-08 17:48:34 -05:00
[PR #821] feat: add SendDock template #4289
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/Dokploy/templates/pull/821
Author: @JuansesDev
Created: 4/28/2026
Status: 🔄 Open
Base:
canary← Head:add-senddock-template📝 Commits (1)
ab0b29bfeat(senddock): add SendDock template📊 Changes
4 files changed (+106 additions, -18 deletions)
View changed files
➕
blueprints/senddock/docker-compose.yml(+56 -0)➕
blueprints/senddock/senddock.svg(+16 -0)➕
blueprints/senddock/template.toml(+16 -0)📝
meta.json(+18 -18)📄 Description
Summary
Adds SendDock — an open-source, self-hosted email marketing platform with BYO SMTP — to the Dokploy template marketplace.
SendDock manages subscribers, transactional sends, broadcasts, scheduled campaigns, and email templates. Users bring their own SMTP provider (SES, Resend, Mailgun, Postmark, or anything that speaks SMTP). It is the open-source alternative to Mailchimp / Sendinblue with no per-recipient fees beyond what the SMTP provider charges.
Files
blueprints/senddock/docker-compose.yml— postgres 17 + redis 7 + senddock with healthchecks, named volumes (pgdata,redisdata), anddepends_on: condition: service_healthyordering.blueprints/senddock/template.toml— wires the Dokploy${domain}helper intoPUBLIC_URLso unsubscribe links and broadcasts work out of the box, generates randomPOSTGRES_PASSWORD(32 chars) andJWT_SECRET(64 chars) at install time. EmptySENDDOCK_LICENSE_KEYgives the free Core experience by default.blueprints/senddock/senddock.svg— official logo.meta.json— entry inserted at the alphabetically correct position. Tags:email,newsletter,mailing-list,marketing.Image
The compose pulls
ghcr.io/arkhe-systems/senddock:0.4.0from GitHub Container Registry. The image is multi-arch (linux/amd64+linux/arm64) and public. It contains the Go backend (which auto-runs goose migrations on startup), the compiled Vue frontend, and a healthcheck on/health.Free vs Pro
The image is open-core: free tier (empty
SENDDOCK_LICENSE_KEY) gives Core features (subscribers, templates, transactional sends, broadcasts, campaigns). A license key unlocks Pro features (analytics, audit log, team roles, A/B testing).Testing
Tested locally with the same compose contents — boots in ~10 seconds, healthcheck flips to healthy, setup screen renders on the assigned domain, admin account creation works, project + subscribers + template CRUD work end-to-end.
Note on dedupe-and-sort-meta.js
Per CONTRIBUTING I ran
node dedupe-and-sort-meta.jsafter adding the senddock entry. The script also removed one duplicatestrapientry that already existed in canary (two identical entries, same version, same logo, same data). The duplicate removal is incidental — happy to revert it if you want this PR strictly scoped to senddock only.Greptile Summary
This PR adds a SendDock blueprint (Postgres 17 + Redis 7 + senddock app container) with a logo, template configuration, and a
meta.jsonentry. Two convention violations from AGENTS.md need to be fixed before merging:docker-compose.ymlis missing the requiredversion: "3.8"declaration.template.tomluses TOML sub-table syntax ([config.env]) for environment variables instead of the mandatory array-of-strings format; Dokploy will silently drop all env vars at deploy time, causing the service to fail on startup.Confidence Score: 3/5
Not safe to merge until the template.toml env syntax and docker-compose version declaration are corrected.
Two P1 findings are present: the wrong env-var syntax in template.toml will silently break all environment variable injection at deploy time, and the missing version: "3.8" violates an explicit AGENTS.md requirement. Both must be fixed for the template to work correctly in Dokploy.
blueprints/senddock/template.toml (env syntax) and blueprints/senddock/docker-compose.yml (missing version field)
Reviews (1): Last reviewed commit: "feat(senddock): add SendDock template" | Re-trigger Greptile
Context used:
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.