From 1df53c9c194e540618af273d32e1f89eba2a8493 Mon Sep 17 00:00:00 2001 From: Antoine Jacques Date: Tue, 7 Jul 2020 02:37:05 +0200 Subject: [PATCH] Mailtrain One Click App (#216) * Mailtrain One Click App * Update mailtrain.json documentation field * Update mailtrain.json description tags mailtrain * update regex appname --- public/v2/apps/mailtrain.json | 131 ++++++++++++++++++++++++++++++++++ public/v2/logos/mailtrain.png | Bin 0 -> 5772 bytes 2 files changed, 131 insertions(+) create mode 100644 public/v2/apps/mailtrain.json create mode 100644 public/v2/logos/mailtrain.png diff --git a/public/v2/apps/mailtrain.json b/public/v2/apps/mailtrain.json new file mode 100644 index 0000000..9e0912d --- /dev/null +++ b/public/v2/apps/mailtrain.json @@ -0,0 +1,131 @@ +{ + "captainVersion": "2", + "documentation": "Taken from https://github.com/Mailtrain-org/mailtrain/blob/development/docker-compose.yml", + "displayName": "Mailtrain V2(Beta)", + "description": "Mailtrain is a self hosted newsletter application built on Node.js (v10+) and MySQL (v8+) or MariaDB (v10+).", + "dockerCompose": { + "version": "3.8", + "services": { + "$$cap_appname-db": { + "image": "mariadb:$$cap_mariadb_version", + "notExposeAsWebApp": "true", + "volumes": ["$$cap_appname-db-data:/var/lib/mysql"], + "restart": "always", + "environment": { + "MYSQL_ROOT_PASSWORD": "$$cap_mariadb_password", + "MYSQL_DATABASE": "mailtrain", + "MYSQL_USER": "mailtrain", + "MYSQL_PASSWORD": "$$cap_mariadb_password" + } + }, + "$$cap_appname-redis": { + "notExposeAsWebApp": "true", + "image": "redis:$$cap_redis_version", + "volumes": ["$$cap_appname-redis-data:/data"], + "restart": "always" + }, + "$$cap_appname-mongo": { + "notExposeAsWebApp": "true", + "image": "mongo:$$cap_mongo_version", + "volumes": ["$$cap_appname-mongo-data:/data/db"], + "restart": "always" + }, + "$$cap_appname": { + "image": "mailtrain/mailtrain:$$cap_mailtrain_version", + "containerHttpPort": "3000", + "depends_on": [ + "$$cap_appname-db", + "$$cap_appname-redis", + "$$cap_appname-mongo" + ], + "volumes": ["$$cap_appname-files:/app/server/files"], + "environment": { + "URL_BASE_TRUSTED": "https://$$cap_appname.$$cap_root_domain", + "URL_BASE_SANDBOX": "https://$$cap_appname-$$cap_mailtrain_sandbox-appname.$$cap_root_domain", + "URL_BASE_PUBLIC": "https://$$cap_appname-$$cap_mailtrain_lists-appname.$$cap_root_domain", + "WWW_PROXY": true, + "MONGO_HOST": "srv-captain--$$cap_appname-mongo", + "REDIS_HOST": "srv-captain--$$cap_appname-redis", + "MYSQL_HOST": "srv-captain--$$cap_appname-db", + "MYSQL_PASSWORD": "$$cap_mariadb_password" + } + }, + "$$cap_appname-$$cap_mailtrain_sandbox-appname": { + "image": "caprover/nginx-reverse-proxy:latest", + "restart": "always", + "depends_on": ["$$cap_appname"], + "environment": { + "UPSTREAM_HTTP_ADDRESS": "http://srv-captain--$$cap_appname:3003" + } + }, + "$$cap_appname-$$cap_mailtrain_lists-appname": { + "image": "caprover/nginx-reverse-proxy:latest", + "restart": "always", + "depends_on": ["$$cap_appname"], + "environment": { + "UPSTREAM_HTTP_ADDRESS": "http://srv-captain--$$cap_appname:3004" + } + } + }, + "volumes": { + "$$cap_appname-db-data": {}, + "$$cap_appname-redis-data": {}, + "$$cap_appname-mongo-data": {}, + "$$cap_appname-files": {} + } + }, + "instructions": { + "start": "Mailtrain is a self hosted newsletter application built on Node.js (v10+) and MySQL (v8+) or MariaDB (v10+).", + "end": "You can connect to http://$$cap_appname.$$cap_root_domain with the user admin and password test. Do not forget to update it with something more secure." + }, + "variables": [ + { + "id": "$$cap_mariadb_version", + "label": "Mariadb Version", + "defaultValue": "10.5.4", + "description": "Check out their Docker page for the valid tags https://hub.docker.com/_/mariadb?tab=tags", + "validRegex": "/^([^\\s^\\/])+$/" + }, + { + "id": "$$cap_mariadb_password", + "label": "Mariadb User password", + "description": "", + "validRegex": "/.{1,}/" + }, + { + "id": "$$cap_redis_version", + "label": "Redis Version", + "defaultValue": "alpine3.12", + "description": "Check out their Docker page for the valid tags https://hub.docker.com/_/redis?tab=tags", + "validRegex": "/^([^\\s^\\/])+$/" + }, + { + "id": "$$cap_mongo_version", + "label": "Mongo Version", + "defaultValue": "4.4.0-rc11", + "description": "Check out their Docker page for the valid tags https://hub.docker.com/_/mongo?tab=tags", + "validRegex": "/^([^\\s^\\/])+$/" + }, + { + "id": "$$cap_mailtrain_version", + "label": "Mailtrain Version", + "defaultValue": "latest", + "description": "Check out their Docker page for the valid tags https://hub.docker.com/r/mailtrain/mailtrain/tags", + "validRegex": "/^([^\\s^\\/])+$/" + }, + { + "id": "$$cap_mailtrain_sandbox-appname", + "label": "Sandbox Mailtrain App Name", + "defaultValue": "sdbx", + "description": "", + "validRegex": "/^[a-z]{1,}$/" + }, + { + "id": "$$cap_mailtrain_lists-appname", + "label": "Public Mailtrain App Name", + "defaultValue": "lists", + "description": "", + "validRegex": "/^[a-z]{1,}$/" + } + ] +} diff --git a/public/v2/logos/mailtrain.png b/public/v2/logos/mailtrain.png new file mode 100644 index 0000000000000000000000000000000000000000..ede02ff824ae93f29fced2cdaf05ca89697b70a8 GIT binary patch literal 5772 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 literal 0 HcmV?d00001