one-click-apps/public/v2/apps/mailtrain.json

133 lines
5.6 KiB
JSON

{
"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+).",
"isOfficial": true,
"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,}$/"
}
]
}