diff --git a/public/v2/apps/firefly-iii.json b/public/v2/apps/firefly-iii.json new file mode 100644 index 0000000..034b310 --- /dev/null +++ b/public/v2/apps/firefly-iii.json @@ -0,0 +1,97 @@ +{ + "captainVersion": "2", + "documentation": "Taken from https://docs.firefly-iii.org/installation/docker", + "description": "Firefly III - A free and open source personal finance manager", + "displayName": "Firefly III", + "dockerCompose": { + "version": "3.8", + "services": { + "$$cap_appname": { + "image": "jc5x/firefly-iii:$$cap_firefly_version", + "containerHttpPort": "8080", + "volumes": [ + "$$cap_appname-export:/var/www/firefly-iii/storage/export", + "$$cap_appname-upload:/var/www/firefly-iii/storage/upload" + ], + "restart": "always", + "depends_on": ["$$cap_appname-db"], + "environment": { + "SITE_OWNER": "$$cap_firefly_site-owner", + "TZ": "$$cap_firefly_time-zone", + "TRUSTED_PROXIES": "**", + "DB_CONNECTION": "mysql", + "DB_PORT": 3306, + "DB_DATABASE": "firefly", + "DB_USERNAME": "firefly", + "DB_HOST": "srv-captain--$$cap_appname-db", + "DB_PASSWORD": "$$cap_mariadb_password", + "APP_KEY": "$$cap_firefly_app-key" + } + }, + "$$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": "firefly", + "MYSQL_USER": "firefly", + "MYSQL_PASSWORD": "$$cap_mariadb_password" + } + } + }, + "volumes": { + "$$cap_appname-db-data": {}, + "$$cap_appname-export": {}, + "$$cap_appname-upload": {} + } + }, + + "instructions": { + "start": "Enter your Firefly III Configuration parameters and click on next. It will take about a minute for the process to finish.", + "end": "Firefly III is deployed and available from the url http://$$cap_appname.$$cap_root_domain" + }, + "variables": [ + { + "id": "$$cap_mariadb_version", + "label": "Mariadb Version Tag", + "description": "Check out their Docker page for the valid tags https://hub.docker.com/_/mariadb?tab=tags", + "defaultValue": "10.5.4", + "validRegex": "/^([^\\s^\\/])+$/" + }, + { + "id": "$$cap_mariadb_password", + "label": "Mariadb Password", + "description": "The password of the Mariadb Database\"", + "validRegex": "/.{1,}/" + }, + { + "id": "$$cap_firefly_version", + "label": "Firefly Version Tag", + "description": "Check out their Docker page for the valid tags https://hub.docker.com/r/jc5x/firefly-iii/tags", + "defaultValue": "release-5.3.0", + "validRegex": "/^([^\\s^\\/])+$/" + }, + { + "id": "$$cap_firefly_site-owner", + "label": "Firefly Site Owner Mail", + "description": "The email address of the owner of the app.", + "validRegex": "/^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\\.[a-zA-Z0-9-.]+$/" + }, + { + "id": "$$cap_firefly_time-zone", + "label": "Time zone", + "description": "The preferred time zone. Check out the available time zone on https://en.wikipedia.org/wiki/List_of_tz_database_time_zones", + "defaultValue": "Europe/Brussels", + "validRegex": "/.{1,}/" + }, + { + "id": "$$cap_firefly_app-key", + "label": "Firefly APP KEY", + "description": "The key from which everything is encrypted. Generate one on https://passwordsgenerator.net/?length=32&symbols=0&numbers=1&lowercase=1&uppercase=1&similar=0&ambiguous=0&client=1&autoselect=0", + "defaultValue": "qSAY3tVhAHgz87gusKFoPbg9hpCnMVTR", + "validRegex": "/^[A-Za-z0-9]{32}$/" + } + ] +} 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/apps/odoo.json b/public/v2/apps/odoo.json new file mode 100644 index 0000000..21c772c --- /dev/null +++ b/public/v2/apps/odoo.json @@ -0,0 +1,76 @@ +{ + "captainVersion": "2", + "documentation": "https://hub.docker.com/_/odoo?tab=description", + "description": "Odoo, formerly known as OpenERP, is a suite of open-source business apps written in Python and released under the AGPL license.", + "dockerCompose": { + "version": "3.8", + "services": { + "$$cap_appname-db": { + "image": "postgres:$$cap_postgres_version", + "notExposeAsWebApp": "true", + "volumes": ["$$cap_appname-db-data:/var/lib/postgresql/data"], + "restart": "always", + "environment": { + "POSTGRES_USER": "odoo", + "POSTGRES_PASSWORD": "$$cap_postgres_password", + "POSTGRES_DB": "postgres" + } + }, + "$$cap_appname": { + "image": "odoo:$$cap_odoo_version", + "containerHttpPort": "8069", + "depends_on": ["$$cap_appname-db"], + "volumes": [ + "$$cap_appname-odoo-web-data:/var/lib/odoo", + "$$cap_appname-config:/etc/odoo", + "$$cap_appname-addons:/mnt/extra-addons" + ], + "restart": "always", + "environment": { + "POSTGRES_PASSWORD": "$$cap_postgres_password", + "HOST": "srv-captain--$$cap_appname-db" + } + } + }, + "volumes": { + "$$cap_appname-odoo-web-data": {}, + "$$cap_appname-config": {}, + "$$cap_appname-addons": {}, + "$$cap_appname-db-data": {} + } + }, + "networks": { + "db": { + "driver": "bridge" + }, + "search": { + "driver": "bridge" + } + }, + "instructions": { + "start": "Odoo is an open source product CRM", + "end": "Odoo is deployed and the dashboard is available from http://$$cap_appname.$$cap_root_domain." + }, + "variables": [ + { + "id": "$$cap_postgres_version", + "label": "Postgres Version", + "defaultValue": "9.6.18-alpine", + "description": "Checkout their docker page for the valid tags https://hub.docker.com/r/library/postgres/tags/", + "validRegex": "/^([^\\s^\\/])+$/" + }, + { + "id": "$$cap_postgres_password", + "label": "Postgres Password", + "description": "", + "validRegex": "/.{1,}/" + }, + { + "id": "$$cap_odoo_version", + "label": "Odoo Version", + "defaultValue": "13.0", + "description": "Checkout their docker page for the valid tags https://hub.docker.com/_/odoo?tab=tags", + "validRegex": "/^([^\\s^\\/])+$/" + } + ] +} diff --git a/public/v2/logos/firefly-iii.png b/public/v2/logos/firefly-iii.png new file mode 100644 index 0000000..8611300 Binary files /dev/null and b/public/v2/logos/firefly-iii.png differ diff --git a/public/v2/logos/mailtrain.png b/public/v2/logos/mailtrain.png new file mode 100644 index 0000000..ede02ff Binary files /dev/null and b/public/v2/logos/mailtrain.png differ diff --git a/public/v2/logos/odoo.png b/public/v2/logos/odoo.png new file mode 100644 index 0000000..66267f6 Binary files /dev/null and b/public/v2/logos/odoo.png differ