{ "captainVersion": "2", "documentation": "Taken from https://hub.docker.com/r/bitnami/discourse", "displayName": "Discourse", "description": "Discourse is the 100% open source discussion platform built for the next decade of the Internet. Use it as a mailing list, discussion forum, long-form chat room, and more!", "dockerCompose": { "version": "2", "services": { "$$cap_appname-postgresql": { "documentation": "Taken from https://hub.docker.com/r/bitnami/postgresql", "image": "docker.io/bitnami/postgresql:$$cap_postgresql_version", "notExposeAsWebApp": "true", "restart": "always", "environment": { "ALLOW_EMPTY_PASSWORD": "yes" }, "volumes": ["$$cap_appname-postgresql-data:/bitnami/postgresql"] }, "$$cap_appname-redis": { "documentation": "Taken from https://hub.docker.com/r/bitnami/redis", "image": "docker.io/bitnami/redis:$$cap_redis_version", "notExposeAsWebApp": "true", "restart": "always", "environment": { "ALLOW_EMPTY_PASSWORD": "yes" }, "volumes": ["$$cap_appname-redis-data:/bitnami"] }, "$$cap_appname": { "documentation": "Taken from https://hub.docker.com/r/bitnami/discourse", "image": "docker.io/bitnami/discourse:$$cap_discourse_version", "containerHttpPort": "3000", "depends_on": [ "$$cap_appname-postgresql", "$$cap_appname-redis" ], "volumes": ["$$cap_appname-data:/bitnami"], "environment": { "POSTGRESQL_HOST": "srv-captain--$$cap_appname-postgresql", "POSTGRESQL_ROOT_USER": "postgres", "POSTGRESQL_CLIENT_CREATE_DATABASE_NAME": "$$cap_db_name", "POSTGRESQL_CLIENT_CREATE_DATABASE_USERNAME": "$$cap_db_user", "POSTGRESQL_CLIENT_CREATE_DATABASE_PASSWORD": "$$cap_db_pass", "DISCOURSE_USERNAME": "$$cap_admin_user", "DISCOURSE_PASSWORD": "$$cap_admin_pass", "DISCOURSE_EMAIL": "$$cap_admin_email", "DISCOURSE_SITENAME": "$$cap_sitename", "DISCOURSE_POSTGRESQL_NAME": "$$cap_db_name", "DISCOURSE_POSTGRESQL_USERNAME": "$$cap_db_user", "DISCOURSE_POSTGRESQL_PASSWORD": "$$cap_db_pass", "DISCOURSE_HOSTNAME": "$$cap_appname.$$cap_root_domain", "REDIS_HOST": "srv-captain--$$cap_appname-redis", "SMTP_HOST": "$$cap_smtp_host", "SMTP_PORT": "$$cap_smtp_port", "SMTP_USER": "$$cap_smtp_user", "SMTP_PASSWORD": "$$cap_smtp_pass" } }, "$$cap_appname-sidekiq": { "documentaion": "Taken from https://hub.docker.com/r/bitnami/discourse", "notExposeAsWebApp": "true", "depends_on": ["$$cap_appname"], "volumes": ["$$cap_appname-data:/bitnami"], "dockerfileLines": [ "FROM docker.io/bitnami/discourse:$$cap_discourse_version", "CMD [\"nami\" , \"start\" , \"--foreground\" , \"discourse-sidekiq\"]" ], "environment": { "DISCOURSE_POSTGRESQL_NAME": "$$cap_db_name", "DISCOURSE_POSTGRESQL_USERNAME": "$$cap_db_user", "DISCOURSE_POSTGRESQL_PASSWORD": "$$cap_db_pass", "DISCOURSE_HOST": "srv-captain--$$cap_appname", "DISCOURSE_PORT": "3000", "DISCOURSE_HOSTNAME": "$$cap_appname.$$cap_root_domain", "POSTGRESQL_HOST": "srv-captain--$$cap_appname-postgresql", "REDIS_HOST": "srv-captain--$$cap_appname-redis", "SMTP_HOST": "$$cap_smtp_host", "SMTP_PORT": "$$cap_smtp_port", "SMTP_USER": "$$cap_smtp_user", "SMTP_PASSWORD": "$$cap_smtp_pass" } } } }, "instructions": { "start": "Discourse is a relatively heavy application, atleast 2GB RAM is recommended to run Discourse", "end": "Discourse image is deployed and the installation process has begun. The installation process takes about 10 minutes." }, "variables": [ { "id": "$$cap_discourse_version", "label": "Discourse Version", "defaultValue": "2.4.4", "description": "Version of Discourse", "validRegex": "/^([^\\s^\\/])+$/" }, { "id": "$$cap_postgresql_version", "label": "Postgresql (database) version", "defaultValue": "11", "description": "Version of Postgresql", "validRegex": "/^([^\\s^\\/])+$/" }, { "id": "$$cap_sitename", "label": "Sitename", "defaultValue": "My site!", "description": "The title of the site, the words on the tab" }, { "id": "$$cap_redis_version", "label": "Redis version", "defaultValue": "5.0", "description": "Version of Redis", "validRegex": "/^([^\\s^\\/])+$/" }, { "id": "$$cap_admin_user", "label": "Admin username", "defaultValue": "admin", "description": "Name of the admin account", "validRegex": "/.{1,}/" }, { "id": "$$cap_admin_pass", "label": "Admin password", "defaultValue": "sTr0nG_p@s$wo%d", "description": "Password of the admin account", "validRegex": "/.{1,}/" }, { "id": "$$cap_admin_email", "label": "Admin email", "defaultValue": "your_email@gmail.com", "description": "Email of the admin account", "validRegex": "/.{1,}/" }, { "id": "$$cap_db_name", "label": "Database name", "defaultValue": "discourse_db", "description": "Name for the database using postgresql", "validRegex": "/^([^\\s^\\/])+$/" }, { "id": "$$cap_db_user", "label": "Database user", "defaultValue": "discourse_user", "description": "Username for the database using postgresql", "validRegex": "/^([^\\s^\\/])+$/" }, { "id": "$$cap_db_pass", "label": "Database password", "defaultValue": "sTr0nG_p@s$wo%d", "description": "Password for the database user and root using postgresql", "validRegex": "/.{1,}/" }, { "id": "$$cap_smtp_host", "label": "SMPT host", "defaultValue": "smtp.gmail.com", "description": "The host for your smtp server" }, { "id": "$$cap_smtp_port", "label": "SMTP port", "defaultValue": "587", "description": "The port for your smtp server" }, { "id": "$$cap_smtp_user", "label": "SMTP user", "defaultValue": "your_email@gmail.com", "description": "The user for your smtp server" }, { "id": "$$cap_smtp_pass", "label": "SMTP password", "defaultValue": "sTr0nG_p@s$wo%d", "description": "The password for your smtp server" } ] }