diff --git a/blueprints/senddock/docker-compose.yml b/blueprints/senddock/docker-compose.yml new file mode 100644 index 00000000..c4ff03d0 --- /dev/null +++ b/blueprints/senddock/docker-compose.yml @@ -0,0 +1,57 @@ +version: "3.8" +services: + postgres: + image: postgres:17-alpine + restart: unless-stopped + environment: + - POSTGRES_USER=senddock + - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} + - POSTGRES_DB=senddock + volumes: + - pgdata:/var/lib/postgresql/data + healthcheck: + test: ["CMD-SHELL", "pg_isready -U senddock"] + interval: 10s + timeout: 5s + retries: 6 + + redis: + image: redis:7-alpine + restart: unless-stopped + volumes: + - redisdata:/data + healthcheck: + test: ["CMD", "redis-cli", "ping"] + interval: 10s + timeout: 3s + retries: 5 + + senddock: + image: ghcr.io/arkhe-systems/senddock:0.6.5.1 + restart: unless-stopped + depends_on: + postgres: + condition: service_healthy + redis: + condition: service_healthy + environment: + - DATABASE_URL=postgres://senddock:${POSTGRES_PASSWORD}@postgres:5432/senddock?sslmode=disable + - REDIS_URL=redis://redis:6379 + - JWT_SECRET=${JWT_SECRET} + - PUBLIC_URL=${PUBLIC_URL} + - FRONTEND_URL=${PUBLIC_URL} + - DEPLOYMENT_MODE=self-hosted + - SENDDOCK_LICENSE_KEY=${SENDDOCK_LICENSE_KEY} + - PORT=8080 + expose: + - 8080 + healthcheck: + test: ["CMD", "wget", "-qO-", "http://127.0.0.1:8080/health"] + interval: 30s + timeout: 5s + retries: 3 + start_period: 15s + +volumes: + pgdata: + redisdata: diff --git a/blueprints/senddock/senddock.svg b/blueprints/senddock/senddock.svg new file mode 100644 index 00000000..9dc916eb --- /dev/null +++ b/blueprints/senddock/senddock.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/blueprints/senddock/template.toml b/blueprints/senddock/template.toml new file mode 100644 index 00000000..4a8c456e --- /dev/null +++ b/blueprints/senddock/template.toml @@ -0,0 +1,17 @@ +[variables] +main_domain = "${domain}" +postgres_password = "${password:32}" +jwt_secret = "${password:64}" + +[config] +env = [ + "POSTGRES_PASSWORD=${postgres_password}", + "JWT_SECRET=${jwt_secret}", + "PUBLIC_URL=https://${main_domain}", + "SENDDOCK_LICENSE_KEY=" +] + +[[config.domains]] +serviceName = "senddock" +port = 8080 +host = "${main_domain}" diff --git a/meta.json b/meta.json index e94efea2..3f70aea8 100644 --- a/meta.json +++ b/meta.json @@ -6175,6 +6175,24 @@ "file-system" ] }, + { + "id": "senddock", + "name": "SendDock", + "version": "0.6.5.1", + "description": "Open-source, self-hosted email marketing platform with BYO SMTP. Manage subscribers, templates, broadcasts, and scheduled campaigns from one place.", + "logo": "senddock.svg", + "links": { + "github": "https://github.com/Arkhe-Systems/senddock", + "website": "https://senddock.dev", + "docs": "https://docs.senddock.dev" + }, + "tags": [ + "email", + "newsletter", + "mailing-list", + "marketing" + ] + }, { "id": "sftpgo", "name": "SFTPGo",