diff --git a/blueprints/plunk/docker-compose.yml b/blueprints/plunk/docker-compose.yml new file mode 100644 index 00000000..914001cf --- /dev/null +++ b/blueprints/plunk/docker-compose.yml @@ -0,0 +1,58 @@ +# IMPORTANT: Plunk requires HTTPS to work properly +# go to the "Domains" tab and enable HTTPS for your domain + +services: + plunk: + image: driaug/plunk + expose: + - "3000" + depends_on: + db: + condition: service_healthy + redis: + condition: service_started + environment: + REDIS_URL: ${REDIS_URL} + DATABASE_URL: postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@db:5432/${POSTGRES_DB} + JWT_SECRET: ${JWT_SECRET} + AWS_REGION: ${AWS_REGION} + AWS_ACCESS_KEY_ID: ${AWS_ACCESS_KEY_ID} + AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY} + AWS_SES_CONFIGURATION_SET: ${AWS_SES_CONFIGURATION_SET} + APP_URI: ${APP_URI} + NEXT_PUBLIC_API_URI: ${APP_URI}/api + API_URI: ${APP_URI}/api + DISABLE_SIGNUPS: ${DISABLE_SIGNUPS} + entrypoint: ["/app/entry.sh"] + restart: unless-stopped + + db: + image: postgres:alpine + environment: + POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} + POSTGRES_USER: ${POSTGRES_USER} + POSTGRES_DB: ${POSTGRES_DB} + volumes: + - postgres_data:/var/lib/postgresql/data + healthcheck: + test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_DB}"] + interval: 10s + retries: 5 + timeout: 10s + restart: unless-stopped + expose: + - 5432 + + redis: + image: redis:alpine + restart: unless-stopped + expose: + - 6379 + volumes: + - redis_data:/data + +volumes: + postgres_data: + driver: local + redis_data: + driver: local \ No newline at end of file diff --git a/blueprints/plunk/logo.png b/blueprints/plunk/logo.png new file mode 100644 index 00000000..0022f5a9 Binary files /dev/null and b/blueprints/plunk/logo.png differ diff --git a/blueprints/plunk/template.toml b/blueprints/plunk/template.toml new file mode 100644 index 00000000..831f2c47 --- /dev/null +++ b/blueprints/plunk/template.toml @@ -0,0 +1,30 @@ +[variables] +main_domain = "${domain}" +postgres_user = "plunk" +postgres_db = "plunk" + +[config] +isolated = true + +[[config.domains]] +serviceName = "plunk" +port = 3000 +host = "${main_domain}" +path = "/" + +[config.env] +POSTGRES_USER = "${postgres_user}" +POSTGRES_DB = "${postgres_db}" +POSTGRES_PASSWORD = "${password:32}" + +REDIS_URL = "redis://redis:6379" + +JWT_SECRET = "${password:64}" +APP_URI = "https://${main_domain}" + +AWS_REGION = "" +AWS_ACCESS_KEY_ID = "" +AWS_SECRET_ACCESS_KEY = "" +AWS_SES_CONFIGURATION_SET = "" + +DISABLE_SIGNUPS = "False" \ No newline at end of file diff --git a/meta.json b/meta.json index 466993ce..f14345ab 100644 --- a/meta.json +++ b/meta.json @@ -4400,6 +4400,24 @@ "analytics" ] }, + { + "id": "plunk", + "name": "Plunk", + "version": "latest", + "description": "Plunk is the open-source, affordable email platform that brings together marketing, transactional and broadcast emails into one single, complete solution", + "logo": "logo.png", + "links": { + "github": "https://github.com/useplunk/plunk", + "website": "https://www.useplunk.com/", + "docs": "https://docs.useplunk.com" + }, + "tags": [ + "email", + "newsletter", + "mailing-list", + "marketing" + ] + }, { "id": "pocket-id", "name": "Pocket ID",