[PR #821] feat: add SendDock template #5125

Open
opened 2026-05-06 17:58:02 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/Dokploy/templates/pull/821
Author: @JuansesDev
Created: 4/28/2026
Status: 🔄 Open

Base: canaryHead: add-senddock-template


📝 Commits (1)

  • ab0b29b feat(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), and depends_on: condition: service_healthy ordering.
  • blueprints/senddock/template.toml — wires the Dokploy ${domain} helper into PUBLIC_URL so unsubscribe links and broadcasts work out of the box, generates random POSTGRES_PASSWORD (32 chars) and JWT_SECRET (64 chars) at install time. Empty SENDDOCK_LICENSE_KEY gives 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.0 from 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.js after adding the senddock entry. The script also removed one duplicate strapi entry 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.json entry. Two convention violations from AGENTS.md need to be fixed before merging:

  • docker-compose.yml is missing the required version: "3.8" declaration.
  • template.toml uses 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

Greptile also left 2 inline comments on this PR.

Context used:

  • Context used - AGENTS.md (source)

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/Dokploy/templates/pull/821 **Author:** [@JuansesDev](https://github.com/JuansesDev) **Created:** 4/28/2026 **Status:** 🔄 Open **Base:** `canary` ← **Head:** `add-senddock-template` --- ### 📝 Commits (1) - [`ab0b29b`](https://github.com/Dokploy/templates/commit/ab0b29b5c2a9358600872aa56b1b7e0d23c37a62) feat(senddock): add SendDock template ### 📊 Changes **4 files changed** (+106 additions, -18 deletions) <details> <summary>View changed files</summary> ➕ `blueprints/senddock/docker-compose.yml` (+56 -0) ➕ `blueprints/senddock/senddock.svg` (+16 -0) ➕ `blueprints/senddock/template.toml` (+16 -0) 📝 `meta.json` (+18 -18) </details> ### 📄 Description ## Summary Adds [SendDock](https://github.com/Arkhe-Systems/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`), and `depends_on: condition: service_healthy` ordering. - `blueprints/senddock/template.toml` — wires the Dokploy `${domain}` helper into `PUBLIC_URL` so unsubscribe links and broadcasts work out of the box, generates random `POSTGRES_PASSWORD` (32 chars) and `JWT_SECRET` (64 chars) at install time. Empty `SENDDOCK_LICENSE_KEY` gives 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.0` from 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.js` after adding the senddock entry. The script also removed one duplicate `strapi` entry 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_comment --> <h3>Greptile Summary</h3> This PR adds a SendDock blueprint (Postgres 17 + Redis 7 + senddock app container) with a logo, template configuration, and a `meta.json` entry. Two convention violations from AGENTS.md need to be fixed before merging: - `docker-compose.yml` is missing the required `version: "3.8"` declaration. - `template.toml` uses 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. <h3>Confidence Score: 3/5</h3> 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) <sub>Reviews (1): Last reviewed commit: ["feat(senddock): add SendDock template"](https://github.com/dokploy/templates/commit/ab0b29b5c2a9358600872aa56b1b7e0d23c37a62) | [Re-trigger Greptile](https://app.greptile.com/api/retrigger?id=29964271)</sub> > Greptile also left **2 inline comments** on this PR. **Context used:** - Context used - AGENTS.md ([source](https://app.greptile.com/review/custom-context?memory=09330bde-2058-497c-9c64-ceae637fb5b2)) <!-- /greptile_comment --> --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2026-05-06 17:58:02 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/templates#5125