From af172b6680583487bdeacf230d7abaf9b57f4811 Mon Sep 17 00:00:00 2001 From: Kasra Bigdeli Date: Sun, 16 Aug 2020 20:07:04 -0400 Subject: [PATCH] Formatter on V4 --- public/v4/apps/adminer.yml | 64 ++-- public/v4/apps/arangodb.yml | 54 +-- public/v4/apps/bitwardenrs.yml | 44 +-- public/v4/apps/chatwoot.yml | 174 ++++----- public/v4/apps/cockpit.yml | 42 +-- public/v4/apps/collabora-online.yml | 102 +++--- public/v4/apps/couchdb.yml | 70 ++-- public/v4/apps/countly.yml | 38 +- public/v4/apps/directus.yml | 192 +++++----- public/v4/apps/discourse.yml | 292 +++++++-------- public/v4/apps/dokuwiki.yml | 76 ++-- public/v4/apps/dolibarr.yml | 126 +++---- public/v4/apps/drone-gitea.yml | 156 ++++---- public/v4/apps/droppy.yml | 42 +-- public/v4/apps/eclipse-mosquitto.yml | 44 +-- public/v4/apps/elasticsearch.yml | 118 +++--- public/v4/apps/etesync.yml | 68 ++-- public/v4/apps/etherpad.yml | 98 ++--- public/v4/apps/filebrowser.yml | 76 ++-- public/v4/apps/filestash.yml | 36 +- public/v4/apps/firefly-iii.yml | 136 +++---- public/v4/apps/fusionauth.yml | 238 ++++++------- public/v4/apps/ghost-only.yml | 212 +++++------ public/v4/apps/ghost.yml | 222 ++++++------ public/v4/apps/gitea.yml | 108 +++--- public/v4/apps/gitlab-ce.yml | 76 ++-- public/v4/apps/gitlab-runner.yml | 42 +-- public/v4/apps/grafana.yml | 40 +-- public/v4/apps/graylog.yml | 198 +++++------ public/v4/apps/grocy.yml | 76 ++-- public/v4/apps/hasura-only.yml | 66 ++-- public/v4/apps/hasura.yml | 126 +++---- public/v4/apps/influxdb.yml | 168 ++++----- public/v4/apps/jenkins.yml | 52 +-- public/v4/apps/jitsi.yml | 474 ++++++++++++------------- public/v4/apps/joomla.yml | 88 ++--- public/v4/apps/jsreport.yml | 72 ++-- public/v4/apps/jupyter-lab.yml | 54 +-- public/v4/apps/keycloak.yml | 124 +++---- public/v4/apps/kibana.yml | 74 ++-- public/v4/apps/leantime.yml | 80 ++--- public/v4/apps/limesurvey.yml | 118 +++--- public/v4/apps/mailtrain.yml | 202 +++++------ public/v4/apps/mariadb.yml | 72 ++-- public/v4/apps/matomo.yml | 112 +++--- public/v4/apps/mattermost.yml | 106 +++--- public/v4/apps/mautic.yml | 118 +++--- public/v4/apps/miniflux.yml | 102 +++--- public/v4/apps/minio.yml | 76 ++-- public/v4/apps/mongo-express.yml | 110 +++--- public/v4/apps/mongodb-backup-s3.yml | 170 ++++----- public/v4/apps/mongodb.yml | 70 ++-- public/v4/apps/mssql.yml | 112 +++--- public/v4/apps/mysql.yml | 58 +-- public/v4/apps/n8n-io.yml | 170 ++++----- public/v4/apps/nextcloud.yml | 178 +++++----- public/v4/apps/nexus3.yml | 50 +-- public/v4/apps/nginx-redirect.yml | 36 +- public/v4/apps/nginx-reverse-proxy.yml | 52 +-- public/v4/apps/nightscout.yml | 118 +++--- public/v4/apps/odoo.yml | 100 +++--- public/v4/apps/outline.yml | 206 +++++------ public/v4/apps/parse.yml | 164 ++++----- public/v4/apps/passbolt.yml | 154 ++++---- public/v4/apps/peertube.yml | 206 +++++------ public/v4/apps/pgadmin4.yml | 42 +-- public/v4/apps/pgweb.yml | 34 +- public/v4/apps/photoprism.yml | 40 +-- public/v4/apps/phpldapadmin.yml | 106 +++--- public/v4/apps/phpmyadmin.yml | 58 +-- public/v4/apps/plex.yml | 98 ++--- public/v4/apps/portainer.yml | 52 +-- public/v4/apps/poste-io.yml | 90 ++--- public/v4/apps/postgres.yml | 88 ++--- public/v4/apps/prisma.yml | 112 +++--- public/v4/apps/prometheus.yml | 40 +-- public/v4/apps/rabbitmq.yml | 78 ++-- public/v4/apps/radicale.yml | 40 +-- public/v4/apps/rainloop.yml | 46 +-- public/v4/apps/redis.yml | 60 ++-- public/v4/apps/resilio-sync.yml | 54 +-- public/v4/apps/rethinkdb.yml | 32 +- public/v4/apps/sentry.yml | 350 +++++++++--------- public/v4/apps/shopware.yml | 160 ++++----- public/v4/apps/sinusbot.yml | 62 ++-- public/v4/apps/sonarqube.yml | 124 +++---- public/v4/apps/sourcegraph.yml | 62 ++-- public/v4/apps/spigot.yml | 100 +++--- public/v4/apps/sshd.yml | 86 ++--- public/v4/apps/strapi.yml | 116 +++--- public/v4/apps/syncthing.yml | 50 +-- public/v4/apps/teamspeak.yml | 74 ++-- public/v4/apps/the-lounge.yml | 44 +-- public/v4/apps/thumbor.yml | 46 +-- public/v4/apps/tiddlywiki.yml | 60 ++-- public/v4/apps/verdaccio.yml | 52 +-- public/v4/apps/vscode-coder.yml | 60 ++-- public/v4/apps/vsts.yml | 70 ++-- public/v4/apps/wiki-js.yml | 86 ++--- public/v4/apps/wordpress-only.yml | 98 ++--- public/v4/apps/wordpress.yml | 116 +++--- 101 files changed, 5192 insertions(+), 5192 deletions(-) diff --git a/public/v4/apps/adminer.yml b/public/v4/apps/adminer.yml index fc8fe6e..8528f49 100644 --- a/public/v4/apps/adminer.yml +++ b/public/v4/apps/adminer.yml @@ -1,37 +1,37 @@ captainVersion: 4 services: - $$cap_appname: - image: adminer:$$cap_adminer_version - restart: always - environment: - ADMINER_PLUGINS: $$cap_adminer_plugins - ADMINER_DESIGN: $$cap_adminer_design - caproverExtra: - containerHttpPort: "8080" + $$cap_appname: + image: adminer:$$cap_adminer_version + restart: always + environment: + ADMINER_PLUGINS: $$cap_adminer_plugins + ADMINER_DESIGN: $$cap_adminer_design + caproverExtra: + containerHttpPort: '8080' caproverOneClickApp: - variables: - - id: $$cap_adminer_version - label: Adminer Version Tag - description: Check out their Docker page for the valid tags https://hub.docker.com/r/library/adminer/tags/ - defaultValue: "4" - validRegex: /^([^\s^\/])+$/ - - id: $$cap_adminer_design - label: "OPTIONAL: Adminer Design" - description: "List of designs: https://github.com/vrana/adminer/tree/master/designs" - validRegex: /^([a-zA-Z0-9-.])*$/ - - id: $$cap_adminer_plugins - label: "OPTIONAL: Adminer plugins (space separated)" - defaultValue: "" - validRegex: /^([a-zA-Z0-9-.\s])*$/ - instructions: - start: >- - Adminer (formerly phpMinAdmin) is a full-featured database management tool written in PHP. Conversely to phpMyAdmin, it consist of a single file ready to deploy to the target server. Adminer is available for MySQL, PostgreSQL, SQLite, MS SQL, Oracle, Firebird, SimpleDB, Elasticsearch and MongoDB. + variables: + - id: $$cap_adminer_version + label: Adminer Version Tag + description: Check out their Docker page for the valid tags https://hub.docker.com/r/library/adminer/tags/ + defaultValue: '4' + validRegex: /^([^\s^\/])+$/ + - id: $$cap_adminer_design + label: 'OPTIONAL: Adminer Design' + description: 'List of designs: https://github.com/vrana/adminer/tree/master/designs' + validRegex: /^([a-zA-Z0-9-.])*$/ + - id: $$cap_adminer_plugins + label: 'OPTIONAL: Adminer plugins (space separated)' + defaultValue: '' + validRegex: /^([a-zA-Z0-9-.\s])*$/ + instructions: + start: >- + Adminer (formerly phpMinAdmin) is a full-featured database management tool written in PHP. Conversely to phpMyAdmin, it consist of a single file ready to deploy to the target server. Adminer is available for MySQL, PostgreSQL, SQLite, MS SQL, Oracle, Firebird, SimpleDB, Elasticsearch and MongoDB. - For more details, see: https://github.com/vrana/adminer + For more details, see: https://github.com/vrana/adminer - Enter your Adminer Configuration parameters and click on next. It will take about a minute for the process to finish. - end: Adminer is deployed and available as $$cap_appname - displayName: Adminer - isOfficial: true - description: Adminer (formerly phpMinAdmin) is a full-featured database management tool written in PHP - documentation: "Taken from https://hub.docker.com/_/adminer " + Enter your Adminer Configuration parameters and click on next. It will take about a minute for the process to finish. + end: Adminer is deployed and available as $$cap_appname + displayName: Adminer + isOfficial: true + description: Adminer (formerly phpMinAdmin) is a full-featured database management tool written in PHP + documentation: 'Taken from https://hub.docker.com/_/adminer ' diff --git a/public/v4/apps/arangodb.yml b/public/v4/apps/arangodb.yml index bab15d8..59d4872 100644 --- a/public/v4/apps/arangodb.yml +++ b/public/v4/apps/arangodb.yml @@ -1,30 +1,30 @@ captainVersion: 4 services: - $$cap_appname-db: - image: arangodb:$$cap_arango_version - volumes: - - $$cap_appname-db-data:/var/lib/arangodb3 - - $$cap_appname-db-apps-data:/var/lib/arangodb3-apps - restart: always - environment: - ARANGO_ROOT_PASSWORD: $$cap_db_pass - caproverExtra: - containerHttpPort: "8529" + $$cap_appname-db: + image: arangodb:$$cap_arango_version + volumes: + - $$cap_appname-db-data:/var/lib/arangodb3 + - $$cap_appname-db-apps-data:/var/lib/arangodb3-apps + restart: always + environment: + ARANGO_ROOT_PASSWORD: $$cap_db_pass + caproverExtra: + containerHttpPort: '8529' caproverOneClickApp: - variables: - - id: $$cap_arango_version - label: ArangoDB Version - defaultValue: "3.4" - description: Check out their Docker page for the valid tags https://hub.docker.com/r/library/arangodb/tags/ - validRegex: /^([^\s^\/])+$/ - - id: $$cap_db_pass - label: ArangoDB Root password - description: "" - validRegex: /.{1,}/ - instructions: - start: ArangoDB is a multi-model, open-source database with flexible data models for documents, graphs, and key-values. Build high performance applications using a convenient SQL-like query language or JavaScript extensions. Use ACID transactions if you require them. Scale horizontally and vertically with a few mouse clicks. - end: ArangoDB is deployed and available as srv-captain--$$cap_appname-db:8529 to other apps. - displayName: ArangoDB - isOfficial: true - description: ArangoDB is native multi-model database for using and combining graph, document and key/value models - documentation: ArangoDB + variables: + - id: $$cap_arango_version + label: ArangoDB Version + defaultValue: '3.4' + description: Check out their Docker page for the valid tags https://hub.docker.com/r/library/arangodb/tags/ + validRegex: /^([^\s^\/])+$/ + - id: $$cap_db_pass + label: ArangoDB Root password + description: '' + validRegex: /.{1,}/ + instructions: + start: ArangoDB is a multi-model, open-source database with flexible data models for documents, graphs, and key-values. Build high performance applications using a convenient SQL-like query language or JavaScript extensions. Use ACID transactions if you require them. Scale horizontally and vertically with a few mouse clicks. + end: ArangoDB is deployed and available as srv-captain--$$cap_appname-db:8529 to other apps. + displayName: ArangoDB + isOfficial: true + description: ArangoDB is native multi-model database for using and combining graph, document and key/value models + documentation: ArangoDB diff --git a/public/v4/apps/bitwardenrs.yml b/public/v4/apps/bitwardenrs.yml index 7560cf2..9cfc555 100644 --- a/public/v4/apps/bitwardenrs.yml +++ b/public/v4/apps/bitwardenrs.yml @@ -1,26 +1,26 @@ captainVersion: 4 services: - $$cap_appname: - image: bitwardenrs/server:$$cap_bitwardenrs_version - volumes: - - $$cap_appname-data:/data - restart: always - caproverExtra: - containerHttpPort: "80" + $$cap_appname: + image: bitwardenrs/server:$$cap_bitwardenrs_version + volumes: + - $$cap_appname-data:/data + restart: always + caproverExtra: + containerHttpPort: '80' caproverOneClickApp: - variables: - - id: $$cap_bitwardenrs_version - label: Bitwarden_rs Version - defaultValue: 1.15.1 - description: Check out their Docker page for the valid tags https://hub.docker.com/r/bitwardenrs/server/tags - validRegex: /^([^\s^\/])+$/ - instructions: - start: This is a Bitwarden server API implementation written in Rust compatible with upstream Bitwarden clients, perfect for self-hosted deployment where running the official resource-heavy service might not be ideal. - end: >- - Bitwarden_rs is deployed and available as $$cap_appname. Please give it a few minutes to boot, otherwise you will see a 502 error. + variables: + - id: $$cap_bitwardenrs_version + label: Bitwarden_rs Version + defaultValue: 1.15.1 + description: Check out their Docker page for the valid tags https://hub.docker.com/r/bitwardenrs/server/tags + validRegex: /^([^\s^\/])+$/ + instructions: + start: This is a Bitwarden server API implementation written in Rust compatible with upstream Bitwarden clients, perfect for self-hosted deployment where running the official resource-heavy service might not be ideal. + end: >- + Bitwarden_rs is deployed and available as $$cap_appname. Please give it a few minutes to boot, otherwise you will see a 502 error. - Please activate https and https redirect otherwise you will have error on account creation. - displayName: Bitwarden_rs - isOfficial: true - description: Lightweight fully featured Rust implementation of Bitwarden. - documentation: Taken from https://hub.docker.com/r/bitwardenrs/server + Please activate https and https redirect otherwise you will have error on account creation. + displayName: Bitwarden_rs + isOfficial: true + description: Lightweight fully featured Rust implementation of Bitwarden. + documentation: Taken from https://hub.docker.com/r/bitwardenrs/server diff --git a/public/v4/apps/chatwoot.yml b/public/v4/apps/chatwoot.yml index b244cf2..6e92354 100644 --- a/public/v4/apps/chatwoot.yml +++ b/public/v4/apps/chatwoot.yml @@ -1,91 +1,91 @@ captainVersion: 4 services: - $$cap_appname-postgres: - image: postgres:12 - volumes: - - $$cap_appname-postgres-data:/var/lib/postgresql/data - restart: always - environment: - POSTGRES_USER: chatwoot - POSTGRES_PASSWORD: $$cap_chatwoot_postgres_password - POSTGRES_DB: chatwoot - caproverExtra: - notExposeAsWebApp: "true" - $$cap_appname-redis: - volumes: - - $$cap_appname-redis-data:/data - restart: always - environment: - REDIS_PASSWORD: $$cap_chatwoot_redis_password - caproverExtra: - dockerfileLines: - - FROM redis:alpine - - CMD exec redis-server --requirepass "$$cap_chatwoot_redis_password" - notExposeAsWebApp: "true" - $$cap_appname-web: - restart: always - environment: - RAIL_ENV: production - RAILS_LOG_TO_STDOUT: "true" - SECRET_KEY_BASE: $$cap_chatwoot_secret_key_base - POSTGRES_HOST: srv-captain--$$cap_appname-postgres - POSTGRES_DATABASE: chatwoot - POSTGRES_USERNAME: chatwoot - POSTGRES_PASSWORD: $$cap_chatwoot_postgres_password - REDIS_URL: redis://srv-captain--$$cap_appname-redis:6379 - REDIS_PASSWORD: $$cap_chatwoot_redis_password - caproverExtra: - containerHttpPort: "3000" - dockerfileLines: - - FROM chatwoot/chatwoot:$$cap_chatwoot_version - - RUN chmod +x docker/entrypoints/rails.sh - - ENTRYPOINT ["docker/entrypoints/rails.sh"] - - EXPOSE 3000 - - CMD bundle exec rails db:prepare; bundle exec rails s -b 0.0.0.0 -p 3000 - $$cap_appname-worker: - restart: always - environment: - RAIL_ENV: production - RAILS_LOG_TO_STDOUT: "true" - SECRET_KEY_BASE: $$cap_chatwoot_secret_key_base - POSTGRES_HOST: srv-captain--$$cap_appname-postgres - POSTGRES_DATABASE: chatwoot - POSTGRES_USERNAME: chatwoot - POSTGRES_PASSWORD: $$cap_chatwoot_postgres_password - REDIS_URL: redis://srv-captain--$$cap_appname-redis:6379 - REDIS_PASSWORD: $$cap_chatwoot_redis_password - caproverExtra: - dockerfileLines: - - FROM chatwoot/chatwoot:$$cap_chatwoot_version - - RUN chmod +x docker/entrypoints/rails.sh - - ENTRYPOINT ["docker/entrypoints/rails.sh"] - - CMD bundle exec sidekiq -C config/sidekiq.yml - notExposeAsWebApp: "true" + $$cap_appname-postgres: + image: postgres:12 + volumes: + - $$cap_appname-postgres-data:/var/lib/postgresql/data + restart: always + environment: + POSTGRES_USER: chatwoot + POSTGRES_PASSWORD: $$cap_chatwoot_postgres_password + POSTGRES_DB: chatwoot + caproverExtra: + notExposeAsWebApp: 'true' + $$cap_appname-redis: + volumes: + - $$cap_appname-redis-data:/data + restart: always + environment: + REDIS_PASSWORD: $$cap_chatwoot_redis_password + caproverExtra: + dockerfileLines: + - FROM redis:alpine + - CMD exec redis-server --requirepass "$$cap_chatwoot_redis_password" + notExposeAsWebApp: 'true' + $$cap_appname-web: + restart: always + environment: + RAIL_ENV: production + RAILS_LOG_TO_STDOUT: 'true' + SECRET_KEY_BASE: $$cap_chatwoot_secret_key_base + POSTGRES_HOST: srv-captain--$$cap_appname-postgres + POSTGRES_DATABASE: chatwoot + POSTGRES_USERNAME: chatwoot + POSTGRES_PASSWORD: $$cap_chatwoot_postgres_password + REDIS_URL: redis://srv-captain--$$cap_appname-redis:6379 + REDIS_PASSWORD: $$cap_chatwoot_redis_password + caproverExtra: + containerHttpPort: '3000' + dockerfileLines: + - FROM chatwoot/chatwoot:$$cap_chatwoot_version + - RUN chmod +x docker/entrypoints/rails.sh + - ENTRYPOINT ["docker/entrypoints/rails.sh"] + - EXPOSE 3000 + - CMD bundle exec rails db:prepare; bundle exec rails s -b 0.0.0.0 -p 3000 + $$cap_appname-worker: + restart: always + environment: + RAIL_ENV: production + RAILS_LOG_TO_STDOUT: 'true' + SECRET_KEY_BASE: $$cap_chatwoot_secret_key_base + POSTGRES_HOST: srv-captain--$$cap_appname-postgres + POSTGRES_DATABASE: chatwoot + POSTGRES_USERNAME: chatwoot + POSTGRES_PASSWORD: $$cap_chatwoot_postgres_password + REDIS_URL: redis://srv-captain--$$cap_appname-redis:6379 + REDIS_PASSWORD: $$cap_chatwoot_redis_password + caproverExtra: + dockerfileLines: + - FROM chatwoot/chatwoot:$$cap_chatwoot_version + - RUN chmod +x docker/entrypoints/rails.sh + - ENTRYPOINT ["docker/entrypoints/rails.sh"] + - CMD bundle exec sidekiq -C config/sidekiq.yml + notExposeAsWebApp: 'true' caproverOneClickApp: - variables: - - id: $$cap_chatwoot_version - label: Chatwoot Version Tag - description: https://hub.docker.com/r/chatwoot/chatwoot/tags - defaultValue: v1.6.3 - - id: $$cap_chatwoot_secret_key_base - label: Chatwoot Secret Key Base - description: The randomized string which is used to verify the integrity of signed cookies. Please use a string with more than 26 characters - validRegex: /^[^\@]{26,}$/ - - id: $$cap_chatwoot_postgres_password - label: Postgres Password - description: Password must be at least 12 characters. Please use a random string. - validRegex: /^[^\@]{12,}$/ - - id: $$cap_chatwoot_redis_password - label: Redis Password - description: Password must be at least 12 characters. Please use a random string. - validRegex: /^[^\@]{12,}$/ - instructions: - start: Open-source customer support saas alternative to Intercom, Drift, Crisp. - end: >- - Your Chatwoot instance is now successfully deployed. You can create a new account using signup option. + variables: + - id: $$cap_chatwoot_version + label: Chatwoot Version Tag + description: https://hub.docker.com/r/chatwoot/chatwoot/tags + defaultValue: v1.6.3 + - id: $$cap_chatwoot_secret_key_base + label: Chatwoot Secret Key Base + description: The randomized string which is used to verify the integrity of signed cookies. Please use a string with more than 26 characters + validRegex: /^[^\@]{26,}$/ + - id: $$cap_chatwoot_postgres_password + label: Postgres Password + description: Password must be at least 12 characters. Please use a random string. + validRegex: /^[^\@]{12,}$/ + - id: $$cap_chatwoot_redis_password + label: Redis Password + description: Password must be at least 12 characters. Please use a random string. + validRegex: /^[^\@]{12,}$/ + instructions: + start: Open-source customer support saas alternative to Intercom, Drift, Crisp. + end: >- + Your Chatwoot instance is now successfully deployed. You can create a new account using signup option. - Refer https://www.chatwoot.com/docs/environment-variables/ for full list of environment variables available. Let us know if you have any queries through hello@chatwoot.com - displayName: Chatwoot - isOfficial: true - description: Open-source customer support saas alternative to Intercom, Drift, Crisp - documentation: "Read more at: https://www.chatwoot.com/docs" + Refer https://www.chatwoot.com/docs/environment-variables/ for full list of environment variables available. Let us know if you have any queries through hello@chatwoot.com + displayName: Chatwoot + isOfficial: true + description: Open-source customer support saas alternative to Intercom, Drift, Crisp + documentation: 'Read more at: https://www.chatwoot.com/docs' diff --git a/public/v4/apps/cockpit.yml b/public/v4/apps/cockpit.yml index d56c973..8db4c57 100644 --- a/public/v4/apps/cockpit.yml +++ b/public/v4/apps/cockpit.yml @@ -1,25 +1,25 @@ captainVersion: 4 services: - $$cap_appname: - image: agentejo/cockpit:$$cap_cockpit_version - volumes: - - $$cap_appname-storage:/var/www/html/storage - restart: always - caproverExtra: - containerHttpPort: "80" + $$cap_appname: + image: agentejo/cockpit:$$cap_cockpit_version + volumes: + - $$cap_appname-storage:/var/www/html/storage + restart: always + caproverExtra: + containerHttpPort: '80' caproverOneClickApp: - variables: - - id: $$cap_cockpit_version - label: cockpit version tag - description: Checkout their docker page for the valid tags @ https://hub.docker.com/r/agentejo/cockpit/tags - defaultValue: 0.9.3 - instructions: - start: Cockpit is Simple Content Platform to manage any structured content. A self-hosted headless and api-driven CMS. - end: >- - Cockpit is deployed and available as $$cap_appname. + variables: + - id: $$cap_cockpit_version + label: cockpit version tag + description: Checkout their docker page for the valid tags @ https://hub.docker.com/r/agentejo/cockpit/tags + defaultValue: 0.9.3 + instructions: + start: Cockpit is Simple Content Platform to manage any structured content. A self-hosted headless and api-driven CMS. + end: >- + Cockpit is deployed and available as $$cap_appname. - IMPORTANT: Navigate to /install to finish the installation and to create an admin user! - displayName: Cockpit - isOfficial: true - description: Cockpit is Simple Content Platform to manage any structured content. A self-hosted headless and api-driven CMS. - documentation: Read the documentation @ https://github.com/agentejo/cockpit-docker + IMPORTANT: Navigate to /install to finish the installation and to create an admin user! + displayName: Cockpit + isOfficial: true + description: Cockpit is Simple Content Platform to manage any structured content. A self-hosted headless and api-driven CMS. + documentation: Read the documentation @ https://github.com/agentejo/cockpit-docker diff --git a/public/v4/apps/collabora-online.yml b/public/v4/apps/collabora-online.yml index d85face..6e0bad5 100644 --- a/public/v4/apps/collabora-online.yml +++ b/public/v4/apps/collabora-online.yml @@ -1,68 +1,68 @@ captainVersion: 4 services: - $$cap_appname: - image: collabora/code:$$cap_collabora_version - restart: always - environment: - domain: $$cap_wopihost_domain - cert_domain: $$cap_appname.$$cap_root_domain - server_name: $$cap_appname.$$cap_root_domain - extra_params: --o:ssl.enable=false --o:ssl.termination=true - username: $$cap_admin_user - password: $$cap_admin_pass - caproverExtra: - containerHttpPort: "9980" + $$cap_appname: + image: collabora/code:$$cap_collabora_version + restart: always + environment: + domain: $$cap_wopihost_domain + cert_domain: $$cap_appname.$$cap_root_domain + server_name: $$cap_appname.$$cap_root_domain + extra_params: --o:ssl.enable=false --o:ssl.termination=true + username: $$cap_admin_user + password: $$cap_admin_pass + caproverExtra: + containerHttpPort: '9980' caproverOneClickApp: - variables: - - id: $$cap_admin_user - label: Admin user - description: permit access to the web admin interface - defaultValue: adminuser - validRegex: /^([a-zA-Z0-9])+$/ - - id: $$cap_admin_pass - label: Admin password - description: admin password - validRegex: /.{1,}/ - - id: $$cap_collabora_version - label: Collabora CODE Version - defaultValue: 4.2.4.4 - description: Checkout their docker page for the valid tags https://hub.docker.com/r/collabora/code/tags/ - validRegex: /^([^\s^\/])+$/ - - id: $$cap_wopihost_domain - label: WOPI host domain - yournextcloud.your.rootdomain.com - description: >- - Your Nextcloud host domain. + variables: + - id: $$cap_admin_user + label: Admin user + description: permit access to the web admin interface + defaultValue: adminuser + validRegex: /^([a-zA-Z0-9])+$/ + - id: $$cap_admin_pass + label: Admin password + description: admin password + validRegex: /.{1,}/ + - id: $$cap_collabora_version + label: Collabora CODE Version + defaultValue: 4.2.4.4 + description: Checkout their docker page for the valid tags https://hub.docker.com/r/collabora/code/tags/ + validRegex: /^([^\s^\/])+$/ + - id: $$cap_wopihost_domain + label: WOPI host domain - yournextcloud.your.rootdomain.com + description: >- + Your Nextcloud host domain. - Caution ! you must add a backslash before each dot of the url - validRegex: /^([^\s^\/])+$/ - instructions: - start: >- - Collabora CODE version is an online Office Suite. + Caution ! you must add a backslash before each dot of the url + validRegex: /^([^\s^\/])+$/ + instructions: + start: >- + Collabora CODE version is an online Office Suite. - When you are using Nextcloud or ownCloud you can use it to enhance your online office document experience. + When you are using Nextcloud or ownCloud you can use it to enhance your online office document experience. - The install will take about a minute for the process to finish. - end: >- - Collabora is deployed and available as $$cap_appname. + The install will take about a minute for the process to finish. + end: >- + Collabora is deployed and available as $$cap_appname. - IMPORTANT: You need do 5 manual steps before access. + IMPORTANT: You need do 5 manual steps before access. - 1 - enable websocket on HTTP settings tab + 1 - enable websocket on HTTP settings tab - 2 - add the "proxy_read_timeout 36000s;" instruction below "proxy_http_version 1.1;" + 2 - add the "proxy_read_timeout 36000s;" instruction below "proxy_http_version 1.1;" - 3 - Enable and force HTTPS and wait few minutes. + 3 - Enable and force HTTPS and wait few minutes. - 4 - add the Collabora Online extension for Nextcloud (3.7.0 for now) + 4 - add the Collabora Online extension for Nextcloud (3.7.0 for now) - 5 - go to your Nextcloud plugin configuration > collabora online > use your own server > paste the FQDN of your new instance of collabora > save + 5 - go to your Nextcloud plugin configuration > collabora online > use your own server > paste the FQDN of your new instance of collabora > save - That's all, you can use collabora online to all your Nextcloud instance. - displayName: Collabora Online - isOfficial: true - description: Collabora Online is an online and collaborating office suite - documentation: Inspired by https://github.com/caprover/one-click-apps/pull/111 and from https://www.collaboraoffice.com/code/docker/ + That's all, you can use collabora online to all your Nextcloud instance. + displayName: Collabora Online + isOfficial: true + description: Collabora Online is an online and collaborating office suite + documentation: Inspired by https://github.com/caprover/one-click-apps/pull/111 and from https://www.collaboraoffice.com/code/docker/ diff --git a/public/v4/apps/couchdb.yml b/public/v4/apps/couchdb.yml index 0bcf021..161c60b 100644 --- a/public/v4/apps/couchdb.yml +++ b/public/v4/apps/couchdb.yml @@ -1,40 +1,40 @@ captainVersion: 4 services: - $$cap_appname: - image: couchdb:$$cap_couchdb_version - volumes: - - $$cap_appname-db-data:/opt/couchdb/data - - $$cap_appname-db-etc:/opt/couchdb/etc - restart: always - environment: - COUCHDB_USER: $$cap_couchdb_user - COUCHDB_PASSWORD: $$cap_couchdb_password - caproverExtra: - containerHttpPort: "5984" + $$cap_appname: + image: couchdb:$$cap_couchdb_version + volumes: + - $$cap_appname-db-data:/opt/couchdb/data + - $$cap_appname-db-etc:/opt/couchdb/etc + restart: always + environment: + COUCHDB_USER: $$cap_couchdb_user + COUCHDB_PASSWORD: $$cap_couchdb_password + caproverExtra: + containerHttpPort: '5984' caproverOneClickApp: - variables: - - id: $$cap_couchdb_version - label: CouchDB Version Tag - description: Check out their Docker page for the valid tags https://hub.docker.com/r/library/couchdb/tags/ - defaultValue: "2" - validRegex: /^([^\s^\/])+$/ - - id: $$cap_couchdb_user - label: CouchDB Username - defaultValue: mainuser - validRegex: /^([a-zA-Z0-9_])+$/ - - id: $$cap_couchdb_password - label: CouchDB Password - defaultValue: "" - validRegex: /.{1,}/ - instructions: - start: >- - CouchDB is a database that uses JSON for documents, an HTTP API, & JavaScript/declarative indexing. + variables: + - id: $$cap_couchdb_version + label: CouchDB Version Tag + description: Check out their Docker page for the valid tags https://hub.docker.com/r/library/couchdb/tags/ + defaultValue: '2' + validRegex: /^([^\s^\/])+$/ + - id: $$cap_couchdb_user + label: CouchDB Username + defaultValue: mainuser + validRegex: /^([a-zA-Z0-9_])+$/ + - id: $$cap_couchdb_password + label: CouchDB Password + defaultValue: '' + validRegex: /.{1,}/ + instructions: + start: >- + CouchDB is a database that uses JSON for documents, an HTTP API, & JavaScript/declarative indexing. - After installation on CapRover, it will be available as srv-captain--YOUR_CONTAINER_NAME at port 5984 to other CapRover apps. + After installation on CapRover, it will be available as srv-captain--YOUR_CONTAINER_NAME at port 5984 to other CapRover apps. - Enter your CouchDB Configuration parameters and click on next. It will take about a minute for the process to finish. - end: CouchDB is deployed and available as $$cap_appname at port 5984 to other apps - displayName: CouchDB - isOfficial: true - description: Apache CouchDB is an open-source document-oriented NoSQL database, implemented in Erlang - documentation: Taken from https://hub.docker.com/_/couchdb/ + Enter your CouchDB Configuration parameters and click on next. It will take about a minute for the process to finish. + end: CouchDB is deployed and available as $$cap_appname at port 5984 to other apps + displayName: CouchDB + isOfficial: true + description: Apache CouchDB is an open-source document-oriented NoSQL database, implemented in Erlang + documentation: Taken from https://hub.docker.com/_/couchdb/ diff --git a/public/v4/apps/countly.yml b/public/v4/apps/countly.yml index 773bb6c..d30252e 100644 --- a/public/v4/apps/countly.yml +++ b/public/v4/apps/countly.yml @@ -1,22 +1,22 @@ captainVersion: 4 services: - $$cap_appname: - image: countly/countly-server:$$cap_countly_version - volumes: - - $$cap_appname-data:/var/lib/mongodb - restart: always - environment: {} + $$cap_appname: + image: countly/countly-server:$$cap_countly_version + volumes: + - $$cap_appname-data:/var/lib/mongodb + restart: always + environment: {} caproverOneClickApp: - variables: - - id: $$cap_countly_version - label: What version/tag do you want? - description: Go here to see all versions https://hub.docker.com/r/countly/countly-server/tags - defaultValue: 19.08.1 - validRegex: /^([^\s^\/])+$/ - instructions: - start: Countly. This will only work over HTTPS, so enable plz :) | Product Analytics for Mobile, Web, Desktop and IoT | https://count.ly - end: Countly is deployed and available as $$cap_appname - displayName: "" - isOfficial: true - description: Countly helps you get insights from your application - documentation: Taken from https://hub.docker.com/r/countly/countly-server + variables: + - id: $$cap_countly_version + label: What version/tag do you want? + description: Go here to see all versions https://hub.docker.com/r/countly/countly-server/tags + defaultValue: 19.08.1 + validRegex: /^([^\s^\/])+$/ + instructions: + start: Countly. This will only work over HTTPS, so enable plz :) | Product Analytics for Mobile, Web, Desktop and IoT | https://count.ly + end: Countly is deployed and available as $$cap_appname + displayName: '' + isOfficial: true + description: Countly helps you get insights from your application + documentation: Taken from https://hub.docker.com/r/countly/countly-server diff --git a/public/v4/apps/directus.yml b/public/v4/apps/directus.yml index 43e5948..970ad73 100644 --- a/public/v4/apps/directus.yml +++ b/public/v4/apps/directus.yml @@ -1,107 +1,107 @@ captainVersion: 4 services: - $$cap_appname-db: - image: mysql:5.7 - volumes: - - $$cap_appname-db-data:/var/lib/mysql/ - environment: - MYSQL_DATABASE: $$cap_mysql_database_name - MYSQL_ROOT_PASSWORD: $$cap_mysql_root_passwd - MYSQL_USER: $$cap_mysql_user - MYSQL_PASSWORD: $$cap_mysql_passwd - healthcheck: - test: mysql -u$$cap_mysql_user -p$$cap_mysql_passwd -e "SHOW DATABASES;" - interval: 10s - timeout: 6s - retries: "10" - restart: always - caproverExtra: - notExposeAsWebApp: "true" - $$cap_appname-directus: - depends_on: - $$cap_appname-db: - condition: service_healthy - image: directus/directus:$$cap_directus_tag - volumes: - - $$cap_appname-directus-uploads:/var/directus/public/uploads - restart: always - environment: - DIRECTUS_DATABASE_HOST: srv-captain--$$cap_appname-db - DIRECTUS_DATABASE_NAME: $$cap_mysql_database_name - DIRECTUS_DATABASE_USERNAME: $$cap_mysql_user - DIRECTUS_DATABASE_PASSWORD: $$cap_mysql_passwd - DIRECTUS_AUTH_SECRETKEY: $$cap_directus_auth_secret_key - DIRECTUS_AUTH_PUBLICKEY: $$cap_directus_auth_public_key - caproverExtra: - containerHttpPort: "80" + $$cap_appname-db: + image: mysql:5.7 + volumes: + - $$cap_appname-db-data:/var/lib/mysql/ + environment: + MYSQL_DATABASE: $$cap_mysql_database_name + MYSQL_ROOT_PASSWORD: $$cap_mysql_root_passwd + MYSQL_USER: $$cap_mysql_user + MYSQL_PASSWORD: $$cap_mysql_passwd + healthcheck: + test: mysql -u$$cap_mysql_user -p$$cap_mysql_passwd -e "SHOW DATABASES;" + interval: 10s + timeout: 6s + retries: '10' + restart: always + caproverExtra: + notExposeAsWebApp: 'true' + $$cap_appname-directus: + depends_on: + $$cap_appname-db: + condition: service_healthy + image: directus/directus:$$cap_directus_tag + volumes: + - $$cap_appname-directus-uploads:/var/directus/public/uploads + restart: always + environment: + DIRECTUS_DATABASE_HOST: srv-captain--$$cap_appname-db + DIRECTUS_DATABASE_NAME: $$cap_mysql_database_name + DIRECTUS_DATABASE_USERNAME: $$cap_mysql_user + DIRECTUS_DATABASE_PASSWORD: $$cap_mysql_passwd + DIRECTUS_AUTH_SECRETKEY: $$cap_directus_auth_secret_key + DIRECTUS_AUTH_PUBLICKEY: $$cap_directus_auth_public_key + caproverExtra: + containerHttpPort: '80' caproverOneClickApp: - variables: - - description: Tag of Directus image on https://hub.docker.com/r/directus/directus/tags - defaultValue: v8.8.0-apache - id: $$cap_directus_tag - label: Directus image tag - validRegex: /.{1,}/ - - description: Name of the Directus backing database instance. - defaultValue: directus - id: $$cap_mysql_database_name - label: mySQL Database Name - validRegex: /.{1,}/ - - description: Master password for the Directus backing database instance. - defaultValue: L4fCizKUZtX4Htwi - id: $$cap_mysql_root_passwd - label: mySQL Root Password - validRegex: /^(?=.*\d).{10,}$/ - - description: User for the Directus backing database instance. - defaultValue: directus - id: $$cap_mysql_user - label: mySQL User - validRegex: /.{1,}/ - - description: User password for the Directus backing database instance. - defaultValue: N2cQ4J9VzsfvXwzM - id: $$cap_mysql_passwd - label: mySQL User Password - validRegex: /^(?=.*\d).{10,}$/ - - description: Directus Auth Secret Key (must not be the same as Directus Auth Public Key) - defaultValue: nsQocnfPjh3Udjyw - id: $$cap_directus_auth_secret_key - label: Directus Auth Secret Key - validRegex: /^(?=.*\d).{10,}$/ - - description: Directus Auth Public Key (must not be the same as Directus Auth Secret Key) - defaultValue: 8QQc2mv6PXuEcsfw - id: $$cap_directus_auth_public_key - label: Directus Auth Public Key - validRegex: /^(?=.*\d).{10,}$/ - - description: Directus admin user email - defaultValue: admin@example.com - id: $$cap_directus_install_email - label: Directus admin user email - validRegex: /.{1,}/ - - description: Directus admin user password - defaultValue: yM7iT3ijt95pyeJP - id: $$cap_directus_install_password - label: Directus admin user password - validRegex: /^(?=.*\d).{10,}$/ - instructions: - end: > - THE INSTALLATION PROCESS IS NOT FINISHED !!! + variables: + - description: Tag of Directus image on https://hub.docker.com/r/directus/directus/tags + defaultValue: v8.8.0-apache + id: $$cap_directus_tag + label: Directus image tag + validRegex: /.{1,}/ + - description: Name of the Directus backing database instance. + defaultValue: directus + id: $$cap_mysql_database_name + label: mySQL Database Name + validRegex: /.{1,}/ + - description: Master password for the Directus backing database instance. + defaultValue: L4fCizKUZtX4Htwi + id: $$cap_mysql_root_passwd + label: mySQL Root Password + validRegex: /^(?=.*\d).{10,}$/ + - description: User for the Directus backing database instance. + defaultValue: directus + id: $$cap_mysql_user + label: mySQL User + validRegex: /.{1,}/ + - description: User password for the Directus backing database instance. + defaultValue: N2cQ4J9VzsfvXwzM + id: $$cap_mysql_passwd + label: mySQL User Password + validRegex: /^(?=.*\d).{10,}$/ + - description: Directus Auth Secret Key (must not be the same as Directus Auth Public Key) + defaultValue: nsQocnfPjh3Udjyw + id: $$cap_directus_auth_secret_key + label: Directus Auth Secret Key + validRegex: /^(?=.*\d).{10,}$/ + - description: Directus Auth Public Key (must not be the same as Directus Auth Secret Key) + defaultValue: 8QQc2mv6PXuEcsfw + id: $$cap_directus_auth_public_key + label: Directus Auth Public Key + validRegex: /^(?=.*\d).{10,}$/ + - description: Directus admin user email + defaultValue: admin@example.com + id: $$cap_directus_install_email + label: Directus admin user email + validRegex: /.{1,}/ + - description: Directus admin user password + defaultValue: yM7iT3ijt95pyeJP + id: $$cap_directus_install_password + label: Directus admin user password + validRegex: /^(?=.*\d).{10,}$/ + instructions: + end: > + THE INSTALLATION PROCESS IS NOT FINISHED !!! - As said in the documentation (https://docs.directus.io/installation/docker.html#step-4-initialize-the-database-and-an-admin-user), currently (30/06/2020), Directus does not support automatic database setup so you need to do it yourself the first time you launch directus. + As said in the documentation (https://docs.directus.io/installation/docker.html#step-4-initialize-the-database-and-an-admin-user), currently (30/06/2020), Directus does not support automatic database setup so you need to do it yourself the first time you launch directus. - But since Caprover does not use standard docker-compose file, you need to run a slightly uglier command than the one shown in the documentation. + But since Caprover does not use standard docker-compose file, you need to run a slightly uglier command than the one shown in the documentation. - Run the following command on your server (using SSH for example, you might need to be root): + Run the following command on your server (using SSH for example, you might need to be root): - docker run -e DIRECTUS_DATABASE_HOST=srv-captain--$$cap_appname-db -e DIRECTUS_DATABASE_NAME=$$cap_mysql_database_name -e DIRECTUS_DATABASE_USERNAME=$$cap_mysql_user -e DIRECTUS_DATABASE_PASSWORD=$$cap_mysql_passwd -e DIRECTUS_AUTH_SECRETKEY=$$cap_directus_auth_secret_key -e DIRECTUS_AUTH_PUBLICKEY=$$cap_directus_auth_public_key --network $(docker network ls | grep "captain-overlay-network" | awk '{print $1}') --rm directus/directus:$$cap_directus_tag install --email $$cap_directus_install_email --password $$cap_directus_install_password + docker run -e DIRECTUS_DATABASE_HOST=srv-captain--$$cap_appname-db -e DIRECTUS_DATABASE_NAME=$$cap_mysql_database_name -e DIRECTUS_DATABASE_USERNAME=$$cap_mysql_user -e DIRECTUS_DATABASE_PASSWORD=$$cap_mysql_passwd -e DIRECTUS_AUTH_SECRETKEY=$$cap_directus_auth_secret_key -e DIRECTUS_AUTH_PUBLICKEY=$$cap_directus_auth_public_key --network $(docker network ls | grep "captain-overlay-network" | awk '{print $1}') --rm directus/directus:$$cap_directus_tag install --email $$cap_directus_install_email --password $$cap_directus_install_password - Once this is done, Directus is deployed and available as $$cap_appname-directus. + Once this is done, Directus is deployed and available as $$cap_appname-directus. - It may take a few minutes for Directus to initialize. - start: >- - Directus is an open-source suite of software that wraps custom SQL databases with a dynamic API and intuitive Admin App. - For more information and available options, see https://github.com/directus/docker or the official documentation at https://docs.directus.io - displayName: "" - isOfficial: true - description: Directus is an open-source tool for managing content across all your omni-channel digital experiences - documentation: Taken from https://github.com/directus/docker. + It may take a few minutes for Directus to initialize. + start: >- + Directus is an open-source suite of software that wraps custom SQL databases with a dynamic API and intuitive Admin App. + For more information and available options, see https://github.com/directus/docker or the official documentation at https://docs.directus.io + displayName: '' + isOfficial: true + description: Directus is an open-source tool for managing content across all your omni-channel digital experiences + documentation: Taken from https://github.com/directus/docker. diff --git a/public/v4/apps/discourse.yml b/public/v4/apps/discourse.yml index 16d8b4b..d6df6ad 100644 --- a/public/v4/apps/discourse.yml +++ b/public/v4/apps/discourse.yml @@ -1,149 +1,149 @@ captainVersion: 4 services: - $$cap_appname-postgresql: - documentation: Taken from https://hub.docker.com/r/bitnami/postgresql - image: docker.io/bitnami/postgresql:$$cap_postgresql_version - restart: always - environment: - ALLOW_EMPTY_PASSWORD: yes - volumes: - - $$cap_appname-postgresql-data:/bitnami/postgresql - caproverExtra: - notExposeAsWebApp: "true" - $$cap_appname-redis: - documentation: Taken from https://hub.docker.com/r/bitnami/redis - image: docker.io/bitnami/redis:$$cap_redis_version - restart: always - environment: - ALLOW_EMPTY_PASSWORD: yes - volumes: - - $$cap_appname-redis-data:/bitnami - caproverExtra: - notExposeAsWebApp: "true" - $$cap_appname: - documentation: Taken from https://hub.docker.com/r/bitnami/discourse - image: docker.io/bitnami/discourse:$$cap_discourse_version - 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 - caproverExtra: - containerHttpPort: "3000" - $$cap_appname-sidekiq: - documentaion: Taken from https://hub.docker.com/r/bitnami/discourse - depends_on: - - $$cap_appname - volumes: - - $$cap_appname-data:/bitnami - 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 - caproverExtra: - dockerfileLines: - - FROM docker.io/bitnami/discourse:$$cap_discourse_version - - CMD ["nami" , "start" , "--foreground" , "discourse-sidekiq"] - notExposeAsWebApp: "true" + $$cap_appname-postgresql: + documentation: Taken from https://hub.docker.com/r/bitnami/postgresql + image: docker.io/bitnami/postgresql:$$cap_postgresql_version + restart: always + environment: + ALLOW_EMPTY_PASSWORD: yes + volumes: + - $$cap_appname-postgresql-data:/bitnami/postgresql + caproverExtra: + notExposeAsWebApp: 'true' + $$cap_appname-redis: + documentation: Taken from https://hub.docker.com/r/bitnami/redis + image: docker.io/bitnami/redis:$$cap_redis_version + restart: always + environment: + ALLOW_EMPTY_PASSWORD: yes + volumes: + - $$cap_appname-redis-data:/bitnami + caproverExtra: + notExposeAsWebApp: 'true' + $$cap_appname: + documentation: Taken from https://hub.docker.com/r/bitnami/discourse + image: docker.io/bitnami/discourse:$$cap_discourse_version + 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 + caproverExtra: + containerHttpPort: '3000' + $$cap_appname-sidekiq: + documentaion: Taken from https://hub.docker.com/r/bitnami/discourse + depends_on: + - $$cap_appname + volumes: + - $$cap_appname-data:/bitnami + 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 + caproverExtra: + dockerfileLines: + - FROM docker.io/bitnami/discourse:$$cap_discourse_version + - CMD ["nami" , "start" , "--foreground" , "discourse-sidekiq"] + notExposeAsWebApp: 'true' caproverOneClickApp: - 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 - 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. - displayName: Discourse - isOfficial: true - 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! - documentation: Taken from https://hub.docker.com/r/bitnami/discourse + 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 + 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. + displayName: Discourse + isOfficial: true + 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! + documentation: Taken from https://hub.docker.com/r/bitnami/discourse diff --git a/public/v4/apps/dokuwiki.yml b/public/v4/apps/dokuwiki.yml index 8309c71..505b6dd 100644 --- a/public/v4/apps/dokuwiki.yml +++ b/public/v4/apps/dokuwiki.yml @@ -1,43 +1,43 @@ captainVersion: 4 services: - $$cap_appname: - image: linuxserver/dokuwiki:$$cap_dokuwiki_version - environment: - TZ: $$cap_tz - PUID: $$cap_puid - PGID: $$cap_guid - volumes: - - $$cap_appname-config:/config + $$cap_appname: + image: linuxserver/dokuwiki:$$cap_dokuwiki_version + environment: + TZ: $$cap_tz + PUID: $$cap_puid + PGID: $$cap_guid + volumes: + - $$cap_appname-config:/config caproverOneClickApp: - variables: - - id: $$cap_dokuwiki_version - label: DokuWiki Version - defaultValue: 2018-04-22c-ls37 - description: Check out their Docker page for the valid tags https://hub.docker.com/r/linuxserver/dokuwiki/tags - validRegex: /^([^\s^\/])+$/ - - id: $$cap_puid - label: User ID - defaultValue: "1000" - description: User ID that the process uses - validRegex: /.{1,}/ - - id: $$cap_guid - label: Group ID - defaultValue: "1000" - description: Group ID that the process uses - validRegex: /.{1,}/ - - id: $$cap_tz - label: Time Zone - defaultValue: America/New_York - description: Get yours from https://en.wikipedia.org/wiki/List_of_tz_database_time_zones - validRegex: /.{1,}/ - instructions: - start: Dokuwiki is a simple to use and highly versatile Open Source wiki software that doesn't require a database. It is loved by users for its clean and readable syntax. The ease of maintenance, backup and integration makes it an administrator's favorite. Built in access controls and authentication connectors make DokuWiki especially useful in the enterprise context and the large number of plugins contributed by its vibrant community allow for a broad range of use cases beyond a traditional wiki. - end: >- - Dokuwiki has been successfully deployed. Please wait about 2 minutes before accessing Dokuwiki. + variables: + - id: $$cap_dokuwiki_version + label: DokuWiki Version + defaultValue: 2018-04-22c-ls37 + description: Check out their Docker page for the valid tags https://hub.docker.com/r/linuxserver/dokuwiki/tags + validRegex: /^([^\s^\/])+$/ + - id: $$cap_puid + label: User ID + defaultValue: '1000' + description: User ID that the process uses + validRegex: /.{1,}/ + - id: $$cap_guid + label: Group ID + defaultValue: '1000' + description: Group ID that the process uses + validRegex: /.{1,}/ + - id: $$cap_tz + label: Time Zone + defaultValue: America/New_York + description: Get yours from https://en.wikipedia.org/wiki/List_of_tz_database_time_zones + validRegex: /.{1,}/ + instructions: + start: Dokuwiki is a simple to use and highly versatile Open Source wiki software that doesn't require a database. It is loved by users for its clean and readable syntax. The ease of maintenance, backup and integration makes it an administrator's favorite. Built in access controls and authentication connectors make DokuWiki especially useful in the enterprise context and the large number of plugins contributed by its vibrant community allow for a broad range of use cases beyond a traditional wiki. + end: >- + Dokuwiki has been successfully deployed. Please wait about 2 minutes before accessing Dokuwiki. - Navigate to /install.php to finish the installation! More details: https://github.com/linuxserver/docker-dokuwiki#application-setup - displayName: DokuWiki - isOfficial: true - description: Dokuwiki is a simple to use and highly versatile Open Source wiki software that doesn't require a database. - documentation: Taken from https://hub.docker.com/r/linuxserver/dokuwiki/tags + Navigate to /install.php to finish the installation! More details: https://github.com/linuxserver/docker-dokuwiki#application-setup + displayName: DokuWiki + isOfficial: true + description: Dokuwiki is a simple to use and highly versatile Open Source wiki software that doesn't require a database. + documentation: Taken from https://hub.docker.com/r/linuxserver/dokuwiki/tags diff --git a/public/v4/apps/dolibarr.yml b/public/v4/apps/dolibarr.yml index a527d45..ff1250b 100644 --- a/public/v4/apps/dolibarr.yml +++ b/public/v4/apps/dolibarr.yml @@ -1,66 +1,66 @@ captainVersion: 4 services: - $$cap_appname-db: - image: postgres:$$cap_postgres-version - volumes: - - $$cap_appname-db:/var/lib/postgresql/data - restart: always - environment: - POSTGRES_USER: dolibarr - POSTGRES_PASSWORD: $$cap_pg-pass - POSTGRES_DB: dolibarr - caproverExtra: - notExposeAsWebApp: "true" - $$cap_appname: - image: upshift/dolibarr:$$cap_dolibarr-version - depends_on: - - $$cap_appname-db - volumes: - - $$cap_appname-html:/var/www/html - - $$cap_appname-docs:/var/www/documents - restart: always - environment: - DOLI_DB_HOST: srv-captain--$$cap_appname-db - DOLI_DB_NAME: dolibarr - DOLI_DB_ROOT_LOGIN: dolibarr - DOLI_DB_ROOT_PASSWOORD: $$cap_pg-pass - DOLI_DB_USER: dolibarr - DOLI_DB_PORT: 5432 - DOLI_DB_TYPE: pgsql - DOLI_DB_PASSWORD: $$cap_pg-pass - DOLI_ADMIN_LOGIN: $$cap_admin-login - DOLI_ADMIN_PASSWORD: $$cap_admin-pass - DOLI_URL_ROOT: http://$$cap_appname.$$cap_root_domain - caproverExtra: - containerHttpPort: "80" + $$cap_appname-db: + image: postgres:$$cap_postgres-version + volumes: + - $$cap_appname-db:/var/lib/postgresql/data + restart: always + environment: + POSTGRES_USER: dolibarr + POSTGRES_PASSWORD: $$cap_pg-pass + POSTGRES_DB: dolibarr + caproverExtra: + notExposeAsWebApp: 'true' + $$cap_appname: + image: upshift/dolibarr:$$cap_dolibarr-version + depends_on: + - $$cap_appname-db + volumes: + - $$cap_appname-html:/var/www/html + - $$cap_appname-docs:/var/www/documents + restart: always + environment: + DOLI_DB_HOST: srv-captain--$$cap_appname-db + DOLI_DB_NAME: dolibarr + DOLI_DB_ROOT_LOGIN: dolibarr + DOLI_DB_ROOT_PASSWOORD: $$cap_pg-pass + DOLI_DB_USER: dolibarr + DOLI_DB_PORT: 5432 + DOLI_DB_TYPE: pgsql + DOLI_DB_PASSWORD: $$cap_pg-pass + DOLI_ADMIN_LOGIN: $$cap_admin-login + DOLI_ADMIN_PASSWORD: $$cap_admin-pass + DOLI_URL_ROOT: http://$$cap_appname.$$cap_root_domain + caproverExtra: + containerHttpPort: '80' caproverOneClickApp: - variables: - - id: $$cap_postgres-version - label: Postgres Version - defaultValue: 9.6-alpine - description: Checkout their docker page for the valid tags https://hub.docker.com/r/library/postgres/tags/ - validRegex: /^([^\s^\/])+$/ - - id: $$cap_dolibarr-version - label: Dolibarr Version - defaultValue: "11.0" - description: Checkout their docker page for the valid tags https://hub.docker.com/r/library/postgres/tags/ - validRegex: /^([^\s^\/])+$/ - - id: $$cap_pg-pass - label: Postgres Password - description: The password of the PostgreSQL Database - validRegex: /.{1,}/ - - id: $$cap_admin-login - label: Dolibarr Admin Login - defaultValue: admin - description: The login of the fisrt admin user of Dolibarr - validRegex: /.{1,}/ - - id: $$cap_admin-pass - label: Dolibarr Admin Password - description: The password of the first admin user of Dolibarr - validRegex: /.{1,}/ - instructions: - start: Dolibarr is an Open Source ERP & CRM for Business - end: Dolibarr is deployed and available as srv-captain--$$cap_appname:8080 to other apps. - displayName: Dolibarr - description: Open Source ERP & CRM for Business (sme or large companies, freelancers, foundations) - documentation: https://hub.docker.com/r/upshift/dolibarr + variables: + - id: $$cap_postgres-version + label: Postgres Version + defaultValue: 9.6-alpine + description: Checkout their docker page for the valid tags https://hub.docker.com/r/library/postgres/tags/ + validRegex: /^([^\s^\/])+$/ + - id: $$cap_dolibarr-version + label: Dolibarr Version + defaultValue: '11.0' + description: Checkout their docker page for the valid tags https://hub.docker.com/r/library/postgres/tags/ + validRegex: /^([^\s^\/])+$/ + - id: $$cap_pg-pass + label: Postgres Password + description: The password of the PostgreSQL Database + validRegex: /.{1,}/ + - id: $$cap_admin-login + label: Dolibarr Admin Login + defaultValue: admin + description: The login of the fisrt admin user of Dolibarr + validRegex: /.{1,}/ + - id: $$cap_admin-pass + label: Dolibarr Admin Password + description: The password of the first admin user of Dolibarr + validRegex: /.{1,}/ + instructions: + start: Dolibarr is an Open Source ERP & CRM for Business + end: Dolibarr is deployed and available as srv-captain--$$cap_appname:8080 to other apps. + displayName: Dolibarr + description: Open Source ERP & CRM for Business (sme or large companies, freelancers, foundations) + documentation: https://hub.docker.com/r/upshift/dolibarr diff --git a/public/v4/apps/drone-gitea.yml b/public/v4/apps/drone-gitea.yml index 8038bd0..7713c60 100644 --- a/public/v4/apps/drone-gitea.yml +++ b/public/v4/apps/drone-gitea.yml @@ -1,83 +1,83 @@ captainVersion: 4 services: - $$cap_appname-agent: - image: drone/agent:$$cap_drone_version - restart: always - environment: - DRONE_SERVER: srv-captain--$$cap_appname-server:9000 - DRONE_SECRET: $$cap_drone_secret - caproverExtra: - notExposeAsWebApp: "true" - $$cap_appname-server: - depends_on: - - $$cap_appname-agent - image: drone/drone:$$cap_drone_version - volumes: - - /var/run/docker.sock:/var/run/docker.sock - - $$cap_appname-server:/data - restart: always - environment: - DRONE_GITEA_SERVER: $$cap_drone_gitea_server - DRONE_GIT_ALWAYS_AUTH: $$cap_drone_gitea_always_auth - DRONE_RUNNER_CAPACITY: $$cap_drone_runner_capacity - DRONE_SERVER_PROTO: $$cap_drone_server_proto - DRONE_SERVER_HOST: $$cap_drone_server_host - DRONE_TLS_AUTOCERT: $$cap_drone_tls_autocert - DRONE_SECRET: $$cap_drone_secret - caproverExtra: - containerHttpPort: "80" + $$cap_appname-agent: + image: drone/agent:$$cap_drone_version + restart: always + environment: + DRONE_SERVER: srv-captain--$$cap_appname-server:9000 + DRONE_SECRET: $$cap_drone_secret + caproverExtra: + notExposeAsWebApp: 'true' + $$cap_appname-server: + depends_on: + - $$cap_appname-agent + image: drone/drone:$$cap_drone_version + volumes: + - /var/run/docker.sock:/var/run/docker.sock + - $$cap_appname-server:/data + restart: always + environment: + DRONE_GITEA_SERVER: $$cap_drone_gitea_server + DRONE_GIT_ALWAYS_AUTH: $$cap_drone_gitea_always_auth + DRONE_RUNNER_CAPACITY: $$cap_drone_runner_capacity + DRONE_SERVER_PROTO: $$cap_drone_server_proto + DRONE_SERVER_HOST: $$cap_drone_server_host + DRONE_TLS_AUTOCERT: $$cap_drone_tls_autocert + DRONE_SECRET: $$cap_drone_secret + caproverExtra: + containerHttpPort: '80' caproverOneClickApp: - variables: - - id: $$cap_drone_version - label: drone Version - defaultValue: 1.0.0-rc.5 - description: Check out their Docker page for the valid tags https://hub.docker.com/r/drone/drone/tags - validRegex: "" - - id: $$cap_drone_gitea_server - label: DRONE_GITEA_SERVER - defaultValue: https://your.server - description: A string containing your Gitea server address. - validRegex: "" - - id: $$cap_drone_gitea_always_auth - label: DRONE_GIT_ALWAYS_AUTH - defaultValue: "false" - description: Boolean value configures Drone to authenticate when cloning public repositories. This is only required when your source code management system (e.g. GitHub Enterprise) has private mode enabled. - validRegex: "" - - id: $$cap_drone_runner_capacity - label: DRONE_RUNNER_CAPACITY - defaultValue: "2" - description: An integer defining the maximum number of pipelines the agent should execute concurrently. The default value is two pipelines. - validRegex: /^[0-9]+$/ - - id: $$cap_drone_server_proto - label: DRONE_SERVER_PROTO - defaultValue: https - description: A string containing your Drone server protocol scheme. This value should be set to http or https. This field defaults to https if you configure ssl or acme. - validRegex: /^([Hh][Tt][Tt][Pp]|[Hh][Tt][Tt][Pp][Ss])$/ - - id: $$cap_drone_server_host - label: DRONE_SERVER_HOST - defaultValue: drone.yourhost.com - description: A string containing your Drone server hostname or IP address. - validRegex: "" - - id: $$cap_drone_tls_autocert - label: DRONE_TLS_AUTOCERT - defaultValue: "false" - description: An boolean indicating debug level logs should be use for automatic SSL certification generation and configuration. The default value is false.. - validRegex: /^([Tt][Rr][Uu][Ee]|[Ff][Aa][Ll][Ss][Ee])$/ - - id: $$cap_drone_secret - label: secret for linking drone and agent - description: some random secret here (min 10 characters) - defaultValue: "" - validRegex: /.{10,}/ - instructions: - start: >- - Drone is a self-service Continuous Delivery platform for busy development teams. It can be used with different GIT servers like gogs, gitea as well as services like gitlab and github. This installer is gitea focused and requires a running gitea instances (which you can install via one-click-apps in caprover). + variables: + - id: $$cap_drone_version + label: drone Version + defaultValue: 1.0.0-rc.5 + description: Check out their Docker page for the valid tags https://hub.docker.com/r/drone/drone/tags + validRegex: '' + - id: $$cap_drone_gitea_server + label: DRONE_GITEA_SERVER + defaultValue: https://your.server + description: A string containing your Gitea server address. + validRegex: '' + - id: $$cap_drone_gitea_always_auth + label: DRONE_GIT_ALWAYS_AUTH + defaultValue: 'false' + description: Boolean value configures Drone to authenticate when cloning public repositories. This is only required when your source code management system (e.g. GitHub Enterprise) has private mode enabled. + validRegex: '' + - id: $$cap_drone_runner_capacity + label: DRONE_RUNNER_CAPACITY + defaultValue: '2' + description: An integer defining the maximum number of pipelines the agent should execute concurrently. The default value is two pipelines. + validRegex: /^[0-9]+$/ + - id: $$cap_drone_server_proto + label: DRONE_SERVER_PROTO + defaultValue: https + description: A string containing your Drone server protocol scheme. This value should be set to http or https. This field defaults to https if you configure ssl or acme. + validRegex: /^([Hh][Tt][Tt][Pp]|[Hh][Tt][Tt][Pp][Ss])$/ + - id: $$cap_drone_server_host + label: DRONE_SERVER_HOST + defaultValue: drone.yourhost.com + description: A string containing your Drone server hostname or IP address. + validRegex: '' + - id: $$cap_drone_tls_autocert + label: DRONE_TLS_AUTOCERT + defaultValue: 'false' + description: An boolean indicating debug level logs should be use for automatic SSL certification generation and configuration. The default value is false.. + validRegex: /^([Tt][Rr][Uu][Ee]|[Ff][Aa][Ll][Ss][Ee])$/ + - id: $$cap_drone_secret + label: secret for linking drone and agent + description: some random secret here (min 10 characters) + defaultValue: '' + validRegex: /.{10,}/ + instructions: + start: >- + Drone is a self-service Continuous Delivery platform for busy development teams. It can be used with different GIT servers like gogs, gitea as well as services like gitlab and github. This installer is gitea focused and requires a running gitea instances (which you can install via one-click-apps in caprover). - Enter your Drone for Gitea configuration parameters and click on next. The process will take about a minute to finish. - end: > - Drone is deployed and available as $$cap_appname-server. + Enter your Drone for Gitea configuration parameters and click on next. The process will take about a minute to finish. + end: > + Drone is deployed and available as $$cap_appname-server. - IMPORTANT: It will take up to 2 minutes for Drone for Gitea to be ready. Before that, you might see 502 error page. - displayName: Drone.io - isOfficial: true - description: Drone is a self-service Continuous Delivery platform for busy development teams - documentation: Taken from https://docs.drone.io/intro/gitea/single-machine/ + IMPORTANT: It will take up to 2 minutes for Drone for Gitea to be ready. Before that, you might see 502 error page. + displayName: Drone.io + isOfficial: true + description: Drone is a self-service Continuous Delivery platform for busy development teams + documentation: Taken from https://docs.drone.io/intro/gitea/single-machine/ diff --git a/public/v4/apps/droppy.yml b/public/v4/apps/droppy.yml index 5607926..90e1099 100644 --- a/public/v4/apps/droppy.yml +++ b/public/v4/apps/droppy.yml @@ -1,25 +1,25 @@ captainVersion: 4 services: - $$cap_appname: - image: silverwind/droppy:$$cap_droppy_version - volumes: - - $$cap_appname-config:/config - - $$cap_appname-files:/files - restart: always - caproverExtra: - containerHttpPort: "8989" + $$cap_appname: + image: silverwind/droppy:$$cap_droppy_version + volumes: + - $$cap_appname-config:/config + - $$cap_appname-files:/files + restart: always + caproverExtra: + containerHttpPort: '8989' caproverOneClickApp: - variables: - - id: $$cap_droppy_version - label: droppy version tag - description: Checkout their docker page for the valid tags @ https://hub.docker.com/r/silverwind/droppy/tags - defaultValue: 11.1.0 - instructions: - start: droppy is a self-hosted file storage server with a web interface. - end: >- - droppy is deployed and available as $$cap_appname. + variables: + - id: $$cap_droppy_version + label: droppy version tag + description: Checkout their docker page for the valid tags @ https://hub.docker.com/r/silverwind/droppy/tags + defaultValue: 11.1.0 + instructions: + start: droppy is a self-hosted file storage server with a web interface. + end: >- + droppy is deployed and available as $$cap_appname. - IMPORTANT: It will take up to 2 minutes for droppy to be ready. Before that, you might see 502 error page. - displayName: "" - description: droppy is a self-hosted file storage server with a web interface - documentation: Read the documentation @ https://github.com/silverwind/droppy + IMPORTANT: It will take up to 2 minutes for droppy to be ready. Before that, you might see 502 error page. + displayName: '' + description: droppy is a self-hosted file storage server with a web interface + documentation: Read the documentation @ https://github.com/silverwind/droppy diff --git a/public/v4/apps/eclipse-mosquitto.yml b/public/v4/apps/eclipse-mosquitto.yml index 42f1e37..0722408 100644 --- a/public/v4/apps/eclipse-mosquitto.yml +++ b/public/v4/apps/eclipse-mosquitto.yml @@ -1,25 +1,25 @@ captainVersion: 4 services: - $$cap_appname: - image: eclipse-mosquitto:$$cap_eclipse_version - volumes: - - $$cap_appname-eclipse-config:/mosquitto/config/ - - $$cap_appname-eclipse-data:/mosquitto/data/ - - $$cap_appname-eclipse-log:/mosquitto/log/ - ports: [] - restart: always - caproverExtra: - notExposeAsWebApp: "true" + $$cap_appname: + image: eclipse-mosquitto:$$cap_eclipse_version + volumes: + - $$cap_appname-eclipse-config:/mosquitto/config/ + - $$cap_appname-eclipse-data:/mosquitto/data/ + - $$cap_appname-eclipse-log:/mosquitto/log/ + ports: [] + restart: always + caproverExtra: + notExposeAsWebApp: 'true' caproverOneClickApp: - variables: - - id: $$cap_eclipse_version - label: Eclipes-Mosquitto Image Version - defaultValue: latest - validRegex: /^([^\s^\/])+$/ - instructions: - start: Eclipse Mosquitto is an open source message broker which implements MQTT version 5, 3.1.1 and 3.1. Enter Parameters below - end: Eclipes-Mosquitto is deployed and available as srv-captain--$$cap_appname:1883 to other apps and srv-captain--$$cap_appname:9001 as a websocket. - displayName: Eclipse Mosquitto - A MQTT Broker - isOfficial: true - description: Eclipse Mosquitto is an open source message broker which implements MQTT version 5, 3.1.1 and 3.1 - documentation: Taken from https://github.com/eclipse/mosquitto. Mosquitto is an open source implementation of a server for version 5.0, 3.1.1, and 3.1 of the MQTT protocol. It also includes a C and C++ client library, and the mosquitto_pub and mosquitto_sub utilities for publishing and subscribing. + variables: + - id: $$cap_eclipse_version + label: Eclipes-Mosquitto Image Version + defaultValue: latest + validRegex: /^([^\s^\/])+$/ + instructions: + start: Eclipse Mosquitto is an open source message broker which implements MQTT version 5, 3.1.1 and 3.1. Enter Parameters below + end: Eclipes-Mosquitto is deployed and available as srv-captain--$$cap_appname:1883 to other apps and srv-captain--$$cap_appname:9001 as a websocket. + displayName: Eclipse Mosquitto - A MQTT Broker + isOfficial: true + description: Eclipse Mosquitto is an open source message broker which implements MQTT version 5, 3.1.1 and 3.1 + documentation: Taken from https://github.com/eclipse/mosquitto. Mosquitto is an open source implementation of a server for version 5.0, 3.1.1, and 3.1 of the MQTT protocol. It also includes a C and C++ client library, and the mosquitto_pub and mosquitto_sub utilities for publishing and subscribing. diff --git a/public/v4/apps/elasticsearch.yml b/public/v4/apps/elasticsearch.yml index 004c557..108f181 100644 --- a/public/v4/apps/elasticsearch.yml +++ b/public/v4/apps/elasticsearch.yml @@ -1,62 +1,62 @@ captainVersion: 4 services: - $$cap_appname: - image: docker.elastic.co/elasticsearch/elasticsearch:$$cap_elasticsearch_version - volumes: - - $$cap_appname-elasticsearch-data:/usr/share/elasticsearch/data - restart: always - environment: - ES_JAVA_OPTS: -Xms512m -Xmx512m - cluster.name: $$cap_elasticsearch_cluster_name - cluster.initial_master_nodes: $$cap_elasticsearch_cluster_initial_master_nodes - http.port: $$cap_container_port - node.name: $$cap_appname - node.master: $$cap_elasticsearch_node_master - node.data: $$cap_elasticsearch_node_data - discovery.seed_hosts: $$cap_elasticsearch_discovery_seed_hosts - caproverExtra: - containerHttpPort: $$cap_container_port + $$cap_appname: + image: docker.elastic.co/elasticsearch/elasticsearch:$$cap_elasticsearch_version + volumes: + - $$cap_appname-elasticsearch-data:/usr/share/elasticsearch/data + restart: always + environment: + ES_JAVA_OPTS: -Xms512m -Xmx512m + cluster.name: $$cap_elasticsearch_cluster_name + cluster.initial_master_nodes: $$cap_elasticsearch_cluster_initial_master_nodes + http.port: $$cap_container_port + node.name: $$cap_appname + node.master: $$cap_elasticsearch_node_master + node.data: $$cap_elasticsearch_node_data + discovery.seed_hosts: $$cap_elasticsearch_discovery_seed_hosts + caproverExtra: + containerHttpPort: $$cap_container_port caproverOneClickApp: - variables: - - id: $$cap_elasticsearch_version - label: "Elasticsearch Version Tag " - description: "Checkout the releases overview: https://www.elastic.co/de/downloads/elasticsearch" - defaultValue: 7.8.0 - validRegex: /^([^\s^\/])+$/ - - id: $$cap_elasticsearch_cluster_name - label: Cluster Name - description: Only nodes within the same cluster name can be combined - defaultValue: elasticsearch-cluster - validRegex: /^([^\s^\/])+$/ - - id: $$cap_elasticsearch_cluster_initial_master_nodes - label: Cluster Initial Master Nodes - description: Nodes to be used as master nodes. If this is the master node, put the 'App Name' selected above - defaultValue: "" - validRegex: /^([^\s^\/])+$/ - - id: $$cap_elasticsearch_node_data - label: Node Data - description: Should the node used for storing data? (true / false) - defaultValue: "true" - validRegex: /^([^\s^\/])+$/ - - id: $$cap_elasticsearch_node_master - label: Node Master - description: Define node as master-eligible (usual first node TRUE, others FALSE). - defaultValue: "true" - validRegex: /^([^\s^\/])+$/ - - id: $$cap_elasticsearch_discovery_seed_hosts - label: Discovery seed hosts - defaultValue: srv-captain--XXX - description: Domains to start the discovery of other nodes - validRegex: /^([^\s^\/])+$/ - - id: $$cap_container_port - label: Container TCP Port - defaultValue: "9200" - description: Internal port for Elasticsearch the container listens to. - validRegex: /^([0-9])+$/ - instructions: - start: "Elasticsearch is a distributed, RESTful search and analytics engine. This image can be used for single nodes and cluster setups. IMPORTANT: Be sure to extend the virtual memory on all your hosts! (increase \"echo 'vm.max_map_count=262144' >> /etc/sysctl.conf\" and restart \"sysctl -p\")" - end: "Deployment of Elasticsearch is finished. You might see 502 errors for the next 2 minutes. Goto /_cat/health to check the health of your cluster. IMPORTANT: Be sure to extend the virtual memory on all your hosts! (increase \"echo 'vm.max_map_count=262144' >> /etc/sysctl.conf\" and restart \"sysctl -p\")" - displayName: "" - isOfficial: true - description: Elasticsearch is a search engine based on the Lucene library - documentation: Look at https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html for further assistance using Elasticsearch with docker. + variables: + - id: $$cap_elasticsearch_version + label: 'Elasticsearch Version Tag ' + description: 'Checkout the releases overview: https://www.elastic.co/de/downloads/elasticsearch' + defaultValue: 7.8.0 + validRegex: /^([^\s^\/])+$/ + - id: $$cap_elasticsearch_cluster_name + label: Cluster Name + description: Only nodes within the same cluster name can be combined + defaultValue: elasticsearch-cluster + validRegex: /^([^\s^\/])+$/ + - id: $$cap_elasticsearch_cluster_initial_master_nodes + label: Cluster Initial Master Nodes + description: Nodes to be used as master nodes. If this is the master node, put the 'App Name' selected above + defaultValue: '' + validRegex: /^([^\s^\/])+$/ + - id: $$cap_elasticsearch_node_data + label: Node Data + description: Should the node used for storing data? (true / false) + defaultValue: 'true' + validRegex: /^([^\s^\/])+$/ + - id: $$cap_elasticsearch_node_master + label: Node Master + description: Define node as master-eligible (usual first node TRUE, others FALSE). + defaultValue: 'true' + validRegex: /^([^\s^\/])+$/ + - id: $$cap_elasticsearch_discovery_seed_hosts + label: Discovery seed hosts + defaultValue: srv-captain--XXX + description: Domains to start the discovery of other nodes + validRegex: /^([^\s^\/])+$/ + - id: $$cap_container_port + label: Container TCP Port + defaultValue: '9200' + description: Internal port for Elasticsearch the container listens to. + validRegex: /^([0-9])+$/ + instructions: + start: 'Elasticsearch is a distributed, RESTful search and analytics engine. This image can be used for single nodes and cluster setups. IMPORTANT: Be sure to extend the virtual memory on all your hosts! (increase "echo ''vm.max_map_count=262144'' >> /etc/sysctl.conf" and restart "sysctl -p")' + end: 'Deployment of Elasticsearch is finished. You might see 502 errors for the next 2 minutes. Goto /_cat/health to check the health of your cluster. IMPORTANT: Be sure to extend the virtual memory on all your hosts! (increase "echo ''vm.max_map_count=262144'' >> /etc/sysctl.conf" and restart "sysctl -p")' + displayName: '' + isOfficial: true + description: Elasticsearch is a search engine based on the Lucene library + documentation: Look at https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html for further assistance using Elasticsearch with docker. diff --git a/public/v4/apps/etesync.yml b/public/v4/apps/etesync.yml index 2f93592..0a388a1 100644 --- a/public/v4/apps/etesync.yml +++ b/public/v4/apps/etesync.yml @@ -1,37 +1,37 @@ captainVersion: 4 services: - $$cap_appname: - image: grburst/etesync:$$cap_version - volumes: - - $$cap_appname-data:/data - restart: always - environment: - SUPER_USER: $$cap_SUPER_USER - SUPER_EMAIL: $$cap_SUPER_EMAIL - SUPER_PASS: $$cap_SUPER_PASS - caproverExtra: - containerHttpPort: "3735" + $$cap_appname: + image: grburst/etesync:$$cap_version + volumes: + - $$cap_appname-data:/data + restart: always + environment: + SUPER_USER: $$cap_SUPER_USER + SUPER_EMAIL: $$cap_SUPER_EMAIL + SUPER_PASS: $$cap_SUPER_PASS + caproverExtra: + containerHttpPort: '3735' caproverOneClickApp: - variables: - - id: $$cap_version - label: version tag - description: Checkout their docker page for the valid tags @ https://hub.docker.com/r/grburst/etesync - defaultValue: alpine - - id: $$cap_SUPER_USER - label: user name - description: etesync super user name - defaultValue: root - - id: $$cap_SUPER_EMAIL - label: email - description: etesync super user email - defaultValue: x@x.com - - id: $$cap_SUPER_PASS - label: password - description: etesync super user password - validRegex: /^([a-zA-Z0-9])+$/ - instructions: - start: ETESync is a open source and privacy focuse sync service - end: Deployment of ETEsync is finished. You might see 502 errors for the next 2 minutes. Goto /admin to manage your users for ETEsync. - displayName: ETESync - description: ETESync is a self hosted syning solution, it is secure, end-to-end encrypted, and privacy respecting sync for your contacts, calendars and tasks. - documentation: Read the documentation @ https://github.com/GRBurst/docker-etesync-server + variables: + - id: $$cap_version + label: version tag + description: Checkout their docker page for the valid tags @ https://hub.docker.com/r/grburst/etesync + defaultValue: alpine + - id: $$cap_SUPER_USER + label: user name + description: etesync super user name + defaultValue: root + - id: $$cap_SUPER_EMAIL + label: email + description: etesync super user email + defaultValue: x@x.com + - id: $$cap_SUPER_PASS + label: password + description: etesync super user password + validRegex: /^([a-zA-Z0-9])+$/ + instructions: + start: ETESync is a open source and privacy focuse sync service + end: Deployment of ETEsync is finished. You might see 502 errors for the next 2 minutes. Goto /admin to manage your users for ETEsync. + displayName: ETESync + description: ETESync is a self hosted syning solution, it is secure, end-to-end encrypted, and privacy respecting sync for your contacts, calendars and tasks. + documentation: Read the documentation @ https://github.com/GRBurst/docker-etesync-server diff --git a/public/v4/apps/etherpad.yml b/public/v4/apps/etherpad.yml index 4e0297e..ce6337a 100644 --- a/public/v4/apps/etherpad.yml +++ b/public/v4/apps/etherpad.yml @@ -1,52 +1,52 @@ captainVersion: 4 services: - $$cap_appname: - image: etherpad/etherpad:$$cap_etherpad_version - depends_on: - - $$cap_appname-db - environment: - NODE_ENV: production - DB_TYPE: mysql - DB_HOST: srv-captain--$$cap_appname-db - DB_PORT: "3306" - DB_NAME: etherpad - DB_USER: etherpad - DB_PASS: $$cap_db_pass - DB_CHARSET: utf8mb4 - TRUST_PROXY: "true" - caproverExtra: - containerHttpPort: "9001" - $$cap_appname-db: - image: mysql:$$cap_mysql_version - volumes: - - $$cap_appname-db-data:/var/lib/mysql - restart: always - environment: - MYSQL_ROOT_PASSWORD: $$cap_db_pass - MYSQL_DATABASE: etherpad - MYSQL_USER: etherpad - MYSQL_PASSWORD: $$cap_db_pass - caproverExtra: - notExposeAsWebApp: "true" + $$cap_appname: + image: etherpad/etherpad:$$cap_etherpad_version + depends_on: + - $$cap_appname-db + environment: + NODE_ENV: production + DB_TYPE: mysql + DB_HOST: srv-captain--$$cap_appname-db + DB_PORT: '3306' + DB_NAME: etherpad + DB_USER: etherpad + DB_PASS: $$cap_db_pass + DB_CHARSET: utf8mb4 + TRUST_PROXY: 'true' + caproverExtra: + containerHttpPort: '9001' + $$cap_appname-db: + image: mysql:$$cap_mysql_version + volumes: + - $$cap_appname-db-data:/var/lib/mysql + restart: always + environment: + MYSQL_ROOT_PASSWORD: $$cap_db_pass + MYSQL_DATABASE: etherpad + MYSQL_USER: etherpad + MYSQL_PASSWORD: $$cap_db_pass + caproverExtra: + notExposeAsWebApp: 'true' caproverOneClickApp: - variables: - - id: $$cap_etherpad_version - label: Etherpad Docker Image - defaultValue: 1.8.0 - description: Check out their Docker page for the valid tags https://hub.docker.com/r/etherpad/etherpad/tags - default is 1.8.0 as of 2020-04-09 - - id: $$cap_db_pass - label: Database password - description: "" - validRegex: /.{1,}/ - - id: $$cap_mysql_version - label: MySQL Version - defaultValue: "5.7" - description: Check out their Docker page for the valid tags https://hub.docker.com/r/library/mysql/tags/ - validRegex: /^([^\s^\/])+$/ - instructions: - start: Etherpad is a real-time collaborative editor for the web - end: Etherpad is a real-time collaborative editor for the web is deployed and available as srv-captain--$$cap_appname. Note that the application may take some time to become available. - displayName: Etherpad - isOfficial: true - description: Etherpad is a real-time collaborative editor for the web - documentation: "https://github.com/ether/etherpad-lite/blob/develop/doc/docker.md " + variables: + - id: $$cap_etherpad_version + label: Etherpad Docker Image + defaultValue: 1.8.0 + description: Check out their Docker page for the valid tags https://hub.docker.com/r/etherpad/etherpad/tags - default is 1.8.0 as of 2020-04-09 + - id: $$cap_db_pass + label: Database password + description: '' + validRegex: /.{1,}/ + - id: $$cap_mysql_version + label: MySQL Version + defaultValue: '5.7' + description: Check out their Docker page for the valid tags https://hub.docker.com/r/library/mysql/tags/ + validRegex: /^([^\s^\/])+$/ + instructions: + start: Etherpad is a real-time collaborative editor for the web + end: Etherpad is a real-time collaborative editor for the web is deployed and available as srv-captain--$$cap_appname. Note that the application may take some time to become available. + displayName: Etherpad + isOfficial: true + description: Etherpad is a real-time collaborative editor for the web + documentation: 'https://github.com/ether/etherpad-lite/blob/develop/doc/docker.md ' diff --git a/public/v4/apps/filebrowser.yml b/public/v4/apps/filebrowser.yml index 2593eee..3e634e4 100644 --- a/public/v4/apps/filebrowser.yml +++ b/public/v4/apps/filebrowser.yml @@ -1,58 +1,58 @@ captainVersion: 4 services: - $$cap_appname: - volumes: - - $$cap_appname-database:/database - - $$cap_appname-files:/srv - restart: always - environment: {} - caproverExtra: - dockerfileLines: - - FROM alpine:latest as helper - - "# Similar to the original file, except, /database.db is inside a directory now so that we can assign a volume to it." - - RUN echo "{'port':80,'baseURL':'','address':'','log':'stdout','database':'/database/database.db','root':'/srv'}" | sed "s/\'/\"/g" >/.edited.json - - FROM filebrowser/filebrowser:$$cap_filebrowser_version - - COPY --from=helper /.edited.json /.filebrowser.json + $$cap_appname: + volumes: + - $$cap_appname-database:/database + - $$cap_appname-files:/srv + restart: always + environment: {} + caproverExtra: + dockerfileLines: + - FROM alpine:latest as helper + - '# Similar to the original file, except, /database.db is inside a directory now so that we can assign a volume to it.' + - RUN echo "{'port':80,'baseURL':'','address':'','log':'stdout','database':'/database/database.db','root':'/srv'}" | sed "s/\'/\"/g" >/.edited.json + - FROM filebrowser/filebrowser:$$cap_filebrowser_version + - COPY --from=helper /.edited.json /.filebrowser.json caproverOneClickApp: - variables: - - id: $$cap_filebrowser_version - label: File Browser Version Tag - description: "Check out their Docker page for the valid tags: https://hub.docker.com/r/filebrowser/filebrowser/tags" - defaultValue: v2.0.16 - validRegex: /^([^\s^\/])+$/ - instructions: - start: >- - filebrowser provides a file managing interface within a specified directory and it can be used to upload, delete, preview, rename and edit your files. It allows the creation of multiple users and each user can have its own directory. + variables: + - id: $$cap_filebrowser_version + label: File Browser Version Tag + description: 'Check out their Docker page for the valid tags: https://hub.docker.com/r/filebrowser/filebrowser/tags' + defaultValue: v2.0.16 + validRegex: /^([^\s^\/])+$/ + instructions: + start: >- + filebrowser provides a file managing interface within a specified directory and it can be used to upload, delete, preview, rename and edit your files. It allows the creation of multiple users and each user can have its own directory. - IMPORTANT: + IMPORTANT: - The default image maps an empty volume to FileBrowser in order to avoid exposing your files, but after you finished installation and changed the password you can mount the root directory of host. i.e. / to /srv in the app. - end: >- - Important! Read this and take a screenshot so you can refer to it! + The default image maps an empty volume to FileBrowser in order to avoid exposing your files, but after you finished installation and changed the password you can mount the root directory of host. i.e. / to /srv in the app. + end: >- + Important! Read this and take a screenshot so you can refer to it! - username and password are both "admin". + username and password are both "admin". - By default, $$cap_appname-files volume, which is an empty directory, is mapped to your file browser content which is at /srv inside the app. To change this: + By default, $$cap_appname-files volume, which is an empty directory, is mapped to your file browser content which is at /srv inside the app. To change this: - 1- Go to FileBrowser and change password to something else to avoid having your files exposed + 1- Go to FileBrowser and change password to something else to avoid having your files exposed - 2- Go to CapRover > Apps > FileBrowser > App Config tab and change $$cap_appname-files to + 2- Go to CapRover > Apps > FileBrowser > App Config tab and change $$cap_appname-files to - 2a) some other volume name such as "cap_name-myappvolume" if you want to view the content of that volume + 2a) some other volume name such as "cap_name-myappvolume" if you want to view the content of that volume - 2b) "/some/existing/path/on/host" if you want to view a specific path on the host. + 2b) "/some/existing/path/on/host" if you want to view a specific path on the host. - 2c) "/" to view the entire content of your host! + 2c) "/" to view the entire content of your host! - Don't change the "/srv" part of the mapping. "/srv" is the directory inside FileBrowser which is used to display content in FileBrowser. - displayName: "" - isOfficial: true - description: filebrowser provides a file managing interface within a specified directory and it can be used to upload, delete, preview, rename and edit your files with supports for multi users. - documentation: Taken from https://filebrowser.xyz/installation#docker except moved the database to a directory to be able to associate with a volume + Don't change the "/srv" part of the mapping. "/srv" is the directory inside FileBrowser which is used to display content in FileBrowser. + displayName: '' + isOfficial: true + description: filebrowser provides a file managing interface within a specified directory and it can be used to upload, delete, preview, rename and edit your files with supports for multi users. + documentation: Taken from https://filebrowser.xyz/installation#docker except moved the database to a directory to be able to associate with a volume diff --git a/public/v4/apps/filestash.yml b/public/v4/apps/filestash.yml index ab7105c..a8b33a2 100644 --- a/public/v4/apps/filestash.yml +++ b/public/v4/apps/filestash.yml @@ -1,21 +1,21 @@ captainVersion: 4 services: - $$cap_appname: - image: machines/filestash:$$cap_filestash_version - volumes: - - $$cap_appname-app-data-state:/app/data/state - restart: always - caproverExtra: - containerHttpPort: "8334" + $$cap_appname: + image: machines/filestash:$$cap_filestash_version + volumes: + - $$cap_appname-app-data-state:/app/data/state + restart: always + caproverExtra: + containerHttpPort: '8334' caproverOneClickApp: - variables: - - id: $$cap_filestash_version - label: Filestash Version - defaultValue: b7b45f2 - description: Check out their Docker page for the valid tags https://hub.docker.com/r/machines/filestash/tags - instructions: - start: Filestash is a modern web client for SFTP, S3, FTP, WebDAV, Git, Minio, LDAP, CalDAV, CardDAV, Mysql, Backblaze, ... - end: Filestash is deployed and available as srv-captain--$$cap_appname-db:8334 to other apps. - displayName: Filestash - description: A modern web client for SFTP, S3, FTP, WebDAV, Git, Minio, LDAP, CalDAV, CardDAV, Mysql, Backblaze, ... - documentation: Filestash https://www.filestash.app + variables: + - id: $$cap_filestash_version + label: Filestash Version + defaultValue: b7b45f2 + description: Check out their Docker page for the valid tags https://hub.docker.com/r/machines/filestash/tags + instructions: + start: Filestash is a modern web client for SFTP, S3, FTP, WebDAV, Git, Minio, LDAP, CalDAV, CardDAV, Mysql, Backblaze, ... + end: Filestash is deployed and available as srv-captain--$$cap_appname-db:8334 to other apps. + displayName: Filestash + description: A modern web client for SFTP, S3, FTP, WebDAV, Git, Minio, LDAP, CalDAV, CardDAV, Mysql, Backblaze, ... + documentation: Filestash https://www.filestash.app diff --git a/public/v4/apps/firefly-iii.yml b/public/v4/apps/firefly-iii.yml index ffb8cd6..54d8460 100644 --- a/public/v4/apps/firefly-iii.yml +++ b/public/v4/apps/firefly-iii.yml @@ -1,71 +1,71 @@ captainVersion: 4 services: - $$cap_appname: - image: jc5x/firefly-iii:$$cap_firefly_version - 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 - caproverExtra: - containerHttpPort: "8080" - $$cap_appname-db: - image: mariadb:$$cap_mariadb_version - 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 - caproverExtra: - notExposeAsWebApp: "true" + $$cap_appname: + image: jc5x/firefly-iii:$$cap_firefly_version + 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 + caproverExtra: + containerHttpPort: '8080' + $$cap_appname-db: + image: mariadb:$$cap_mariadb_version + 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 + caproverExtra: + notExposeAsWebApp: 'true' caproverOneClickApp: - 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}$/ - 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 - displayName: Firefly III - description: Firefly III - A free and open source personal finance manager - documentation: Taken from https://docs.firefly-iii.org/installation/docker + 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}$/ + 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 + displayName: Firefly III + description: Firefly III - A free and open source personal finance manager + documentation: Taken from https://docs.firefly-iii.org/installation/docker diff --git a/public/v4/apps/fusionauth.yml b/public/v4/apps/fusionauth.yml index fcec06e..3a70153 100644 --- a/public/v4/apps/fusionauth.yml +++ b/public/v4/apps/fusionauth.yml @@ -1,124 +1,124 @@ captainVersion: 4 services: - $$cap_appname-db: - image: postgres:$$cap_postgres_version - environment: - POSTGRES_USER: $$cap_db_user - POSTGRES_PASSWORD: $$cap_db_pass - POSTGRES_DB: fusionauth - restart: unless-stopped - volumes: - - $$cap_appname-db-data:/var/lib/postgresql/data - caproverExtra: - notExposeAsWebApp: "true" - $$cap_appname-elasticsearch: - image: docker.elastic.co/elasticsearch/elasticsearch:$$cap_elasticsearch_version - volumes: - - $$cap_appname-elasticsearch-data:/usr/share/elasticsearch/data - restart: always - environment: - ES_JAVA_OPTS: -Xms512m -Xmx512m - cluster.name: $$cap_elasticsearch_cluster_name - http.port: $$cap_container_search_port - node.master: $$cap_elasticsearch_node_master - node.data: $$cap_elasticsearch_node_data - discovery.type: single-node - discovery.zen.minimum_master_nodes: $$cap_elasticsearch_minimum_master_nodes - discovery.zen.ping.unicast.hosts: $$cap_elasticsearch_unicast_hosts - caproverExtra: - containerHttpPort: $$cap_container_search_port - $$cap_appname-fusionauth: - image: fusionauth/fusionauth-app:$$cap_fusionauth_version - depends_on: - - $$cap_appname-db - - $$cap_appname-elasticsearch - environment: - DATABASE_URL: jdbc:postgresql://srv-captain--$$cap_appname-db:5432/fusionauth - DATABASE_ROOT_USER: $$cap_db_user - DATABASE_ROOT_PASSWORD: $$cap_db_pass - DATABASE_USER: $$cap_db_user - DATABASE_PASSWORD: $$cap_db_pass - FUSIONAUTH_MEMORY: $$cap_fusion_memory - FUSIONAUTH_SEARCH_SERVERS: http://srv-captain--$$cap_appname-elasticsearch:9200 - FUSIONAUTH_URL: http://srv-captain--$$cap_appname-fusionauth:9011 - restart: unless-stopped - volumes: - - $$cap_appname-fusionauth-config:/usr/local/fusionauth/config - caproverExtra: - containerHttpPort: $$cap_container_port + $$cap_appname-db: + image: postgres:$$cap_postgres_version + environment: + POSTGRES_USER: $$cap_db_user + POSTGRES_PASSWORD: $$cap_db_pass + POSTGRES_DB: fusionauth + restart: unless-stopped + volumes: + - $$cap_appname-db-data:/var/lib/postgresql/data + caproverExtra: + notExposeAsWebApp: 'true' + $$cap_appname-elasticsearch: + image: docker.elastic.co/elasticsearch/elasticsearch:$$cap_elasticsearch_version + volumes: + - $$cap_appname-elasticsearch-data:/usr/share/elasticsearch/data + restart: always + environment: + ES_JAVA_OPTS: -Xms512m -Xmx512m + cluster.name: $$cap_elasticsearch_cluster_name + http.port: $$cap_container_search_port + node.master: $$cap_elasticsearch_node_master + node.data: $$cap_elasticsearch_node_data + discovery.type: single-node + discovery.zen.minimum_master_nodes: $$cap_elasticsearch_minimum_master_nodes + discovery.zen.ping.unicast.hosts: $$cap_elasticsearch_unicast_hosts + caproverExtra: + containerHttpPort: $$cap_container_search_port + $$cap_appname-fusionauth: + image: fusionauth/fusionauth-app:$$cap_fusionauth_version + depends_on: + - $$cap_appname-db + - $$cap_appname-elasticsearch + environment: + DATABASE_URL: jdbc:postgresql://srv-captain--$$cap_appname-db:5432/fusionauth + DATABASE_ROOT_USER: $$cap_db_user + DATABASE_ROOT_PASSWORD: $$cap_db_pass + DATABASE_USER: $$cap_db_user + DATABASE_PASSWORD: $$cap_db_pass + FUSIONAUTH_MEMORY: $$cap_fusion_memory + FUSIONAUTH_SEARCH_SERVERS: http://srv-captain--$$cap_appname-elasticsearch:9200 + FUSIONAUTH_URL: http://srv-captain--$$cap_appname-fusionauth:9011 + restart: unless-stopped + volumes: + - $$cap_appname-fusionauth-config:/usr/local/fusionauth/config + caproverExtra: + containerHttpPort: $$cap_container_port caproverOneClickApp: - variables: - - id: $$cap_db_user - label: Database user - defaultValue: fusion - validRegex: /^([a-zA-Z0-9])+$/ - - id: $$cap_db_pass - label: Database password - description: "" - validRegex: /.{1,}/ - - id: $$cap_fusionauth_version - label: FusionAuth Version - defaultValue: 1.7.2 - description: "See tags at: https://hub.docker.com/r/fusionauth/fusionauth-app/tags" - validRegex: /^([^\s^\/])+$/ - - id: $$cap_fusion_memory - label: Fusion Memory - defaultValue: 256M - description: "" - validRegex: /^([a-zA-Z0-9])+$/ - - id: $$cap_postgres_version - label: Postgres Version - defaultValue: "9.6" - description: "" - validRegex: /^([^\s^\/])+$/ - - id: $$cap_container_port - label: Container TCP Port - defaultValue: "9011" - description: Internal port for Fusion Auth container to listens to. - validRegex: /^([0-9])+$/ - - id: $$cap_container_search_port - label: Container TCP Port - defaultValue: "9200" - description: Internal port for Elasticsearch the container listens to. - validRegex: /^([0-9])+$/ - - id: $$cap_elasticsearch_version - label: "Elasticsearch Version Tag " - description: "Checkout the releases overview: https://www.elastic.co/de/downloads/elasticsearch" - defaultValue: 6.7.1 - validRegex: /^([^\s^\/])+$/ - - id: $$cap_elasticsearch_cluster_name - label: Cluster Name - description: Only nodes within the same cluster name can be combined - defaultValue: elasticsearch-cluster - validRegex: /^([^\s^\/])+$/ - - id: $$cap_elasticsearch_unicast_hosts - label: Unicasts hosts - description: "References to other node to attach to. (for example: srv-captain--XXX)" - defaultValue: "false" - validRegex: /^([^\s^\/])+$/ - - id: $$cap_elasticsearch_node_data - label: Node Data - description: Should the node used for storing data? (true / false) - defaultValue: "true" - validRegex: /^([^\s^\/])+$/ - - id: $$cap_elasticsearch_node_master - label: Node Master - description: Define node as master-eligible (usual first node YES, others NO). - defaultValue: "true" - validRegex: /^([^\s^\/])+$/ - - id: $$cap_elasticsearch_minimum_master_nodes - label: Minimum Master Nodes - description: "Define minimum amount of master (N) ( best practice: ceil(N/2 + 1) )." - defaultValue: "1" - validRegex: /^([0-9])+$/ - instructions: - start: >- - NOTE: This app requires at least 4GB of RAM. Without this requirement it fails to start up. + variables: + - id: $$cap_db_user + label: Database user + defaultValue: fusion + validRegex: /^([a-zA-Z0-9])+$/ + - id: $$cap_db_pass + label: Database password + description: '' + validRegex: /.{1,}/ + - id: $$cap_fusionauth_version + label: FusionAuth Version + defaultValue: 1.7.2 + description: 'See tags at: https://hub.docker.com/r/fusionauth/fusionauth-app/tags' + validRegex: /^([^\s^\/])+$/ + - id: $$cap_fusion_memory + label: Fusion Memory + defaultValue: 256M + description: '' + validRegex: /^([a-zA-Z0-9])+$/ + - id: $$cap_postgres_version + label: Postgres Version + defaultValue: '9.6' + description: '' + validRegex: /^([^\s^\/])+$/ + - id: $$cap_container_port + label: Container TCP Port + defaultValue: '9011' + description: Internal port for Fusion Auth container to listens to. + validRegex: /^([0-9])+$/ + - id: $$cap_container_search_port + label: Container TCP Port + defaultValue: '9200' + description: Internal port for Elasticsearch the container listens to. + validRegex: /^([0-9])+$/ + - id: $$cap_elasticsearch_version + label: 'Elasticsearch Version Tag ' + description: 'Checkout the releases overview: https://www.elastic.co/de/downloads/elasticsearch' + defaultValue: 6.7.1 + validRegex: /^([^\s^\/])+$/ + - id: $$cap_elasticsearch_cluster_name + label: Cluster Name + description: Only nodes within the same cluster name can be combined + defaultValue: elasticsearch-cluster + validRegex: /^([^\s^\/])+$/ + - id: $$cap_elasticsearch_unicast_hosts + label: Unicasts hosts + description: 'References to other node to attach to. (for example: srv-captain--XXX)' + defaultValue: 'false' + validRegex: /^([^\s^\/])+$/ + - id: $$cap_elasticsearch_node_data + label: Node Data + description: Should the node used for storing data? (true / false) + defaultValue: 'true' + validRegex: /^([^\s^\/])+$/ + - id: $$cap_elasticsearch_node_master + label: Node Master + description: Define node as master-eligible (usual first node YES, others NO). + defaultValue: 'true' + validRegex: /^([^\s^\/])+$/ + - id: $$cap_elasticsearch_minimum_master_nodes + label: Minimum Master Nodes + description: 'Define minimum amount of master (N) ( best practice: ceil(N/2 + 1) ).' + defaultValue: '1' + validRegex: /^([0-9])+$/ + instructions: + start: >- + NOTE: This app requires at least 4GB of RAM. Without this requirement it fails to start up. - FusionAuth is a modern platform for Customer Identity and Access Management (CIAM). FusionAuth provides APIs and a responsive web user interface to support login, registration, localized email, multi-factor authentication, reporting and much more. See: https://fusionauth.io/docs/v1/tech/getting-started/ and https://github.com/FusionAuth/fusionauth-containers - end: FusionAuth is deployed and available as srv-captain--$$cap_appname-fusionauth:9011 to other apps - displayName: FusionAuth - isOfficial: true - description: FusionAuth is a scalable, identity and user management platform built for devs - documentation: "Adapted from: https://github.com/FusionAuth/fusionauth-containers" + FusionAuth is a modern platform for Customer Identity and Access Management (CIAM). FusionAuth provides APIs and a responsive web user interface to support login, registration, localized email, multi-factor authentication, reporting and much more. See: https://fusionauth.io/docs/v1/tech/getting-started/ and https://github.com/FusionAuth/fusionauth-containers + end: FusionAuth is deployed and available as srv-captain--$$cap_appname-fusionauth:9011 to other apps + displayName: FusionAuth + isOfficial: true + description: FusionAuth is a scalable, identity and user management platform built for devs + documentation: 'Adapted from: https://github.com/FusionAuth/fusionauth-containers' diff --git a/public/v4/apps/ghost-only.yml b/public/v4/apps/ghost-only.yml index 7512968..ab93125 100644 --- a/public/v4/apps/ghost-only.yml +++ b/public/v4/apps/ghost-only.yml @@ -1,110 +1,110 @@ captainVersion: 4 services: - $$cap_appname: - environment: - GHOST_DATABASE_NAME: $$cap_ghost_database_name - GHOST_DATABASE_PASSWORD: $$cap_ghost_database_password - GHOST_DATABASE_USER: $$cap_ghost_database_user - GHOST_EMAIL: $$cap_ghost_email - GHOST_HOST: $$cap_ghost_host - GHOST_PASSWORD: $$cap_ghost_password - GHOST_PROTOCOL: $$cap_ghost_protocol - GHOST_PORT_NUMBER: $$cap_ghost_port - MARIADB_HOST: $$cap_mariadb_host - MARIADB_PORT_NUMBER: $$cap_mariadb_port_number - SMTP_FROM_ADDRESS: $$cap_ghost_smtp_from - SMTP_HOST: $$cap_ghost_smtp_host - SMTP_PASSWORD: $$cap_ghost_smtp_password - SMTP_PORT: $$cap_ghost_smtp_port - SMTP_SERVICE: $$cap_ghost_smtp_service - SMTP_USER: $$cap_ghost_smtp_user - image: bitnami/ghost:$$cap_ghost_version - restart: always - volumes: - - $$cap_appname-data:/bitnami - caproverExtra: - containerHttpPort: "2368" + $$cap_appname: + environment: + GHOST_DATABASE_NAME: $$cap_ghost_database_name + GHOST_DATABASE_PASSWORD: $$cap_ghost_database_password + GHOST_DATABASE_USER: $$cap_ghost_database_user + GHOST_EMAIL: $$cap_ghost_email + GHOST_HOST: $$cap_ghost_host + GHOST_PASSWORD: $$cap_ghost_password + GHOST_PROTOCOL: $$cap_ghost_protocol + GHOST_PORT_NUMBER: $$cap_ghost_port + MARIADB_HOST: $$cap_mariadb_host + MARIADB_PORT_NUMBER: $$cap_mariadb_port_number + SMTP_FROM_ADDRESS: $$cap_ghost_smtp_from + SMTP_HOST: $$cap_ghost_smtp_host + SMTP_PASSWORD: $$cap_ghost_smtp_password + SMTP_PORT: $$cap_ghost_smtp_port + SMTP_SERVICE: $$cap_ghost_smtp_service + SMTP_USER: $$cap_ghost_smtp_user + image: bitnami/ghost:$$cap_ghost_version + restart: always + volumes: + - $$cap_appname-data:/bitnami + caproverExtra: + containerHttpPort: '2368' caproverOneClickApp: - variables: - - defaultValue: 3.4.0 - description: Check out their Docker page for the valid tags https://hub.docker.com/r/bitnami/ghost/tags - id: $$cap_ghost_version - label: Ghost Version - validRegex: /^([^\s^\/])+$/ - - description: Maria DB Host - defaultValue: localhost - id: $$cap_mariadb_host - label: Maria DB Host - - description: Maria DB port - defaultValue: "3306" - id: $$cap_mariadb_port_number - label: MariaDB user - - description: Database name - defaultValue: ghost - id: $$cap_ghost_database_name - label: MariaDB Database name - validRegex: /^([^\s^\/])+$/ - - description: User for database - id: $$cap_ghost_database_user - label: MariaDB User - validRegex: /^([^\s^\/])+$/ - - description: Password for database - id: $$cap_ghost_database_password - label: MariaDB Ghost password - validRegex: /^(?=.*\d).{10,}$/ - - defaultValue: youremail@example.com - description: Ghost application email, you will use it to login - id: $$cap_ghost_email - label: Ghost email - validRegex: /^([^\s^\/])+$/ - - description: The admin password must be at least 10 characters, and at least one number and letter - id: $$cap_ghost_password - label: Ghost password - validRegex: /^(?=.*\d).{10,}$/ - - defaultValue: blog.example.com - description: Enter the URL that is used to access your publication - id: $$cap_ghost_host - label: Ghost Host - validRegex: /^([^\s^\/])+$/ - - defaultValue: http - description: Protocol that you will be using - id: $$cap_ghost_protocol - label: Ghost Protocol - validRegex: /^([^\s^\/])+$/ - - defaultValue: "80" - description: Port that you will be using - id: $$cap_ghost_port - label: Ghost Port - - defaultValue: GMail - description: Ghost uses node mailer, check this docs https://docs.ghost.org/concepts/config/#mail - id: $$cap_ghost_smtp_service - label: STMP service to use - - defaultValue: smtp.gmail.com - description: The STMP host you will be using - id: $$cap_ghost_smtp_host - label: STMP host - - defaultValue: "465" - description: The SMTP port you will be using - id: $$cap_ghost_smtp_port - label: SMTP port - - defaultValue: your_email@gmail.com - description: Your user on the SMTP service - id: $$cap_ghost_smtp_user - label: SMTP user - - description: Your password on the SMTP service - id: $$cap_ghost_smtp_password - label: SMTP password - - defaultValue: your_email@gmail.com - description: SMTP from address - id: $$cap_ghost_smtp_from - label: SMTP from address - instructions: - end: > - Ghost is deployed and available as $$cap_appname. + variables: + - defaultValue: 3.4.0 + description: Check out their Docker page for the valid tags https://hub.docker.com/r/bitnami/ghost/tags + id: $$cap_ghost_version + label: Ghost Version + validRegex: /^([^\s^\/])+$/ + - description: Maria DB Host + defaultValue: localhost + id: $$cap_mariadb_host + label: Maria DB Host + - description: Maria DB port + defaultValue: '3306' + id: $$cap_mariadb_port_number + label: MariaDB user + - description: Database name + defaultValue: ghost + id: $$cap_ghost_database_name + label: MariaDB Database name + validRegex: /^([^\s^\/])+$/ + - description: User for database + id: $$cap_ghost_database_user + label: MariaDB User + validRegex: /^([^\s^\/])+$/ + - description: Password for database + id: $$cap_ghost_database_password + label: MariaDB Ghost password + validRegex: /^(?=.*\d).{10,}$/ + - defaultValue: youremail@example.com + description: Ghost application email, you will use it to login + id: $$cap_ghost_email + label: Ghost email + validRegex: /^([^\s^\/])+$/ + - description: The admin password must be at least 10 characters, and at least one number and letter + id: $$cap_ghost_password + label: Ghost password + validRegex: /^(?=.*\d).{10,}$/ + - defaultValue: blog.example.com + description: Enter the URL that is used to access your publication + id: $$cap_ghost_host + label: Ghost Host + validRegex: /^([^\s^\/])+$/ + - defaultValue: http + description: Protocol that you will be using + id: $$cap_ghost_protocol + label: Ghost Protocol + validRegex: /^([^\s^\/])+$/ + - defaultValue: '80' + description: Port that you will be using + id: $$cap_ghost_port + label: Ghost Port + - defaultValue: GMail + description: Ghost uses node mailer, check this docs https://docs.ghost.org/concepts/config/#mail + id: $$cap_ghost_smtp_service + label: STMP service to use + - defaultValue: smtp.gmail.com + description: The STMP host you will be using + id: $$cap_ghost_smtp_host + label: STMP host + - defaultValue: '465' + description: The SMTP port you will be using + id: $$cap_ghost_smtp_port + label: SMTP port + - defaultValue: your_email@gmail.com + description: Your user on the SMTP service + id: $$cap_ghost_smtp_user + label: SMTP user + - description: Your password on the SMTP service + id: $$cap_ghost_smtp_password + label: SMTP password + - defaultValue: your_email@gmail.com + description: SMTP from address + id: $$cap_ghost_smtp_from + label: SMTP from address + instructions: + end: > + Ghost is deployed and available as $$cap_appname. - IMPORTANT: It will take up to 2 minutes for Ghost to be ready. Before that, you might see 502 error page. - start: Ghost is a fully open source, adaptable platform for building and running a modern online publication. We power blogs, magazines and journalists from Zappos to Sky News. - displayName: Ghost - No Database - isOfficial: true - description: This will create a Ghost blog without a database. After installation you will need to change config.production.json, theres a bug where the port number is in the url. - documentation: Taken from https://docs.ghost.org/ + IMPORTANT: It will take up to 2 minutes for Ghost to be ready. Before that, you might see 502 error page. + start: Ghost is a fully open source, adaptable platform for building and running a modern online publication. We power blogs, magazines and journalists from Zappos to Sky News. + displayName: Ghost - No Database + isOfficial: true + description: This will create a Ghost blog without a database. After installation you will need to change config.production.json, theres a bug where the port number is in the url. + documentation: Taken from https://docs.ghost.org/ diff --git a/public/v4/apps/ghost.yml b/public/v4/apps/ghost.yml index 6ebb204..1b0c320 100644 --- a/public/v4/apps/ghost.yml +++ b/public/v4/apps/ghost.yml @@ -1,115 +1,115 @@ captainVersion: 4 services: - $$cap_appname: - environment: - GHOST_DATABASE_NAME: ghost - GHOST_DATABASE_PASSWORD: $$cap_db_ghost_password - GHOST_DATABASE_USER: ghost - GHOST_EMAIL: $$cap_ghost_email - GHOST_HOST: $$cap_ghost_host - GHOST_PASSWORD: $$cap_ghost_password - GHOST_PROTOCOL: $$cap_ghost_protocol - GHOST_PORT_NUMBER: $$cap_ghost_port - MARIADB_HOST: srv-captain--$$cap_appname-db - MARIADB_PORT_NUMBER: "3306" - SMTP_FROM_ADDRESS: $$cap_ghost_smtp_from - SMTP_HOST: $$cap_ghost_smtp_host - SMTP_PASSWORD: $$cap_ghost_smtp_password - SMTP_PORT: $$cap_ghost_smtp_port - SMTP_SERVICE: $$cap_ghost_smtp_service - SMTP_USER: $$cap_ghost_smtp_user - image: bitnami/ghost:$$cap_ghost_version - restart: always - volumes: - - $$cap_appname-data:/bitnami - caproverExtra: - containerHttpPort: "2368" - $$cap_appname-db: - environment: - MARIADB_DATABASE: ghost - MARIADB_PASSWORD: $$cap_db_ghost_password - MARIADB_ROOT_PASSWORD: $$cap_db_password - MARIADB_ROOT_USER: $$cap_db_user - MARIADB_USER: ghost - image: bitnami/mariadb:10.1 - restart: always - volumes: - - $$cap_appname-mariadb-data:/bitnami - caproverExtra: - notExposeAsWebApp: "true" + $$cap_appname: + environment: + GHOST_DATABASE_NAME: ghost + GHOST_DATABASE_PASSWORD: $$cap_db_ghost_password + GHOST_DATABASE_USER: ghost + GHOST_EMAIL: $$cap_ghost_email + GHOST_HOST: $$cap_ghost_host + GHOST_PASSWORD: $$cap_ghost_password + GHOST_PROTOCOL: $$cap_ghost_protocol + GHOST_PORT_NUMBER: $$cap_ghost_port + MARIADB_HOST: srv-captain--$$cap_appname-db + MARIADB_PORT_NUMBER: '3306' + SMTP_FROM_ADDRESS: $$cap_ghost_smtp_from + SMTP_HOST: $$cap_ghost_smtp_host + SMTP_PASSWORD: $$cap_ghost_smtp_password + SMTP_PORT: $$cap_ghost_smtp_port + SMTP_SERVICE: $$cap_ghost_smtp_service + SMTP_USER: $$cap_ghost_smtp_user + image: bitnami/ghost:$$cap_ghost_version + restart: always + volumes: + - $$cap_appname-data:/bitnami + caproverExtra: + containerHttpPort: '2368' + $$cap_appname-db: + environment: + MARIADB_DATABASE: ghost + MARIADB_PASSWORD: $$cap_db_ghost_password + MARIADB_ROOT_PASSWORD: $$cap_db_password + MARIADB_ROOT_USER: $$cap_db_user + MARIADB_USER: ghost + image: bitnami/mariadb:10.1 + restart: always + volumes: + - $$cap_appname-mariadb-data:/bitnami + caproverExtra: + notExposeAsWebApp: 'true' caproverOneClickApp: - variables: - - defaultValue: 2.16.4 - description: Check out their Docker page for the valid tags https://hub.docker.com/r/bitnami/ghost/tags - id: $$cap_ghost_version - label: Ghost Version - validRegex: /^([^\s^\/])+$/ - - defaultValue: admin - description: Root user that will be created on MariaDB - id: $$cap_db_user - label: MariaDB root user - validRegex: /^([^\s^\/])+$/ - - description: Root password that will be created on MariaDB - id: $$cap_db_password - label: MariaDB root password - validRegex: /^(?=.*\d).{10,}$/ - - description: Password for database user named `ghost` - id: $$cap_db_ghost_password - label: MariaDB Ghost password - validRegex: /^(?=.*\d).{10,}$/ - - defaultValue: youremail@example.com - description: Ghost application email, you will use it to login - id: $$cap_ghost_email - label: Ghost email - validRegex: /^([^\s^\/])+$/ - - description: The admin password must be at least 10 characters, and at least one number and letter - id: $$cap_ghost_password - label: Ghost password - validRegex: /^(?=.*\d).{10,}$/ - - defaultValue: blog.example.com - description: Enter the URL that is used to access your publication - id: $$cap_ghost_host - label: Ghost Host - validRegex: /^([^\s^\/])+$/ - - defaultValue: http - description: Protocol that you will be using - id: $$cap_ghost_protocol - label: Ghost Protocol - validRegex: /^([^\s^\/])+$/ - - defaultValue: "80" - description: Port that you will be using - id: $$cap_ghost_port - label: Ghost Port - - defaultValue: GMail - description: Ghost uses node mailer, check this docs https://docs.ghost.org/concepts/config/#mail - id: $$cap_ghost_smtp_service - label: STMP service to use - - defaultValue: smtp.gmail.com - description: The STMP host you will be using - id: $$cap_ghost_smtp_host - label: STMP host - - defaultValue: "465" - description: The STMP port you will be using - id: $$cap_ghost_smtp_port - label: STMP port - - defaultValue: your_email@gmail.com - description: Your user on the SMTP service - id: $$cap_ghost_smtp_user - label: STMP user - - description: Your password on the SMTP service - id: $$cap_ghost_smtp_password - label: STMP password - - defaultValue: your_email@gmail.com - description: STMP from address - id: $$cap_ghost_smtp_from - label: STMP from address - instructions: - end: > - Ghost is deployed and available as $$cap_appname. + variables: + - defaultValue: 2.16.4 + description: Check out their Docker page for the valid tags https://hub.docker.com/r/bitnami/ghost/tags + id: $$cap_ghost_version + label: Ghost Version + validRegex: /^([^\s^\/])+$/ + - defaultValue: admin + description: Root user that will be created on MariaDB + id: $$cap_db_user + label: MariaDB root user + validRegex: /^([^\s^\/])+$/ + - description: Root password that will be created on MariaDB + id: $$cap_db_password + label: MariaDB root password + validRegex: /^(?=.*\d).{10,}$/ + - description: Password for database user named `ghost` + id: $$cap_db_ghost_password + label: MariaDB Ghost password + validRegex: /^(?=.*\d).{10,}$/ + - defaultValue: youremail@example.com + description: Ghost application email, you will use it to login + id: $$cap_ghost_email + label: Ghost email + validRegex: /^([^\s^\/])+$/ + - description: The admin password must be at least 10 characters, and at least one number and letter + id: $$cap_ghost_password + label: Ghost password + validRegex: /^(?=.*\d).{10,}$/ + - defaultValue: blog.example.com + description: Enter the URL that is used to access your publication + id: $$cap_ghost_host + label: Ghost Host + validRegex: /^([^\s^\/])+$/ + - defaultValue: http + description: Protocol that you will be using + id: $$cap_ghost_protocol + label: Ghost Protocol + validRegex: /^([^\s^\/])+$/ + - defaultValue: '80' + description: Port that you will be using + id: $$cap_ghost_port + label: Ghost Port + - defaultValue: GMail + description: Ghost uses node mailer, check this docs https://docs.ghost.org/concepts/config/#mail + id: $$cap_ghost_smtp_service + label: STMP service to use + - defaultValue: smtp.gmail.com + description: The STMP host you will be using + id: $$cap_ghost_smtp_host + label: STMP host + - defaultValue: '465' + description: The STMP port you will be using + id: $$cap_ghost_smtp_port + label: STMP port + - defaultValue: your_email@gmail.com + description: Your user on the SMTP service + id: $$cap_ghost_smtp_user + label: STMP user + - description: Your password on the SMTP service + id: $$cap_ghost_smtp_password + label: STMP password + - defaultValue: your_email@gmail.com + description: STMP from address + id: $$cap_ghost_smtp_from + label: STMP from address + instructions: + end: > + Ghost is deployed and available as $$cap_appname. - IMPORTANT: It will take up to 2 minutes for Ghost to be ready. Before that, you might see 502 error page. - start: Ghost is a fully open source, adaptable platform for building and running a modern online publication. We power blogs, magazines and journalists from Zappos to Sky News. - displayName: "" - isOfficial: true - description: Ghost is a free and open source blogging platform written in JavaScript and distributed under the MIT License - documentation: Taken from https://docs.ghost.org/ + IMPORTANT: It will take up to 2 minutes for Ghost to be ready. Before that, you might see 502 error page. + start: Ghost is a fully open source, adaptable platform for building and running a modern online publication. We power blogs, magazines and journalists from Zappos to Sky News. + displayName: '' + isOfficial: true + description: Ghost is a free and open source blogging platform written in JavaScript and distributed under the MIT License + documentation: Taken from https://docs.ghost.org/ diff --git a/public/v4/apps/gitea.yml b/public/v4/apps/gitea.yml index 92dfc83..ca06a4f 100644 --- a/public/v4/apps/gitea.yml +++ b/public/v4/apps/gitea.yml @@ -1,60 +1,60 @@ captainVersion: 4 services: - $$cap_appname-db: - image: mysql:$$cap_mysql_version - volumes: - - $$cap_appname-db-data:/var/lib/mysql - restart: always - environment: - MYSQL_ROOT_PASSWORD: $$cap_db_pass - MYSQL_DATABASE: gitea - MYSQL_USER: gitea - MYSQL_PASSWORD: $$cap_db_pass - caproverExtra: - notExposeAsWebApp: "true" - $$cap_appname-gitea: - depends_on: - - $$cap_appname-db - image: gitea/gitea:$$cap_gitea_version - volumes: - - $$cap_appname-data:/data - restart: always - environment: - RUN_MODE: prod - DB_TYPE: mysql - DB_HOST: srv-captain--$$cap_appname-db:3306 - DB_USER: gitea - DB_PASSWD: $$cap_db_pass - caproverExtra: - containerHttpPort: "3000" + $$cap_appname-db: + image: mysql:$$cap_mysql_version + volumes: + - $$cap_appname-db-data:/var/lib/mysql + restart: always + environment: + MYSQL_ROOT_PASSWORD: $$cap_db_pass + MYSQL_DATABASE: gitea + MYSQL_USER: gitea + MYSQL_PASSWORD: $$cap_db_pass + caproverExtra: + notExposeAsWebApp: 'true' + $$cap_appname-gitea: + depends_on: + - $$cap_appname-db + image: gitea/gitea:$$cap_gitea_version + volumes: + - $$cap_appname-data:/data + restart: always + environment: + RUN_MODE: prod + DB_TYPE: mysql + DB_HOST: srv-captain--$$cap_appname-db:3306 + DB_USER: gitea + DB_PASSWD: $$cap_db_pass + caproverExtra: + containerHttpPort: '3000' caproverOneClickApp: - variables: - - id: $$cap_db_pass - label: MySQL Root password - description: "" - validRegex: /.{1,}/ - - id: $$cap_gitea_version - label: Gitea Version - defaultValue: "1.7" - description: Check out their Docker page for the valid tags https://hub.docker.com/r/gitea/gitea/tags - validRegex: /^([^\s^\/])+$/ - - id: $$cap_mysql_version - label: MySQL Version - defaultValue: "5.7" - description: Check out their Docker page for the valid tags https://hub.docker.com/r/library/mysql/tags/ - validRegex: /^([^\s^\/])+$/ - instructions: - start: >- - A painless self-hosted Git service. Gitea is a community managed fork of Gogs. + variables: + - id: $$cap_db_pass + label: MySQL Root password + description: '' + validRegex: /.{1,}/ + - id: $$cap_gitea_version + label: Gitea Version + defaultValue: '1.7' + description: Check out their Docker page for the valid tags https://hub.docker.com/r/gitea/gitea/tags + validRegex: /^([^\s^\/])+$/ + - id: $$cap_mysql_version + label: MySQL Version + defaultValue: '5.7' + description: Check out their Docker page for the valid tags https://hub.docker.com/r/library/mysql/tags/ + validRegex: /^([^\s^\/])+$/ + instructions: + start: >- + A painless self-hosted Git service. Gitea is a community managed fork of Gogs. - Enter your Gitea Configuration parameters and click on next. A MySQL (database) and a Gitea container will be created for you. The process will take about a minute to finish. - end: > - Gitea is deployed and available as $$cap_appname-gitea. + Enter your Gitea Configuration parameters and click on next. A MySQL (database) and a Gitea container will be created for you. The process will take about a minute to finish. + end: > + Gitea is deployed and available as $$cap_appname-gitea. - Since Gitea is running inside a container, you can optionally map a port (not 22) of the host to port 22 of the container, if you want to use git commands over SSH. You can perform port mapping in your CapRover dashboard, in App Config section. + Since Gitea is running inside a container, you can optionally map a port (not 22) of the host to port 22 of the container, if you want to use git commands over SSH. You can perform port mapping in your CapRover dashboard, in App Config section. - IMPORTANT: It will take up to 2 minutes for Gitea to be ready. Before that, you might see 502 error page. - displayName: "" - isOfficial: true - description: Gitea is a software package for hosting software development using Git as well as bug tracking, wikis and code review - documentation: Taken from https://hub.docker.com/r/gitea/gitea/ + IMPORTANT: It will take up to 2 minutes for Gitea to be ready. Before that, you might see 502 error page. + displayName: '' + isOfficial: true + description: Gitea is a software package for hosting software development using Git as well as bug tracking, wikis and code review + documentation: Taken from https://hub.docker.com/r/gitea/gitea/ diff --git a/public/v4/apps/gitlab-ce.yml b/public/v4/apps/gitlab-ce.yml index f042756..a9889b5 100644 --- a/public/v4/apps/gitlab-ce.yml +++ b/public/v4/apps/gitlab-ce.yml @@ -1,47 +1,47 @@ captainVersion: 4 services: - $$cap_appname: - image: gitlab/gitlab-ce:$$cap_gitlab_version - volumes: - - "$$cap_appname-config: /etc/gitlab" - - "$$cap_appname-logs: /var/log/gitlab" - - "$$cap_appname-data: /var/opt/gitlab" - restart: always - environment: - GITLAB_OMNIBUS_CONFIG: $$cap_gitlab_omnibus_config - caproverExtra: - containerHttpPort: "80" + $$cap_appname: + image: gitlab/gitlab-ce:$$cap_gitlab_version + volumes: + - '$$cap_appname-config: /etc/gitlab' + - '$$cap_appname-logs: /var/log/gitlab' + - '$$cap_appname-data: /var/opt/gitlab' + restart: always + environment: + GITLAB_OMNIBUS_CONFIG: $$cap_gitlab_omnibus_config + caproverExtra: + containerHttpPort: '80' caproverOneClickApp: - variables: - - id: $$cap_gitlab_version - label: Gitlab-CE Version Tag - description: Check out their Docker page for the valid tags https://hub.docker.com/r/gitlab/gitlab-ce/tags - defaultValue: 11.9.8-ce.0 - validRegex: /^([^\s^\/])+$/ - - id: $$cap_gitlab_omnibus_config - label: Omnibus Config (Optional) - description: "More information here: https://docs.gitlab.com/omnibus/docker/#pre-configure-docker-container" - instructions: - start: >- - GitLab is a single application for the entire software development lifecycle. From project planning and source code management to CI/CD, monitoring, and security. + variables: + - id: $$cap_gitlab_version + label: Gitlab-CE Version Tag + description: Check out their Docker page for the valid tags https://hub.docker.com/r/gitlab/gitlab-ce/tags + defaultValue: 11.9.8-ce.0 + validRegex: /^([^\s^\/])+$/ + - id: $$cap_gitlab_omnibus_config + label: Omnibus Config (Optional) + description: 'More information here: https://docs.gitlab.com/omnibus/docker/#pre-configure-docker-container' + instructions: + start: >- + GitLab is a single application for the entire software development lifecycle. From project planning and source code management to CI/CD, monitoring, and security. - More about this container: - https://hub.docker.com/r/gitlab/gitlab-ce/ + More about this container: + https://hub.docker.com/r/gitlab/gitlab-ce/ - Hardware and Software requeriments can be found here: - https://docs.gitlab.com/ce/install/requirements.html + Hardware and Software requeriments can be found here: + https://docs.gitlab.com/ce/install/requirements.html - For security reasons, no port mapping is created, those can be created after deploying the app. - More information about Caprover's Firewall & Port Forwarding and configuration can be found here: - https://caprover.com/docs/firewall.html + For security reasons, no port mapping is created, those can be created after deploying the app. + More information about Caprover's Firewall & Port Forwarding and configuration can be found here: + https://caprover.com/docs/firewall.html - More information about gitlab's docker configuration can be found here: - https://docs.gitlab.com/omnibus/docker/#configure-gitlab + More information about gitlab's docker configuration can be found here: + https://docs.gitlab.com/omnibus/docker/#configure-gitlab - It can take some time (2-3 minutes) for the service to launch in a new container. Check the "Deployment" tab logs to determine once GitLab is ready. - end: Gitlab-CE is deployed and available as srv-captain--$$cap_appname:80 to other apps. - displayName: Gitlab (CE) - isOfficial: true - description: CE version of GitLab for CI/CD pipeline - documentation: Taken from https://docs.gitlab.com/omnibus/docker/ + It can take some time (2-3 minutes) for the service to launch in a new container. Check the "Deployment" tab logs to determine once GitLab is ready. + end: Gitlab-CE is deployed and available as srv-captain--$$cap_appname:80 to other apps. + displayName: Gitlab (CE) + isOfficial: true + description: CE version of GitLab for CI/CD pipeline + documentation: Taken from https://docs.gitlab.com/omnibus/docker/ diff --git a/public/v4/apps/gitlab-runner.yml b/public/v4/apps/gitlab-runner.yml index 5129e7b..5a2ad9a 100644 --- a/public/v4/apps/gitlab-runner.yml +++ b/public/v4/apps/gitlab-runner.yml @@ -1,24 +1,24 @@ captainVersion: 4 services: - $$cap_appname: - image: gitlab/gitlab-runner:$$cap_gitlab-runner_version - volumes: - - $$cap_appname-data:/etc/gitlab-runner - - /var/run/docker.sock:/var/run/docker.sock - restart: always - caproverExtra: - notExposeAsWebApp: "true" + $$cap_appname: + image: gitlab/gitlab-runner:$$cap_gitlab-runner_version + volumes: + - $$cap_appname-data:/etc/gitlab-runner + - /var/run/docker.sock:/var/run/docker.sock + restart: always + caproverExtra: + notExposeAsWebApp: 'true' caproverOneClickApp: - variables: - - id: $$cap_gitlab-runner_version - label: GitLab-Runner Version - defaultValue: v11.11.0 - description: Check out their Docker page for the valid tags https://hub.docker.com/r/gitlab/gitlab-runner/tags - validRegex: /^([^\s^\/])+$/ - instructions: - start: GitLab CI/CD is the CI/CD solution integrated into GitLab. With this one-click-app, you receive a self-hosted runner for your pipelines. To enable you to build Docker Images in your pipelines, we mount /var/run/docker.sock into the container of the runner (see https://docs.gitlab.com/ee/ci/docker/using_docker_build.html#use-docker-socket-binding for more info). As a consequence, this container will have full access to all your other containers. If you don't need this functionality, feel free to manually remove the mounted Docker socket from the volumes. - end: Head over to https://docs.gitlab.com/runner/register/ to register your newly installed runner. You can run 'docker exec -ti /bin/sh' to connect to the newly created container and follow the tutorial. - displayName: Gitlab (runner) - isOfficial: true - description: Runner version of GitLab for CI/CD pipeline - documentation: Taken from https://docs.gitlab.com/runner/install/docker.html and https://docs.gitlab.com/runner/register/ + variables: + - id: $$cap_gitlab-runner_version + label: GitLab-Runner Version + defaultValue: v11.11.0 + description: Check out their Docker page for the valid tags https://hub.docker.com/r/gitlab/gitlab-runner/tags + validRegex: /^([^\s^\/])+$/ + instructions: + start: GitLab CI/CD is the CI/CD solution integrated into GitLab. With this one-click-app, you receive a self-hosted runner for your pipelines. To enable you to build Docker Images in your pipelines, we mount /var/run/docker.sock into the container of the runner (see https://docs.gitlab.com/ee/ci/docker/using_docker_build.html#use-docker-socket-binding for more info). As a consequence, this container will have full access to all your other containers. If you don't need this functionality, feel free to manually remove the mounted Docker socket from the volumes. + end: Head over to https://docs.gitlab.com/runner/register/ to register your newly installed runner. You can run 'docker exec -ti /bin/sh' to connect to the newly created container and follow the tutorial. + displayName: Gitlab (runner) + isOfficial: true + description: Runner version of GitLab for CI/CD pipeline + documentation: Taken from https://docs.gitlab.com/runner/install/docker.html and https://docs.gitlab.com/runner/register/ diff --git a/public/v4/apps/grafana.yml b/public/v4/apps/grafana.yml index 99207d1..308f348 100644 --- a/public/v4/apps/grafana.yml +++ b/public/v4/apps/grafana.yml @@ -1,23 +1,23 @@ captainVersion: 4 services: - $$cap_appname: - image: grafana/grafana@$$cap_version - restart: always - volumes: - - $$cap_appname-config:/etc/grafana - - $$cap_appname-data:/var/lib/grafana - caproverExtra: - containerHttpPort: "3000" + $$cap_appname: + image: grafana/grafana@$$cap_version + restart: always + volumes: + - $$cap_appname-config:/etc/grafana + - $$cap_appname-data:/var/lib/grafana + caproverExtra: + containerHttpPort: '3000' caproverOneClickApp: - variables: - - label: Grafana Docker Hash - defaultValue: sha256:4171e7e8c44bb17f9e5bffdcd3710a6d624828d73b4eb638682543c5ce86bbe9 - description: Starts with 'sha256:'. Find on Docker Hub. Default is latest as of 2020-06-30. - id: $$cap_version - instructions: - end: Grafana is now starting. You can log in with the default login/password of admin/admin. - start: "Read more about Grafana: https://grafana.com/" - displayName: Grafana - isOfficial: true - description: Grafana allows you to query, visualize, alert on and understand your metrics no matter where they are stored. - documentation: https://hub.docker.com/r/grafana/grafana + variables: + - label: Grafana Docker Hash + defaultValue: sha256:4171e7e8c44bb17f9e5bffdcd3710a6d624828d73b4eb638682543c5ce86bbe9 + description: Starts with 'sha256:'. Find on Docker Hub. Default is latest as of 2020-06-30. + id: $$cap_version + instructions: + end: Grafana is now starting. You can log in with the default login/password of admin/admin. + start: 'Read more about Grafana: https://grafana.com/' + displayName: Grafana + isOfficial: true + description: Grafana allows you to query, visualize, alert on and understand your metrics no matter where they are stored. + documentation: https://hub.docker.com/r/grafana/grafana diff --git a/public/v4/apps/graylog.yml b/public/v4/apps/graylog.yml index 37d135e..7e4446e 100644 --- a/public/v4/apps/graylog.yml +++ b/public/v4/apps/graylog.yml @@ -1,104 +1,104 @@ captainVersion: 4 services: - $$cap_appname-mongodb: - image: mongo:$$cap_mongo_version - volumes: - - $$cap_appname-db-data:/data/db - - $$cap_appname-db-config:/data/configdb - restart: always - caproverExtra: - notExposeAsWebApp: "true" - $$cap_appname-elasticsearch: - image: docker.elastic.co/elasticsearch/elasticsearch:$$cap_elasticsearch_version - volumes: - - $$cap_appname-elasticsearch-data:/usr/share/elasticsearch/data - restart: always - environment: - ES_JAVA_OPTS: -Xms512m -Xmx512m - cluster.name: $$cap_elasticsearch_cluster_name - http.port: $$cap_container_port - node.master: $$cap_elasticsearch_node_master - node.data: $$cap_elasticsearch_node_data - discovery.zen.minimum_master_nodes: $$cap_elasticsearch_minimum_master_nodes - discovery.zen.ping.unicast.hosts: $$cap_elasticsearch_unicast_hosts - caproverExtra: - notExposeAsWebApp: "true" - $$cap_appname: - depends_on: - - $$cap_appname-mongodb - - $$cap_appname-elasticsearch - image: graylog/graylog:$$cap_graylog_version - restart: always - environment: - GRAYLOG_MONGODB_URI: mongodb://srv-captain--$$cap_appname-mongodb/graylog - GRAYLOG_ELASTICSEARCH_HOSTS: http://srv-captain--$$cap_appname-elasticsearch:$$cap_container_port - GRAYLOG_HTTP_EXTERNAL_URI: //$$cap_appname.$$cap_root_domain/ - GRAYLOG_ROOT_PASSWORD_SHA2: $$cap_graylog_password - caproverExtra: - containerHttpPort: "9000" + $$cap_appname-mongodb: + image: mongo:$$cap_mongo_version + volumes: + - $$cap_appname-db-data:/data/db + - $$cap_appname-db-config:/data/configdb + restart: always + caproverExtra: + notExposeAsWebApp: 'true' + $$cap_appname-elasticsearch: + image: docker.elastic.co/elasticsearch/elasticsearch:$$cap_elasticsearch_version + volumes: + - $$cap_appname-elasticsearch-data:/usr/share/elasticsearch/data + restart: always + environment: + ES_JAVA_OPTS: -Xms512m -Xmx512m + cluster.name: $$cap_elasticsearch_cluster_name + http.port: $$cap_container_port + node.master: $$cap_elasticsearch_node_master + node.data: $$cap_elasticsearch_node_data + discovery.zen.minimum_master_nodes: $$cap_elasticsearch_minimum_master_nodes + discovery.zen.ping.unicast.hosts: $$cap_elasticsearch_unicast_hosts + caproverExtra: + notExposeAsWebApp: 'true' + $$cap_appname: + depends_on: + - $$cap_appname-mongodb + - $$cap_appname-elasticsearch + image: graylog/graylog:$$cap_graylog_version + restart: always + environment: + GRAYLOG_MONGODB_URI: mongodb://srv-captain--$$cap_appname-mongodb/graylog + GRAYLOG_ELASTICSEARCH_HOSTS: http://srv-captain--$$cap_appname-elasticsearch:$$cap_container_port + GRAYLOG_HTTP_EXTERNAL_URI: //$$cap_appname.$$cap_root_domain/ + GRAYLOG_ROOT_PASSWORD_SHA2: $$cap_graylog_password + caproverExtra: + containerHttpPort: '9000' caproverOneClickApp: - variables: - - id: $$cap_graylog_version - label: Graylog Version - defaultValue: "3.1" - description: Checkout their docker page for the valid tags https://hub.docker.com/r/graylog/graylog/tags - validRegex: /^([^\s^\/])+$/ - - id: $$cap_graylog_password - label: Graylog Admin Password - defaultValue: "" - description: 'Admin password SHA256 encoded. Generate with: echo -n "" | shasum -a 256 | cut -d" " -f1' - validRegex: /^([^\s^\/])+$/ - - id: $$cap_mongo_version - label: MongoDB Version - defaultValue: "4" - description: Checkout their docker page for the valid tags https://hub.docker.com/r/library/mongo/tags/ - validRegex: /^([^\s^\/])+$/ - - id: $$cap_elasticsearch_version - label: "Elasticsearch Version Tag " - description: "Checkout the releases overview: https://www.elastic.co/de/downloads/elasticsearch" - defaultValue: 6.7.1 - validRegex: /^([^\s^\/])+$/ - - id: $$cap_elasticsearch_cluster_name - label: Elasticsearch Cluster Name - description: Only nodes within the same cluster name can be combined - defaultValue: elasticsearch-cluster - validRegex: /^([^\s^\/])+$/ - - id: $$cap_elasticsearch_unicast_hosts - label: Elasticsearch Unicasts hosts - description: "References to other node to attach to. (for example: srv-captain--XXX)" - defaultValue: "false" - validRegex: /^([^\s^\/])+$/ - - id: $$cap_elasticsearch_node_data - label: Elasticsearch Node Data - description: Should the node used for storing data? (true / false) - defaultValue: "true" - validRegex: /^([^\s^\/])+$/ - - id: $$cap_elasticsearch_node_master - label: Elasticsearch Node Master - description: Define node as master-eligible (usual first node YES, others NO). - defaultValue: "true" - validRegex: /^([^\s^\/])+$/ - - id: $$cap_elasticsearch_minimum_master_nodes - label: Elasticsearch Minimum Master Nodes - description: "Define minimum amount of master (N) ( best practice: ceil(N/2 + 1) )." - defaultValue: "1" - validRegex: /^([0-9])+$/ - - id: $$cap_container_port - label: Elasticsearch Container TCP Port - defaultValue: "9200" - description: Internal port for Elasticsearch the container listens to. - validRegex: /^([0-9])+$/ - instructions: - start: >- - Graylog Log Management. + variables: + - id: $$cap_graylog_version + label: Graylog Version + defaultValue: '3.1' + description: Checkout their docker page for the valid tags https://hub.docker.com/r/graylog/graylog/tags + validRegex: /^([^\s^\/])+$/ + - id: $$cap_graylog_password + label: Graylog Admin Password + defaultValue: '' + description: 'Admin password SHA256 encoded. Generate with: echo -n "" | shasum -a 256 | cut -d" " -f1' + validRegex: /^([^\s^\/])+$/ + - id: $$cap_mongo_version + label: MongoDB Version + defaultValue: '4' + description: Checkout their docker page for the valid tags https://hub.docker.com/r/library/mongo/tags/ + validRegex: /^([^\s^\/])+$/ + - id: $$cap_elasticsearch_version + label: 'Elasticsearch Version Tag ' + description: 'Checkout the releases overview: https://www.elastic.co/de/downloads/elasticsearch' + defaultValue: 6.7.1 + validRegex: /^([^\s^\/])+$/ + - id: $$cap_elasticsearch_cluster_name + label: Elasticsearch Cluster Name + description: Only nodes within the same cluster name can be combined + defaultValue: elasticsearch-cluster + validRegex: /^([^\s^\/])+$/ + - id: $$cap_elasticsearch_unicast_hosts + label: Elasticsearch Unicasts hosts + description: 'References to other node to attach to. (for example: srv-captain--XXX)' + defaultValue: 'false' + validRegex: /^([^\s^\/])+$/ + - id: $$cap_elasticsearch_node_data + label: Elasticsearch Node Data + description: Should the node used for storing data? (true / false) + defaultValue: 'true' + validRegex: /^([^\s^\/])+$/ + - id: $$cap_elasticsearch_node_master + label: Elasticsearch Node Master + description: Define node as master-eligible (usual first node YES, others NO). + defaultValue: 'true' + validRegex: /^([^\s^\/])+$/ + - id: $$cap_elasticsearch_minimum_master_nodes + label: Elasticsearch Minimum Master Nodes + description: 'Define minimum amount of master (N) ( best practice: ceil(N/2 + 1) ).' + defaultValue: '1' + validRegex: /^([0-9])+$/ + - id: $$cap_container_port + label: Elasticsearch Container TCP Port + defaultValue: '9200' + description: Internal port for Elasticsearch the container listens to. + validRegex: /^([0-9])+$/ + instructions: + start: >- + Graylog Log Management. - NOTICE!: - Be sure to extend the virtual memory on all your hosts! - 1. echo 'vm.max_map_count=262144' >> /etc/sysctl.conf - 2. sysctl -p - end: Deployment of Graylog if finished. You will see 502 errors for the next 5+ minutes while Graylog starts up. Goto and login as "admin" with your unhashed password. - displayName: "" - isOfficial: true - description: Graylog is used for log management of both structured and unstructured data along with debugging applications. - documentation: Taken from https://hub.docker.com/r/graylog/graylog + NOTICE!: + Be sure to extend the virtual memory on all your hosts! + 1. echo 'vm.max_map_count=262144' >> /etc/sysctl.conf + 2. sysctl -p + end: Deployment of Graylog if finished. You will see 502 errors for the next 5+ minutes while Graylog starts up. Goto and login as "admin" with your unhashed password. + displayName: '' + isOfficial: true + description: Graylog is used for log management of both structured and unstructured data along with debugging applications. + documentation: Taken from https://hub.docker.com/r/graylog/graylog diff --git a/public/v4/apps/grocy.yml b/public/v4/apps/grocy.yml index 49b1d2d..718ff08 100644 --- a/public/v4/apps/grocy.yml +++ b/public/v4/apps/grocy.yml @@ -1,44 +1,44 @@ captainVersion: 4 services: - $$cap_appname: - image: linuxserver/grocy:$$cap_grocy_version - environment: - TZ: $$cap_tz - PUID: $$cap_puid - PGID: $$cap_guid - volumes: - - $$cap_appname-config:/config + $$cap_appname: + image: linuxserver/grocy:$$cap_grocy_version + environment: + TZ: $$cap_tz + PUID: $$cap_puid + PGID: $$cap_guid + volumes: + - $$cap_appname-config:/config caproverOneClickApp: - variables: - - id: $$cap_grocy_version - label: Grocy Version - defaultValue: v2.7.1-ls58 - description: Check out their Docker page for the valid tags https://hub.docker.com/r/linuxserver/grocy/tags - validRegex: /^([^\s^\/])+$/ - - id: $$cap_puid - label: User ID - defaultValue: "1000" - description: User ID that the process uses - validRegex: /.{1,}/ - - id: $$cap_guid - label: Group ID - defaultValue: "1000" - description: Group ID that the process uses - validRegex: /.{1,}/ - - id: $$cap_tz - label: Time Zone - defaultValue: America/New_York - description: Get yours from https://en.wikipedia.org/wiki/List_of_tz_database_time_zones - validRegex: /.{1,}/ - instructions: - start: Grocy is an ERP system for your kitchen and groceries! Cut down on food waste, and manage your chores with this brilliant utulity. Keep track of your purchaes, how much food you are wasting, what chores need doing and what batteries need charging with this proudly Open Source tool. - end: >- - Grocy has been successfully deployed. Please wait about 2-5 minutes before accessing Grocy. + variables: + - id: $$cap_grocy_version + label: Grocy Version + defaultValue: v2.7.1-ls58 + description: Check out their Docker page for the valid tags https://hub.docker.com/r/linuxserver/grocy/tags + validRegex: /^([^\s^\/])+$/ + - id: $$cap_puid + label: User ID + defaultValue: '1000' + description: User ID that the process uses + validRegex: /.{1,}/ + - id: $$cap_guid + label: Group ID + defaultValue: '1000' + description: Group ID that the process uses + validRegex: /.{1,}/ + - id: $$cap_tz + label: Time Zone + defaultValue: America/New_York + description: Get yours from https://en.wikipedia.org/wiki/List_of_tz_database_time_zones + validRegex: /.{1,}/ + instructions: + start: Grocy is an ERP system for your kitchen and groceries! Cut down on food waste, and manage your chores with this brilliant utulity. Keep track of your purchaes, how much food you are wasting, what chores need doing and what batteries need charging with this proudly Open Source tool. + end: >- + Grocy has been successfully deployed. Please wait about 2-5 minutes before accessing Grocy. - Username and password are both admin. - displayName: Grocy - isOfficial: true - description: Grocy is an ERP system for your kitchen and groceries! Cut down on food waste, and manage your chores with this brilliant utulity. - documentation: Taken from https://hub.docker.com/r/linuxserver/grocy/tags + Username and password are both admin. + displayName: Grocy + isOfficial: true + description: Grocy is an ERP system for your kitchen and groceries! Cut down on food waste, and manage your chores with this brilliant utulity. + documentation: Taken from https://hub.docker.com/r/linuxserver/grocy/tags diff --git a/public/v4/apps/hasura-only.yml b/public/v4/apps/hasura-only.yml index 7547542..cc8c15f 100644 --- a/public/v4/apps/hasura-only.yml +++ b/public/v4/apps/hasura-only.yml @@ -1,37 +1,37 @@ captainVersion: 4 services: - $$cap_appname: - image: hasura/graphql-engine:$$cap_hasura_version - restart: always - environment: - HASURA_GRAPHQL_DATABASE_URL: $$cap_database_url - HASURA_GRAPHQL_ENABLE_CONSOLE: "true" - HASURA_GRAPHQL_ADMIN_SECRET: $$cap_admin_secret - HASURA_GRAPHQL_ENABLED_LOG_TYPES: startup, http-log, webhook-log, websocket-log, query-log - caproverExtra: - containerHttpPort: "8080" + $$cap_appname: + image: hasura/graphql-engine:$$cap_hasura_version + restart: always + environment: + HASURA_GRAPHQL_DATABASE_URL: $$cap_database_url + HASURA_GRAPHQL_ENABLE_CONSOLE: 'true' + HASURA_GRAPHQL_ADMIN_SECRET: $$cap_admin_secret + HASURA_GRAPHQL_ENABLED_LOG_TYPES: startup, http-log, webhook-log, websocket-log, query-log + caproverExtra: + containerHttpPort: '8080' caproverOneClickApp: - variables: - - defaultValue: v1.2.2 - description: Check out their GitHub page for their latest version https://github.com/hasura/graphql-engine - id: $$cap_hasura_version - label: Hasura Version - validRegex: /^([^\s^\/])+$/ - - description: The admin secret gives you access to the console. - id: $$cap_admin_secret - label: Hasura admin secret(password) - validRegex: /^(?=.*\d).{10,}$/ - - id: $$cap_database_url - label: Postgres Connection URL - description: postgres://username:password@host/database - validRegex: /postgres://.+/.+/ - instructions: - end: > - Hasura is deployed and available as $$cap_appname. + variables: + - defaultValue: v1.2.2 + description: Check out their GitHub page for their latest version https://github.com/hasura/graphql-engine + id: $$cap_hasura_version + label: Hasura Version + validRegex: /^([^\s^\/])+$/ + - description: The admin secret gives you access to the console. + id: $$cap_admin_secret + label: Hasura admin secret(password) + validRegex: /^(?=.*\d).{10,}$/ + - id: $$cap_database_url + label: Postgres Connection URL + description: postgres://username:password@host/database + validRegex: /postgres://.+/.+/ + instructions: + end: > + Hasura is deployed and available as $$cap_appname. - IMPORTANT: It will take up to 2 minutes for Hasura to be ready. Before that, you might see 502 error page. - start: Instant Realtime GraphQL on Postgres with web admin console. - displayName: Hasura - No Database - isOfficial: true - description: Instant realtime GraphQL APIs on any Postgres application, existing or new - documentation: Hasura GraphQL Engine + IMPORTANT: It will take up to 2 minutes for Hasura to be ready. Before that, you might see 502 error page. + start: Instant Realtime GraphQL on Postgres with web admin console. + displayName: Hasura - No Database + isOfficial: true + description: Instant realtime GraphQL APIs on any Postgres application, existing or new + documentation: Hasura GraphQL Engine diff --git a/public/v4/apps/hasura.yml b/public/v4/apps/hasura.yml index dc85472..0b9322c 100644 --- a/public/v4/apps/hasura.yml +++ b/public/v4/apps/hasura.yml @@ -1,67 +1,67 @@ captainVersion: 4 services: - $$cap_appname-db: - image: postgres:$$cap_postgres_version - volumes: - - $$cap_appname-db-data:/var/lib/postgresql/data - restart: always - environment: - POSTGRES_USER: $$cap_pg_user - POSTGRES_PASSWORD: $$cap_pg_pass - POSTGRES_DB: $$cap_pg_db - POSTGRES_INITDB_ARGS: $$cap_pg_initdb_args - caproverExtra: - notExposeAsWebApp: "true" - $$cap_appname: - image: hasura/graphql-engine:$$cap_hasura_version - depends_on: - - $$cap_appname-db - restart: always - environment: - HASURA_GRAPHQL_DATABASE_URL: postgres://$$cap_pg_user:$$cap_pg_pass@srv-captain--$$cap_appname-db:5432/$$cap_pg_db - HASURA_GRAPHQL_ENABLE_CONSOLE: "true" - HASURA_GRAPHQL_ADMIN_SECRET: $$cap_admin_secret - HASURA_GRAPHQL_ENABLED_LOG_TYPES: startup, http-log, webhook-log, websocket-log, query-log - caproverExtra: - containerHttpPort: "8080" + $$cap_appname-db: + image: postgres:$$cap_postgres_version + volumes: + - $$cap_appname-db-data:/var/lib/postgresql/data + restart: always + environment: + POSTGRES_USER: $$cap_pg_user + POSTGRES_PASSWORD: $$cap_pg_pass + POSTGRES_DB: $$cap_pg_db + POSTGRES_INITDB_ARGS: $$cap_pg_initdb_args + caproverExtra: + notExposeAsWebApp: 'true' + $$cap_appname: + image: hasura/graphql-engine:$$cap_hasura_version + depends_on: + - $$cap_appname-db + restart: always + environment: + HASURA_GRAPHQL_DATABASE_URL: postgres://$$cap_pg_user:$$cap_pg_pass@srv-captain--$$cap_appname-db:5432/$$cap_pg_db + HASURA_GRAPHQL_ENABLE_CONSOLE: 'true' + HASURA_GRAPHQL_ADMIN_SECRET: $$cap_admin_secret + HASURA_GRAPHQL_ENABLED_LOG_TYPES: startup, http-log, webhook-log, websocket-log, query-log + caproverExtra: + containerHttpPort: '8080' caproverOneClickApp: - variables: - - defaultValue: v1.2.2 - description: Check out their GitHub page for their latest version https://github.com/hasura/graphql-engine - id: $$cap_hasura_version - label: Hasura Version - validRegex: /^([^\s^\/])+$/ - - defaultValue: "12" - id: $$cap_postgres_version - label: Postgres Version - validRegex: /^([^\s^\/])+$/ - - description: The admin secret gives you access to the console. - id: $$cap_admin_secret - label: Hasura admin secret(password) - validRegex: /^(?=.*\d).{10,}$/ - - id: $$cap_pg_user - label: Postgres Username - description: "" - validRegex: /.{1,}/ - - id: $$cap_pg_pass - label: Postgres Password - description: "" - validRegex: /.{1,}/ - - id: $$cap_pg_db - label: Postgres Default Database - description: "" - validRegex: /.{1,}/ - - id: $$cap_pg_initdb_args - label: "OPTIONAL: Arguments for 'postgres initdb'" - description: For example, --data-checksums - validRegex: /.{0,}/ - instructions: - end: > - Hasura is deployed and available as $$cap_appname. + variables: + - defaultValue: v1.2.2 + description: Check out their GitHub page for their latest version https://github.com/hasura/graphql-engine + id: $$cap_hasura_version + label: Hasura Version + validRegex: /^([^\s^\/])+$/ + - defaultValue: '12' + id: $$cap_postgres_version + label: Postgres Version + validRegex: /^([^\s^\/])+$/ + - description: The admin secret gives you access to the console. + id: $$cap_admin_secret + label: Hasura admin secret(password) + validRegex: /^(?=.*\d).{10,}$/ + - id: $$cap_pg_user + label: Postgres Username + description: '' + validRegex: /.{1,}/ + - id: $$cap_pg_pass + label: Postgres Password + description: '' + validRegex: /.{1,}/ + - id: $$cap_pg_db + label: Postgres Default Database + description: '' + validRegex: /.{1,}/ + - id: $$cap_pg_initdb_args + label: "OPTIONAL: Arguments for 'postgres initdb'" + description: For example, --data-checksums + validRegex: /.{0,}/ + instructions: + end: > + Hasura is deployed and available as $$cap_appname. - IMPORTANT: It will take up to 2 minutes for Hasura to be ready. Before that, you might see 502 error page. - start: Instant Realtime GraphQL on Postgres with web admin console. This Docker Compose setup runs Hasura GraphQL Engine along with a Postgres database with the PostGIS extension. - displayName: "" - isOfficial: true - description: Instant realtime GraphQL APIs on any Postgres application, existing or new - documentation: Hasura GraphQL Engine + IMPORTANT: It will take up to 2 minutes for Hasura to be ready. Before that, you might see 502 error page. + start: Instant Realtime GraphQL on Postgres with web admin console. This Docker Compose setup runs Hasura GraphQL Engine along with a Postgres database with the PostGIS extension. + displayName: '' + isOfficial: true + description: Instant realtime GraphQL APIs on any Postgres application, existing or new + documentation: Hasura GraphQL Engine diff --git a/public/v4/apps/influxdb.yml b/public/v4/apps/influxdb.yml index eafe403..c9d744b 100644 --- a/public/v4/apps/influxdb.yml +++ b/public/v4/apps/influxdb.yml @@ -1,88 +1,88 @@ captainVersion: 4 services: - $$cap_appname-db: - image: influxdb:$$cap_influx_version - volumes: - - $$cap_appname-db-data:/var/lib/influxdb - restart: always - ports: - - $$cap_influxdb_port:8086 - - $$cap_graphite_port:2003 - environment: - INFLUXDB_DB: $$cap_influx_db - INFLUXDB_HTTP_AUTH_ENABLED: $$cap_influx_auth_enabled - INFLUXDB_ADMIN_USER: $$cap_influx_admin_user - INFLUXDB_ADMIN_PASSWORD: $$cap_influx_admin_password - INFLUXDB_USER: $$cap_influx_user - INFLUXDB_USER_PASSWORD: $$cap_influx_user_password - INFLUXDB_READ_USER: $$cap_influx_read_user - INFLUXDB_READ_USER_PASSWORD: $$cap_influx_read_user_password - INFLUXDB_WRITE_USER: $$cap_influx_write_user - INFLUXDB_WRITE_USER_PASSWORD: $$cap_influx_write_password - caproverExtra: - notExposeAsWebApp: "true" + $$cap_appname-db: + image: influxdb:$$cap_influx_version + volumes: + - $$cap_appname-db-data:/var/lib/influxdb + restart: always + ports: + - $$cap_influxdb_port:8086 + - $$cap_graphite_port:2003 + environment: + INFLUXDB_DB: $$cap_influx_db + INFLUXDB_HTTP_AUTH_ENABLED: $$cap_influx_auth_enabled + INFLUXDB_ADMIN_USER: $$cap_influx_admin_user + INFLUXDB_ADMIN_PASSWORD: $$cap_influx_admin_password + INFLUXDB_USER: $$cap_influx_user + INFLUXDB_USER_PASSWORD: $$cap_influx_user_password + INFLUXDB_READ_USER: $$cap_influx_read_user + INFLUXDB_READ_USER_PASSWORD: $$cap_influx_read_user_password + INFLUXDB_WRITE_USER: $$cap_influx_write_user + INFLUXDB_WRITE_USER_PASSWORD: $$cap_influx_write_password + caproverExtra: + notExposeAsWebApp: 'true' caproverOneClickApp: - variables: - - id: $$cap_influx_version - label: InfluxDb Version - defaultValue: "1.8" - description: Check out their Docker page for the valid tags https://hub.docker.com/r/library/influxdb/tags/ - validRegex: /^([^\s^\/])+$/ - - label: Influxdb port - description: The port to make queries to influxdb. - defaultValue: "8086" - id: $$cap_influxdb_port - - label: Graphite port - description: The port for graphite protocol - defaultValue: "2003" - id: $$cap_graphite_port - - label: Influx DB - description: Automatically initializes a database with the name of this environment variable. - defaultValue: "" - id: $$cap_influx_db - - label: Auth enabled (true/false) - description: Enables authentication. Either this must be set or auth-enabled = true must be set within the configuration file for any authentication related options below to work. - defaultValue: "" - id: $$cap_influx_auth_enabled - - label: Admin User - description: The name of the admin user to be created. If this is unset, no admin user is created. - defaultValue: "" - id: $$cap_influx_admin_user - - label: Admin password - description: The password for the admin user configured with INFLUXDB_ADMIN_USER. If this is unset, a random password is generated and printed to standard out. - defaultValue: "" - id: $$cap_influx_admin_password - - label: Inlfux user - description: The name of a user to be created with no privileges. If INFLUXDB_DB is set, this user will be granted read and write permissions for that database. - defaultValue: "" - id: $$cap_influx_user - - label: Influx password - description: The password for the user configured with INFLUXDB_USER. If this is unset, a random password is generated and printed to standard out. - defaultValue: "" - id: $$cap_influx_user_password - - label: Influx read user - description: The name of a user to be created with read privileges on INFLUXDB_DB. If INFLUXDB_DB is not set, this user will have no granted permissions. - defaultValue: "" - id: $$cap_influx_read_user - - label: Influx read user password - description: The password for the user configured with INFLUXDB_READ_USER. If this is unset, a random password is generated and printed to standard out - defaultValue: "" - id: $$cap_influx_read_user_password - - label: Influx write user - description: The name of a user to be created with write privileges on INFLUXDB_DB. If INFLUXDB_DB is not set, this user will have no granted permissions. - defaultValue: "" - id: $$cap_influx_write_user - - label: Influx write user password - description: The password for the user configured with INFLUXDB_WRITE_USER. If this is unset, a random password is generated and printed to standard out. - defaultValue: "" - id: $$cap_influx_write_password - instructions: - start: >- - Influxdb is a time series database, and part of the tickstack. After installation on CapRover, it will be available as srv-captain--YOUR_CONTAINER_NAME at the port you choose (8086 by default) to other CapRover apps. + variables: + - id: $$cap_influx_version + label: InfluxDb Version + defaultValue: '1.8' + description: Check out their Docker page for the valid tags https://hub.docker.com/r/library/influxdb/tags/ + validRegex: /^([^\s^\/])+$/ + - label: Influxdb port + description: The port to make queries to influxdb. + defaultValue: '8086' + id: $$cap_influxdb_port + - label: Graphite port + description: The port for graphite protocol + defaultValue: '2003' + id: $$cap_graphite_port + - label: Influx DB + description: Automatically initializes a database with the name of this environment variable. + defaultValue: '' + id: $$cap_influx_db + - label: Auth enabled (true/false) + description: Enables authentication. Either this must be set or auth-enabled = true must be set within the configuration file for any authentication related options below to work. + defaultValue: '' + id: $$cap_influx_auth_enabled + - label: Admin User + description: The name of the admin user to be created. If this is unset, no admin user is created. + defaultValue: '' + id: $$cap_influx_admin_user + - label: Admin password + description: The password for the admin user configured with INFLUXDB_ADMIN_USER. If this is unset, a random password is generated and printed to standard out. + defaultValue: '' + id: $$cap_influx_admin_password + - label: Inlfux user + description: The name of a user to be created with no privileges. If INFLUXDB_DB is set, this user will be granted read and write permissions for that database. + defaultValue: '' + id: $$cap_influx_user + - label: Influx password + description: The password for the user configured with INFLUXDB_USER. If this is unset, a random password is generated and printed to standard out. + defaultValue: '' + id: $$cap_influx_user_password + - label: Influx read user + description: The name of a user to be created with read privileges on INFLUXDB_DB. If INFLUXDB_DB is not set, this user will have no granted permissions. + defaultValue: '' + id: $$cap_influx_read_user + - label: Influx read user password + description: The password for the user configured with INFLUXDB_READ_USER. If this is unset, a random password is generated and printed to standard out + defaultValue: '' + id: $$cap_influx_read_user_password + - label: Influx write user + description: The name of a user to be created with write privileges on INFLUXDB_DB. If INFLUXDB_DB is not set, this user will have no granted permissions. + defaultValue: '' + id: $$cap_influx_write_user + - label: Influx write user password + description: The password for the user configured with INFLUXDB_WRITE_USER. If this is unset, a random password is generated and printed to standard out. + defaultValue: '' + id: $$cap_influx_write_password + instructions: + start: >- + Influxdb is a time series database, and part of the tickstack. After installation on CapRover, it will be available as srv-captain--YOUR_CONTAINER_NAME at the port you choose (8086 by default) to other CapRover apps. - Enter your Influxdb configuration parameters and click on next. The default configuration has no users or authentication and is only accessible to other Caprover apps. It will take about a minute for the process to finish. - end: All set. Influx is deployed and available as srv-captain--$$cap_appname-db:$$cap_influxdb_port to other apps. For example with curl 'curl -G http://srv-captain--$$cap_appname-db:$$cap_influxdb_port/query --data-urlencode "q=CREATE DATABASE mydb"' - displayName: InfluxDb - isOfficial: true - description: InfluxDB is a time series database. It stores large amounts of timestamped data, including DevOps monitoring, application metrics, IoT sensor data, and real-time analytics. - documentation: Taken from https://hub.docker.com/_/influxdb + Enter your Influxdb configuration parameters and click on next. The default configuration has no users or authentication and is only accessible to other Caprover apps. It will take about a minute for the process to finish. + end: All set. Influx is deployed and available as srv-captain--$$cap_appname-db:$$cap_influxdb_port to other apps. For example with curl 'curl -G http://srv-captain--$$cap_appname-db:$$cap_influxdb_port/query --data-urlencode "q=CREATE DATABASE mydb"' + displayName: InfluxDb + isOfficial: true + description: InfluxDB is a time series database. It stores large amounts of timestamped data, including DevOps monitoring, application metrics, IoT sensor data, and real-time analytics. + documentation: Taken from https://hub.docker.com/_/influxdb diff --git a/public/v4/apps/jenkins.yml b/public/v4/apps/jenkins.yml index 99bb004..d006354 100644 --- a/public/v4/apps/jenkins.yml +++ b/public/v4/apps/jenkins.yml @@ -1,34 +1,34 @@ captainVersion: 4 services: - $$cap_appname: - image: jenkins/jenkins:$$cap_jenkins_version - restart: always - volumes: - - $$cap_appname-jenkins-home:/var/jenkins_home - caproverExtra: - containerHttpPort: "8080" + $$cap_appname: + image: jenkins/jenkins:$$cap_jenkins_version + restart: always + volumes: + - $$cap_appname-jenkins-home:/var/jenkins_home + caproverExtra: + containerHttpPort: '8080' caproverOneClickApp: - variables: - - id: $$cap_jenkins_version - label: Jenkins Version - defaultValue: lts-jdk11 - description: Check out their Docker page for the valid tags https://hub.docker.com/r/jenkins/jenkins/tags - validRegex: /^([^\s^\/])+$/ - instructions: - start: >- - Jenkins is a self-contained, open source automation server which can be used to automate all sorts of tasks related to building, testing, and delivering or deploying software. + variables: + - id: $$cap_jenkins_version + label: Jenkins Version + defaultValue: lts-jdk11 + description: Check out their Docker page for the valid tags https://hub.docker.com/r/jenkins/jenkins/tags + validRegex: /^([^\s^\/])+$/ + instructions: + start: >- + Jenkins is a self-contained, open source automation server which can be used to automate all sorts of tasks related to building, testing, and delivering or deploying software. - It's documentation is available at: https://jenkins.io/doc/ + It's documentation is available at: https://jenkins.io/doc/ - For more details about this container, see: https://hub.docker.com/r/jenkins/jenkins/ + For more details about this container, see: https://hub.docker.com/r/jenkins/jenkins/ - Enter your Jenkins Configuration parameters and click on next. + Enter your Jenkins Configuration parameters and click on next. - To ensure Jenkins is securely set up by the administrator, an initial administrative password will be written to the log, available at the app Deployment tab, and this file on the server: /var/jenkins_home/secrets/initialAdminPassword. + To ensure Jenkins is securely set up by the administrator, an initial administrative password will be written to the log, available at the app Deployment tab, and this file on the server: /var/jenkins_home/secrets/initialAdminPassword. - It will take about a minute for the process to finish. - end: Jenkins is deployed and available as $$cap_appname - displayName: "" - isOfficial: true - description: Jenkins helps to automate the non-human part of the software development process, with continuous integration and facilitating technical aspects of continuous delivery - documentation: "Taken from https://hub.docker.com/r/jenkins/jenkins/ " + It will take about a minute for the process to finish. + end: Jenkins is deployed and available as $$cap_appname + displayName: '' + isOfficial: true + description: Jenkins helps to automate the non-human part of the software development process, with continuous integration and facilitating technical aspects of continuous delivery + documentation: 'Taken from https://hub.docker.com/r/jenkins/jenkins/ ' diff --git a/public/v4/apps/jitsi.yml b/public/v4/apps/jitsi.yml index 37794aa..e6e0d77 100644 --- a/public/v4/apps/jitsi.yml +++ b/public/v4/apps/jitsi.yml @@ -1,240 +1,240 @@ captainVersion: 4 services: - $$cap_appname-web: - image: jitsi/web:$$cap_tag_version - restart: unless-stopped - ports: - - $$cap_https_port:443 - - $$cap_http_port:80 - volumes: - - $$cap_appname-web:/config - - $$cap_appname-web-transcripts:/usr/share/jitsi-meet/transcripts - environment: - JICOFO_COMPONENT_SECRET: $$cap_password - JICOFO_AUTH_PASSWORD: $$cap_password - JVB_AUTH_PASSWORD: $$cap_password - JIGASI_XMPP_PASSWORD: $$cap_password - JIBRI_RECORDER_PASSWORD: $$cap_password - JIBRI_XMPP_PASSWORD: $$cap_password - HTTP_PORT: $$cap_http_port - HTTPS_PORT: $$cap_https_port - TZ: $$cap_timezone - XMPP_DOMAIN: meet.jitsi - XMPP_SERVER: srv-captain--$$cap_appname-prosody - XMPP_BOSH_URL_BASE: http://srv-captain--$$cap_appname-prosody:5280 - XMPP_AUTH_DOMAIN: auth.meet.jitsi - XMPP_MUC_DOMAIN: muc.meet.jitsi - XMPP_INTERNAL_MUC_DOMAIN: internal-muc.meet.jitsi - XMPP_GUEST_DOMAIN: guest.meet.jitsi - XMPP_MODULES: "" - XMPP_MUC_MODULES: "" - XMPP_INTERNAL_MUC_MODULES: "" - JVB_BREWERY_MUC: jvbbrewery - JVB_AUTH_USER: jvb - JVB_STUN_SERVERS: meet-jit-si-turnrelay.jitsi.net:443 - JVB_PORT: $$cap_jvb_udp - JVB_TCP_HARVESTER_DISABLED: "true" - JVB_TCP_PORT: $$cap_jvb_tcp - JICOFO_AUTH_USER: focus - JIGASI_XMPP_USER: jigasi - JIGASI_BREWERY_MUC: jigasibrewery - JIGASI_PORT_MIN: "20000" - JIGASI_PORT_MAX: "20050" - XMPP_RECORDER_DOMAIN: recorder.meet.jitsi - JIBRI_RECORDER_USER: recorder - JIBRI_RECORDING_DIR: /config/recordings - JIBRI_FINALIZE_RECORDING_SCRIPT_PATH: /config/finalize.sh - JIBRI_XMPP_USER: jibri - JIBRI_BREWERY_MUC: jibribrewery - JIBRI_PENDING_TIMEOUT: "90" - JIBRI_STRIP_DOMAIN_JID: muc - JIBRI_LOGS_DIR: /config/logs - $$cap_appname-prosody: - image: jitsi/prosody:$$cap_tag_version - restart: unless-stopped - expose: - - "5222" - - "5347" - - "5280" - volumes: - - $$cap_appname-prosody:/config - environment: - JICOFO_COMPONENT_SECRET: $$cap_password - JICOFO_AUTH_PASSWORD: $$cap_password - JVB_AUTH_PASSWORD: $$cap_password - JIGASI_XMPP_PASSWORD: $$cap_password - JIBRI_RECORDER_PASSWORD: $$cap_password - JIBRI_XMPP_PASSWORD: $$cap_password - HTTP_PORT: $$cap_http_port - HTTPS_PORT: $$cap_https_port - TZ: $$cap_timezone - XMPP_DOMAIN: meet.jitsi - XMPP_SERVER: srv-captain--$$cap_appname-prosody - XMPP_BOSH_URL_BASE: http://srv-captain--$$cap_appname-prosody:5280 - XMPP_AUTH_DOMAIN: auth.meet.jitsi - XMPP_MUC_DOMAIN: muc.meet.jitsi - XMPP_INTERNAL_MUC_DOMAIN: internal-muc.meet.jitsi - XMPP_GUEST_DOMAIN: guest.meet.jitsi - XMPP_MODULES: "" - XMPP_MUC_MODULES: "" - XMPP_INTERNAL_MUC_MODULES: "" - JVB_BREWERY_MUC: jvbbrewery - JVB_AUTH_USER: jvb - JVB_STUN_SERVERS: meet-jit-si-turnrelay.jitsi.net:443 - JVB_PORT: $$cap_jvb_udp - JVB_TCP_HARVESTER_DISABLED: "true" - JVB_TCP_PORT: $$cap_jvb_tcp - JICOFO_AUTH_USER: focus - JIGASI_XMPP_USER: jigasi - JIGASI_BREWERY_MUC: jigasibrewery - JIGASI_PORT_MIN: "20000" - JIGASI_PORT_MAX: "20050" - XMPP_RECORDER_DOMAIN: recorder.meet.jitsi - JIBRI_RECORDER_USER: recorder - JIBRI_RECORDING_DIR: /config/recordings - JIBRI_FINALIZE_RECORDING_SCRIPT_PATH: /config/finalize.sh - JIBRI_XMPP_USER: jibri - JIBRI_BREWERY_MUC: jibribrewery - JIBRI_PENDING_TIMEOUT: "90" - JIBRI_STRIP_DOMAIN_JID: muc - JIBRI_LOGS_DIR: /config/logs - caproverExtra: - notExposeAsWebApp: "true" - $$cap_appname-jicofo: - image: jitsi/jicofo:$$cap_tag_version - restart: unless-stopped - volumes: - - $$cap_appname-jicofo:/config - environment: - JICOFO_COMPONENT_SECRET: $$cap_password - JICOFO_AUTH_PASSWORD: $$cap_password - JVB_AUTH_PASSWORD: $$cap_password - JIGASI_XMPP_PASSWORD: $$cap_password - JIBRI_RECORDER_PASSWORD: $$cap_password - JIBRI_XMPP_PASSWORD: $$cap_password - HTTP_PORT: $$cap_http_port - HTTPS_PORT: $$cap_https_port - TZ: $$cap_timezone - XMPP_DOMAIN: meet.jitsi - XMPP_SERVER: srv-captain--$$cap_appname-prosody - XMPP_BOSH_URL_BASE: http://srv-captain--$$cap_appname-prosody:5280 - XMPP_AUTH_DOMAIN: auth.meet.jitsi - XMPP_MUC_DOMAIN: muc.meet.jitsi - XMPP_INTERNAL_MUC_DOMAIN: internal-muc.meet.jitsi - XMPP_GUEST_DOMAIN: guest.meet.jitsi - XMPP_MODULES: "" - XMPP_MUC_MODULES: "" - XMPP_INTERNAL_MUC_MODULES: "" - JVB_BREWERY_MUC: jvbbrewery - JVB_AUTH_USER: jvb - JVB_STUN_SERVERS: meet-jit-si-turnrelay.jitsi.net:443 - JVB_PORT: $$cap_jvb_udp - JVB_TCP_HARVESTER_DISABLED: "true" - JVB_TCP_PORT: $$cap_jvb_tcp - JICOFO_AUTH_USER: focus - JIGASI_XMPP_USER: jigasi - JIGASI_BREWERY_MUC: jigasibrewery - JIGASI_PORT_MIN: "20000" - JIGASI_PORT_MAX: "20050" - XMPP_RECORDER_DOMAIN: recorder.meet.jitsi - JIBRI_RECORDER_USER: recorder - JIBRI_RECORDING_DIR: /config/recordings - JIBRI_FINALIZE_RECORDING_SCRIPT_PATH: /config/finalize.sh - JIBRI_XMPP_USER: jibri - JIBRI_BREWERY_MUC: jibribrewery - JIBRI_PENDING_TIMEOUT: "90" - JIBRI_STRIP_DOMAIN_JID: muc - JIBRI_LOGS_DIR: /config/logs - depends_on: - - $$cap_appname-prosody - caproverExtra: - notExposeAsWebApp: "true" - $$cap_appname-jvb: - image: jitsi/jvb:$$cap_tag_version - restart: unless-stopped - ports: - - $$cap_jvb_udp:$$cap_jvb_udp - - $$cap_jvb_tcp:$$cap_jvb_tcp - volumes: - - $$cap_appname-jvb:/config - environment: - JICOFO_COMPONENT_SECRET: $$cap_password - JICOFO_AUTH_PASSWORD: $$cap_password - JVB_AUTH_PASSWORD: $$cap_password - JIGASI_XMPP_PASSWORD: $$cap_password - JIBRI_RECORDER_PASSWORD: $$cap_password - JIBRI_XMPP_PASSWORD: $$cap_password - HTTP_PORT: $$cap_http_port - HTTPS_PORT: $$cap_https_port - TZ: $$cap_timezone - XMPP_DOMAIN: meet.jitsi - XMPP_SERVER: srv-captain--$$cap_appname-prosody - XMPP_BOSH_URL_BASE: http://srv-captain--$$cap_appname-prosody:5280 - XMPP_AUTH_DOMAIN: auth.meet.jitsi - XMPP_MUC_DOMAIN: muc.meet.jitsi - XMPP_INTERNAL_MUC_DOMAIN: internal-muc.meet.jitsi - XMPP_GUEST_DOMAIN: guest.meet.jitsi - XMPP_MODULES: "" - XMPP_MUC_MODULES: "" - XMPP_INTERNAL_MUC_MODULES: "" - JVB_BREWERY_MUC: jvbbrewery - JVB_AUTH_USER: jvb - JVB_STUN_SERVERS: meet-jit-si-turnrelay.jitsi.net:443 - JVB_PORT: $$cap_jvb_udp - JVB_TCP_HARVESTER_DISABLED: "true" - JVB_TCP_PORT: $$cap_jvb_tcp - JICOFO_AUTH_USER: focus - JIGASI_XMPP_USER: jigasi - JIGASI_BREWERY_MUC: jigasibrewery - JIGASI_PORT_MIN: "20000" - JIGASI_PORT_MAX: "20050" - XMPP_RECORDER_DOMAIN: recorder.meet.jitsi - JIBRI_RECORDER_USER: recorder - JIBRI_RECORDING_DIR: /config/recordings - JIBRI_FINALIZE_RECORDING_SCRIPT_PATH: /config/finalize.sh - JIBRI_XMPP_USER: jibri - JIBRI_BREWERY_MUC: jibribrewery - JIBRI_PENDING_TIMEOUT: "90" - JIBRI_STRIP_DOMAIN_JID: muc - JIBRI_LOGS_DIR: /config/logs - depends_on: - - $$cap_appname-prosody - caproverExtra: - notExposeAsWebApp: "true" + $$cap_appname-web: + image: jitsi/web:$$cap_tag_version + restart: unless-stopped + ports: + - $$cap_https_port:443 + - $$cap_http_port:80 + volumes: + - $$cap_appname-web:/config + - $$cap_appname-web-transcripts:/usr/share/jitsi-meet/transcripts + environment: + JICOFO_COMPONENT_SECRET: $$cap_password + JICOFO_AUTH_PASSWORD: $$cap_password + JVB_AUTH_PASSWORD: $$cap_password + JIGASI_XMPP_PASSWORD: $$cap_password + JIBRI_RECORDER_PASSWORD: $$cap_password + JIBRI_XMPP_PASSWORD: $$cap_password + HTTP_PORT: $$cap_http_port + HTTPS_PORT: $$cap_https_port + TZ: $$cap_timezone + XMPP_DOMAIN: meet.jitsi + XMPP_SERVER: srv-captain--$$cap_appname-prosody + XMPP_BOSH_URL_BASE: http://srv-captain--$$cap_appname-prosody:5280 + XMPP_AUTH_DOMAIN: auth.meet.jitsi + XMPP_MUC_DOMAIN: muc.meet.jitsi + XMPP_INTERNAL_MUC_DOMAIN: internal-muc.meet.jitsi + XMPP_GUEST_DOMAIN: guest.meet.jitsi + XMPP_MODULES: '' + XMPP_MUC_MODULES: '' + XMPP_INTERNAL_MUC_MODULES: '' + JVB_BREWERY_MUC: jvbbrewery + JVB_AUTH_USER: jvb + JVB_STUN_SERVERS: meet-jit-si-turnrelay.jitsi.net:443 + JVB_PORT: $$cap_jvb_udp + JVB_TCP_HARVESTER_DISABLED: 'true' + JVB_TCP_PORT: $$cap_jvb_tcp + JICOFO_AUTH_USER: focus + JIGASI_XMPP_USER: jigasi + JIGASI_BREWERY_MUC: jigasibrewery + JIGASI_PORT_MIN: '20000' + JIGASI_PORT_MAX: '20050' + XMPP_RECORDER_DOMAIN: recorder.meet.jitsi + JIBRI_RECORDER_USER: recorder + JIBRI_RECORDING_DIR: /config/recordings + JIBRI_FINALIZE_RECORDING_SCRIPT_PATH: /config/finalize.sh + JIBRI_XMPP_USER: jibri + JIBRI_BREWERY_MUC: jibribrewery + JIBRI_PENDING_TIMEOUT: '90' + JIBRI_STRIP_DOMAIN_JID: muc + JIBRI_LOGS_DIR: /config/logs + $$cap_appname-prosody: + image: jitsi/prosody:$$cap_tag_version + restart: unless-stopped + expose: + - '5222' + - '5347' + - '5280' + volumes: + - $$cap_appname-prosody:/config + environment: + JICOFO_COMPONENT_SECRET: $$cap_password + JICOFO_AUTH_PASSWORD: $$cap_password + JVB_AUTH_PASSWORD: $$cap_password + JIGASI_XMPP_PASSWORD: $$cap_password + JIBRI_RECORDER_PASSWORD: $$cap_password + JIBRI_XMPP_PASSWORD: $$cap_password + HTTP_PORT: $$cap_http_port + HTTPS_PORT: $$cap_https_port + TZ: $$cap_timezone + XMPP_DOMAIN: meet.jitsi + XMPP_SERVER: srv-captain--$$cap_appname-prosody + XMPP_BOSH_URL_BASE: http://srv-captain--$$cap_appname-prosody:5280 + XMPP_AUTH_DOMAIN: auth.meet.jitsi + XMPP_MUC_DOMAIN: muc.meet.jitsi + XMPP_INTERNAL_MUC_DOMAIN: internal-muc.meet.jitsi + XMPP_GUEST_DOMAIN: guest.meet.jitsi + XMPP_MODULES: '' + XMPP_MUC_MODULES: '' + XMPP_INTERNAL_MUC_MODULES: '' + JVB_BREWERY_MUC: jvbbrewery + JVB_AUTH_USER: jvb + JVB_STUN_SERVERS: meet-jit-si-turnrelay.jitsi.net:443 + JVB_PORT: $$cap_jvb_udp + JVB_TCP_HARVESTER_DISABLED: 'true' + JVB_TCP_PORT: $$cap_jvb_tcp + JICOFO_AUTH_USER: focus + JIGASI_XMPP_USER: jigasi + JIGASI_BREWERY_MUC: jigasibrewery + JIGASI_PORT_MIN: '20000' + JIGASI_PORT_MAX: '20050' + XMPP_RECORDER_DOMAIN: recorder.meet.jitsi + JIBRI_RECORDER_USER: recorder + JIBRI_RECORDING_DIR: /config/recordings + JIBRI_FINALIZE_RECORDING_SCRIPT_PATH: /config/finalize.sh + JIBRI_XMPP_USER: jibri + JIBRI_BREWERY_MUC: jibribrewery + JIBRI_PENDING_TIMEOUT: '90' + JIBRI_STRIP_DOMAIN_JID: muc + JIBRI_LOGS_DIR: /config/logs + caproverExtra: + notExposeAsWebApp: 'true' + $$cap_appname-jicofo: + image: jitsi/jicofo:$$cap_tag_version + restart: unless-stopped + volumes: + - $$cap_appname-jicofo:/config + environment: + JICOFO_COMPONENT_SECRET: $$cap_password + JICOFO_AUTH_PASSWORD: $$cap_password + JVB_AUTH_PASSWORD: $$cap_password + JIGASI_XMPP_PASSWORD: $$cap_password + JIBRI_RECORDER_PASSWORD: $$cap_password + JIBRI_XMPP_PASSWORD: $$cap_password + HTTP_PORT: $$cap_http_port + HTTPS_PORT: $$cap_https_port + TZ: $$cap_timezone + XMPP_DOMAIN: meet.jitsi + XMPP_SERVER: srv-captain--$$cap_appname-prosody + XMPP_BOSH_URL_BASE: http://srv-captain--$$cap_appname-prosody:5280 + XMPP_AUTH_DOMAIN: auth.meet.jitsi + XMPP_MUC_DOMAIN: muc.meet.jitsi + XMPP_INTERNAL_MUC_DOMAIN: internal-muc.meet.jitsi + XMPP_GUEST_DOMAIN: guest.meet.jitsi + XMPP_MODULES: '' + XMPP_MUC_MODULES: '' + XMPP_INTERNAL_MUC_MODULES: '' + JVB_BREWERY_MUC: jvbbrewery + JVB_AUTH_USER: jvb + JVB_STUN_SERVERS: meet-jit-si-turnrelay.jitsi.net:443 + JVB_PORT: $$cap_jvb_udp + JVB_TCP_HARVESTER_DISABLED: 'true' + JVB_TCP_PORT: $$cap_jvb_tcp + JICOFO_AUTH_USER: focus + JIGASI_XMPP_USER: jigasi + JIGASI_BREWERY_MUC: jigasibrewery + JIGASI_PORT_MIN: '20000' + JIGASI_PORT_MAX: '20050' + XMPP_RECORDER_DOMAIN: recorder.meet.jitsi + JIBRI_RECORDER_USER: recorder + JIBRI_RECORDING_DIR: /config/recordings + JIBRI_FINALIZE_RECORDING_SCRIPT_PATH: /config/finalize.sh + JIBRI_XMPP_USER: jibri + JIBRI_BREWERY_MUC: jibribrewery + JIBRI_PENDING_TIMEOUT: '90' + JIBRI_STRIP_DOMAIN_JID: muc + JIBRI_LOGS_DIR: /config/logs + depends_on: + - $$cap_appname-prosody + caproverExtra: + notExposeAsWebApp: 'true' + $$cap_appname-jvb: + image: jitsi/jvb:$$cap_tag_version + restart: unless-stopped + ports: + - $$cap_jvb_udp:$$cap_jvb_udp + - $$cap_jvb_tcp:$$cap_jvb_tcp + volumes: + - $$cap_appname-jvb:/config + environment: + JICOFO_COMPONENT_SECRET: $$cap_password + JICOFO_AUTH_PASSWORD: $$cap_password + JVB_AUTH_PASSWORD: $$cap_password + JIGASI_XMPP_PASSWORD: $$cap_password + JIBRI_RECORDER_PASSWORD: $$cap_password + JIBRI_XMPP_PASSWORD: $$cap_password + HTTP_PORT: $$cap_http_port + HTTPS_PORT: $$cap_https_port + TZ: $$cap_timezone + XMPP_DOMAIN: meet.jitsi + XMPP_SERVER: srv-captain--$$cap_appname-prosody + XMPP_BOSH_URL_BASE: http://srv-captain--$$cap_appname-prosody:5280 + XMPP_AUTH_DOMAIN: auth.meet.jitsi + XMPP_MUC_DOMAIN: muc.meet.jitsi + XMPP_INTERNAL_MUC_DOMAIN: internal-muc.meet.jitsi + XMPP_GUEST_DOMAIN: guest.meet.jitsi + XMPP_MODULES: '' + XMPP_MUC_MODULES: '' + XMPP_INTERNAL_MUC_MODULES: '' + JVB_BREWERY_MUC: jvbbrewery + JVB_AUTH_USER: jvb + JVB_STUN_SERVERS: meet-jit-si-turnrelay.jitsi.net:443 + JVB_PORT: $$cap_jvb_udp + JVB_TCP_HARVESTER_DISABLED: 'true' + JVB_TCP_PORT: $$cap_jvb_tcp + JICOFO_AUTH_USER: focus + JIGASI_XMPP_USER: jigasi + JIGASI_BREWERY_MUC: jigasibrewery + JIGASI_PORT_MIN: '20000' + JIGASI_PORT_MAX: '20050' + XMPP_RECORDER_DOMAIN: recorder.meet.jitsi + JIBRI_RECORDER_USER: recorder + JIBRI_RECORDING_DIR: /config/recordings + JIBRI_FINALIZE_RECORDING_SCRIPT_PATH: /config/finalize.sh + JIBRI_XMPP_USER: jibri + JIBRI_BREWERY_MUC: jibribrewery + JIBRI_PENDING_TIMEOUT: '90' + JIBRI_STRIP_DOMAIN_JID: muc + JIBRI_LOGS_DIR: /config/logs + depends_on: + - $$cap_appname-prosody + caproverExtra: + notExposeAsWebApp: 'true' caproverOneClickApp: - variables: - - label: Docker tag version - description: "You can check the version in Docker Hub: https://hub.docker.com/r/jitsi/web/tags" - defaultValue: "4416" - id: $$cap_tag_version - - label: HTTP Port - description: This is the HTTP port to access Jitsi - defaultValue: "8000" - id: $$cap_http_port - - label: HTTPS Port - description: This is the HTTPS port to access Jitsi - defaultValue: "8443" - id: $$cap_https_port - - label: Timezone - description: This is the timezone for Jitsi - defaultValue: Europe/Amsterdam - id: $$cap_timezone - - label: JVB TCP Port - description: TCP Port for JVB service - defaultValue: "4443" - id: $$cap_jvb_tcp - - label: JVB UDP Port - description: UDP Port for JVB service - defaultValue: "10000" - id: $$cap_jvb_udp - - label: Password - description: This is the password for Jitsi's services - defaultValue: pass - id: $$cap_password - instructions: - end: Containers were created successfully. You should wait for a few minutes before enter to Jitsi Web. - start: This one click app is based on Jitsi docker image. - displayName: Jitsi - isOfficial: true - description: Free open-source video conferencing for web & mobile - documentation: https://github.com/jitsi/docker-jitsi-meet + variables: + - label: Docker tag version + description: 'You can check the version in Docker Hub: https://hub.docker.com/r/jitsi/web/tags' + defaultValue: '4416' + id: $$cap_tag_version + - label: HTTP Port + description: This is the HTTP port to access Jitsi + defaultValue: '8000' + id: $$cap_http_port + - label: HTTPS Port + description: This is the HTTPS port to access Jitsi + defaultValue: '8443' + id: $$cap_https_port + - label: Timezone + description: This is the timezone for Jitsi + defaultValue: Europe/Amsterdam + id: $$cap_timezone + - label: JVB TCP Port + description: TCP Port for JVB service + defaultValue: '4443' + id: $$cap_jvb_tcp + - label: JVB UDP Port + description: UDP Port for JVB service + defaultValue: '10000' + id: $$cap_jvb_udp + - label: Password + description: This is the password for Jitsi's services + defaultValue: pass + id: $$cap_password + instructions: + end: Containers were created successfully. You should wait for a few minutes before enter to Jitsi Web. + start: This one click app is based on Jitsi docker image. + displayName: Jitsi + isOfficial: true + description: Free open-source video conferencing for web & mobile + documentation: https://github.com/jitsi/docker-jitsi-meet diff --git a/public/v4/apps/joomla.yml b/public/v4/apps/joomla.yml index e09fa05..0cea549 100644 --- a/public/v4/apps/joomla.yml +++ b/public/v4/apps/joomla.yml @@ -1,51 +1,51 @@ captainVersion: 4 services: - $$cap_appname-joomla: - image: joomla:$$cap_joomla_version - volumes: - - $$cap_appname-joomla-data:/var/www/html - restart: always - environment: - JOOMLA_DB_HOST: $$cap_db_host:3306 - JOOMLA_DB_NAME: $$cap_db_name - JOOMLA_DB_USER: $$cap_db_user - JOOMLA_DB_PASSWORD: $$cap_db_pass + $$cap_appname-joomla: + image: joomla:$$cap_joomla_version + volumes: + - $$cap_appname-joomla-data:/var/www/html + restart: always + environment: + JOOMLA_DB_HOST: $$cap_db_host:3306 + JOOMLA_DB_NAME: $$cap_db_name + JOOMLA_DB_USER: $$cap_db_user + JOOMLA_DB_PASSWORD: $$cap_db_pass caproverOneClickApp: - variables: - - description: Database Host - defaultValue: srv-captain--xxx - id: $$cap_db_host - label: Database Host - - description: Database Name - defaultValue: joomla - id: $$cap_db_name - label: DB Name - - id: $$cap_db_user - label: Database User - defaultValue: joomla - - id: $$cap_db_pass - label: Database Password - description: "" - validRegex: /.{1,}/ - - id: $$cap_joomla_version - label: Joomla Version - defaultValue: php7.3-apache - description: Check out their Docker page for the valid tags https://hub.docker.com/_/joomla?tab=tags - validRegex: /^([^\s^\/])+$/ - instructions: - start: >- - Joomla! is one of world's most popular software packages. It is used to build, organise, manage and publish content for small businesses, governments, non-profits and large organisations worldwide. + variables: + - description: Database Host + defaultValue: srv-captain--xxx + id: $$cap_db_host + label: Database Host + - description: Database Name + defaultValue: joomla + id: $$cap_db_name + label: DB Name + - id: $$cap_db_user + label: Database User + defaultValue: joomla + - id: $$cap_db_pass + label: Database Password + description: '' + validRegex: /.{1,}/ + - id: $$cap_joomla_version + label: Joomla Version + defaultValue: php7.3-apache + description: Check out their Docker page for the valid tags https://hub.docker.com/_/joomla?tab=tags + validRegex: /^([^\s^\/])+$/ + instructions: + start: >- + Joomla! is one of world's most popular software packages. It is used to build, organise, manage and publish content for small businesses, governments, non-profits and large organisations worldwide. - Enter your Joomla Configuration parameters and click on next. A Joomla container will be created for you. The process will take about a minute for the process to finish. + Enter your Joomla Configuration parameters and click on next. A Joomla container will be created for you. The process will take about a minute for the process to finish. - Note: This app is intended for advanced users who'd like to have a central DB in a single container for multiple instances. You should start by configuring your DB first and then comeback with all the DB Information. - end: >- - Joomla is deployed and available as $$cap_appname-joomla . + Note: This app is intended for advanced users who'd like to have a central DB in a single container for multiple instances. You should start by configuring your DB first and then comeback with all the DB Information. + end: >- + Joomla is deployed and available as $$cap_appname-joomla . - IMPORTANT: It will take up to 2 minutes for Joomla to be ready. Before that, you might see a 502 error page. + IMPORTANT: It will take up to 2 minutes for Joomla to be ready. Before that, you might see a 502 error page. - Remember that this app will not create a Database by itself. You need to provide all that information. - displayName: Joomla - No Database - isOfficial: true - description: This will create a Joomla only. You will need to create and configure the database information manually. Intended for advanced users. - documentation: Taken from https://hub.docker.com/_/joomla?tab=description. Based on Wordpress - No Database template. + Remember that this app will not create a Database by itself. You need to provide all that information. + displayName: Joomla - No Database + isOfficial: true + description: This will create a Joomla only. You will need to create and configure the database information manually. Intended for advanced users. + documentation: Taken from https://hub.docker.com/_/joomla?tab=description. Based on Wordpress - No Database template. diff --git a/public/v4/apps/jsreport.yml b/public/v4/apps/jsreport.yml index 77e3f27..f9b4a01 100644 --- a/public/v4/apps/jsreport.yml +++ b/public/v4/apps/jsreport.yml @@ -1,39 +1,39 @@ captainVersion: 4 services: - $$cap_appname: - image: jsreport/jsreport:$$cap_jsreport_version - volumes: - - $$cap_appname-data:/jsreport - restart: always - environment: - extensions_authentication_admin_username: $$cap_jsreport_adminusername - extensions_authentication_admin_password: $$cap_jsreport_password - extensions_authentication_cookieSession_secret: $$cap_jsreport_secret - caproverExtra: - containerHttpPort: "5488" + $$cap_appname: + image: jsreport/jsreport:$$cap_jsreport_version + volumes: + - $$cap_appname-data:/jsreport + restart: always + environment: + extensions_authentication_admin_username: $$cap_jsreport_adminusername + extensions_authentication_admin_password: $$cap_jsreport_password + extensions_authentication_cookieSession_secret: $$cap_jsreport_secret + caproverExtra: + containerHttpPort: '5488' caproverOneClickApp: - variables: - - id: $$cap_jsreport_version - label: version - defaultValue: 2.4.0-full - description: Check out their Docker page for the valid tags https://hub.docker.com/r/jsreport/jsreport/tags - validRegex: /^([^\s^\/])+$/ - - id: $$cap_jsreport_adminusername - label: Admin user name - defaultValue: admin - description: Only use alphanumeric chars. - validRegex: /^([a-zA-Z0-9])+$/ - - id: $$cap_jsreport_password - label: Admin password - validRegex: /^\s*\S.*$/ - - id: $$cap_jsreport_secret - label: Session secret - defaultValue: long-secret - validRegex: /^\s*\S.*$/ - instructions: - start: Reporting tools for creating PDF, HTMLS, Excel by converting your HTML + CSS + Javascript knowledge. - end: Congratulations! You have the new jsReport instance running. Happy reporting! - displayName: "" - isOfficial: true - description: jsreport is an open source reporting platform where reports are designed using popular javascript templating engines - documentation: Taken from https://hub.docker.com/r/jsreport/jsreport/ + variables: + - id: $$cap_jsreport_version + label: version + defaultValue: 2.4.0-full + description: Check out their Docker page for the valid tags https://hub.docker.com/r/jsreport/jsreport/tags + validRegex: /^([^\s^\/])+$/ + - id: $$cap_jsreport_adminusername + label: Admin user name + defaultValue: admin + description: Only use alphanumeric chars. + validRegex: /^([a-zA-Z0-9])+$/ + - id: $$cap_jsreport_password + label: Admin password + validRegex: /^\s*\S.*$/ + - id: $$cap_jsreport_secret + label: Session secret + defaultValue: long-secret + validRegex: /^\s*\S.*$/ + instructions: + start: Reporting tools for creating PDF, HTMLS, Excel by converting your HTML + CSS + Javascript knowledge. + end: Congratulations! You have the new jsReport instance running. Happy reporting! + displayName: '' + isOfficial: true + description: jsreport is an open source reporting platform where reports are designed using popular javascript templating engines + documentation: Taken from https://hub.docker.com/r/jsreport/jsreport/ diff --git a/public/v4/apps/jupyter-lab.yml b/public/v4/apps/jupyter-lab.yml index 491fa52..b43a0d7 100644 --- a/public/v4/apps/jupyter-lab.yml +++ b/public/v4/apps/jupyter-lab.yml @@ -1,31 +1,31 @@ captainVersion: 4 services: - $$cap_appname: - restart: always - environment: - JUPYTER_ENABLE_LAB: yes - volumes: - - $$cap_appname:/home/jovyan/ - caproverExtra: - containerHttpPort: "8888" - dockerfileLines: - - FROM jupyter/datascience-notebook:9f9e5ca8fe5a - - RUN pip install lxml - - RUN jupyter notebook --generate-config - - RUN echo 'c.NotebookApp.token = "$$cap_jupyter_default_token"' >> /home/jovyan/.jupyter/jupyter_notebook_config.py - - EXPOSE 8888 + $$cap_appname: + restart: always + environment: + JUPYTER_ENABLE_LAB: yes + volumes: + - $$cap_appname:/home/jovyan/ + caproverExtra: + containerHttpPort: '8888' + dockerfileLines: + - FROM jupyter/datascience-notebook:9f9e5ca8fe5a + - RUN pip install lxml + - RUN jupyter notebook --generate-config + - RUN echo 'c.NotebookApp.token = "$$cap_jupyter_default_token"' >> /home/jovyan/.jupyter/jupyter_notebook_config.py + - EXPOSE 8888 caproverOneClickApp: - variables: - - id: $$cap_jupyter_default_token - label: Jupyter default token - description: The default login token allows you to set a password within the application. For better experience leave empty and enable basic auth within the CaprRover dashboard. - instructions: - start: JupyterLab is the next-generation user interface for Project Jupyter. - end: >- - JupyterLab server is deployed and is available as $$cap_appname. + variables: + - id: $$cap_jupyter_default_token + label: Jupyter default token + description: The default login token allows you to set a password within the application. For better experience leave empty and enable basic auth within the CaprRover dashboard. + instructions: + start: JupyterLab is the next-generation user interface for Project Jupyter. + end: >- + JupyterLab server is deployed and is available as $$cap_appname. - IMPORTANT: Make sure to enable websocket capability in the app config on CapRover dashboard! - displayName: JupyterLab - isOfficial: true - description: JupyterLab is the next-generation user interface for Project Jupyter. It offers all the familiar building blocks of the classic Jupyter Notebook in a flexible and powerful user interface. - documentation: "Read more at: https://jupyter-docker-stacks.readthedocs.io/" + IMPORTANT: Make sure to enable websocket capability in the app config on CapRover dashboard! + displayName: JupyterLab + isOfficial: true + description: JupyterLab is the next-generation user interface for Project Jupyter. It offers all the familiar building blocks of the classic Jupyter Notebook in a flexible and powerful user interface. + documentation: 'Read more at: https://jupyter-docker-stacks.readthedocs.io/' diff --git a/public/v4/apps/keycloak.yml b/public/v4/apps/keycloak.yml index 18d0396..93525d5 100644 --- a/public/v4/apps/keycloak.yml +++ b/public/v4/apps/keycloak.yml @@ -1,70 +1,70 @@ captainVersion: 4 services: - $$cap_appname-db: - image: postgres:$$cap_postgres_version - volumes: - - $$cap_appname-db-data:/var/lib/postgresql/data - restart: always - environment: - POSTGRES_USER: keycloak - POSTGRES_PASSWORD: $$cap_pg_pass - POSTGRES_DB: keycloak - caproverExtra: - notExposeAsWebApp: "true" - $$cap_appname: - image: jboss/keycloak:$$cap_keycloak_version - depends_on: - - $$cap_appname-db - restart: always - environment: - DB_VENDOR: postgres - DB_ADDR: srv-captain--$$cap_appname-db - POSTGRES_DB: keycloak - DB_USER: keycloak - DB_PASSWORD: $$cap_pg_pass - KEYCLOAK_USER: $$cap_keycloak_user - KEYCLOAK_PASSWORD: $$cap_keycloak_password - PROXY_ADDRESS_FORWARDING: "true" - caproverExtra: - containerHttpPort: "8080" + $$cap_appname-db: + image: postgres:$$cap_postgres_version + volumes: + - $$cap_appname-db-data:/var/lib/postgresql/data + restart: always + environment: + POSTGRES_USER: keycloak + POSTGRES_PASSWORD: $$cap_pg_pass + POSTGRES_DB: keycloak + caproverExtra: + notExposeAsWebApp: 'true' + $$cap_appname: + image: jboss/keycloak:$$cap_keycloak_version + depends_on: + - $$cap_appname-db + restart: always + environment: + DB_VENDOR: postgres + DB_ADDR: srv-captain--$$cap_appname-db + POSTGRES_DB: keycloak + DB_USER: keycloak + DB_PASSWORD: $$cap_pg_pass + KEYCLOAK_USER: $$cap_keycloak_user + KEYCLOAK_PASSWORD: $$cap_keycloak_password + PROXY_ADDRESS_FORWARDING: 'true' + caproverExtra: + containerHttpPort: '8080' caproverOneClickApp: - variables: - - id: $$cap_postgres_version - label: Postgres Version - defaultValue: "9.6" - description: Check out their Docker page for the valid tags https://hub.docker.com/r/library/postgres/tags/ - validRegex: /^([^\s^\/])+$/ - - id: $$cap_keycloak_version - label: Keycloak Version - defaultValue: 6.0.1 - description: Check out their Docker page for the valid tags https://hub.docker.com/r/jboss/keycloak/tags - validRegex: /^([^\s^\/])+$/ - - id: $$cap_pg_pass - label: Postgres Password - description: "Password strength requeriments: Should contain at least one digit, one lower case, one upper case and at least 12 from the mentioned characters." - validRegex: /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])[0-9a-zA-Z]{12,}$/ - - id: $$cap_keycloak_user - label: Keycloak user - description: "" - validRegex: /.{1,}/ - - id: $$cap_keycloak_password - label: Keycloak password - description: "Password strength requeriments: Should contain at least one digit, one lower case, one upper case and at least 12 from the mentioned characters." - validRegex: /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])[0-9a-zA-Z]{12,}$/ - instructions: - start: >- - Keycloak is an Open Source Identity and Access Management solution for modern Applications and Services. It makes it easy to secure applications and services with little to no code. + variables: + - id: $$cap_postgres_version + label: Postgres Version + defaultValue: '9.6' + description: Check out their Docker page for the valid tags https://hub.docker.com/r/library/postgres/tags/ + validRegex: /^([^\s^\/])+$/ + - id: $$cap_keycloak_version + label: Keycloak Version + defaultValue: 6.0.1 + description: Check out their Docker page for the valid tags https://hub.docker.com/r/jboss/keycloak/tags + validRegex: /^([^\s^\/])+$/ + - id: $$cap_pg_pass + label: Postgres Password + description: 'Password strength requeriments: Should contain at least one digit, one lower case, one upper case and at least 12 from the mentioned characters.' + validRegex: /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])[0-9a-zA-Z]{12,}$/ + - id: $$cap_keycloak_user + label: Keycloak user + description: '' + validRegex: /.{1,}/ + - id: $$cap_keycloak_password + label: Keycloak password + description: 'Password strength requeriments: Should contain at least one digit, one lower case, one upper case and at least 12 from the mentioned characters.' + validRegex: /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])[0-9a-zA-Z]{12,}$/ + instructions: + start: >- + Keycloak is an Open Source Identity and Access Management solution for modern Applications and Services. It makes it easy to secure applications and services with little to no code. - For documentation, see: https://www.keycloak.org/documentation.html + For documentation, see: https://www.keycloak.org/documentation.html - For source code, see: https://github.com/keycloak/keycloak + For source code, see: https://github.com/keycloak/keycloak - For docker image, see: https://hub.docker.com/r/jboss/keycloak + For docker image, see: https://hub.docker.com/r/jboss/keycloak - Enter your Keycloak Configuration parameters and click on next. It will take about a minute for the process to finish. - end: Keycloak is deployed and available as srv-captain--$$cap_appname:8080 to other apps - displayName: "" - isOfficial: true - description: Keycloak is an open source identity and access management solution - documentation: Taken from https://github.com/jboss-dockerfiles/keycloak/blob/master/server/README.md + Enter your Keycloak Configuration parameters and click on next. It will take about a minute for the process to finish. + end: Keycloak is deployed and available as srv-captain--$$cap_appname:8080 to other apps + displayName: '' + isOfficial: true + description: Keycloak is an open source identity and access management solution + documentation: Taken from https://github.com/jboss-dockerfiles/keycloak/blob/master/server/README.md diff --git a/public/v4/apps/kibana.yml b/public/v4/apps/kibana.yml index c992c41..b406511 100644 --- a/public/v4/apps/kibana.yml +++ b/public/v4/apps/kibana.yml @@ -1,41 +1,41 @@ captainVersion: 4 services: - $$cap_appname: - environment: - SERVER_NAME: $$cap_appname - KIBANA_DEFAULTAPPID: $$cap_KIBANA_DEFAULTAPPID - MONITORING_ENABLED: $$cap_MONITORING_ENABLED - ELASTICSEARCH_HOSTS: $$cap_ELASTICSEARCH_HOSTS - image: docker.elastic.co/kibana/kibana:$$cap_version - restart: always - caproverExtra: - containerHttpPort: "5601" + $$cap_appname: + environment: + SERVER_NAME: $$cap_appname + KIBANA_DEFAULTAPPID: $$cap_KIBANA_DEFAULTAPPID + MONITORING_ENABLED: $$cap_MONITORING_ENABLED + ELASTICSEARCH_HOSTS: $$cap_ELASTICSEARCH_HOSTS + image: docker.elastic.co/kibana/kibana:$$cap_version + restart: always + caproverExtra: + containerHttpPort: '5601' caproverOneClickApp: - variables: - - label: Kibana version - defaultValue: 7.8.0 - description: It's highly recommended that you don't use the latest tag but instead the major version you need. - id: $$cap_version - - label: Default App id - defaultValue: home - description: The default app that is loaded when you visit Kibana. Defaults to home - id: $$cap_KIBANA_DEFAULTAPPID - - label: MONITORING_ENABLED - description: Enable kibana monitoring features? - defaultValue: "true" - id: $$cap_MONITORING_ENABLED - - label: ELASTICSEARCH_HOSTS - description: URL of the elasticsearch hosts to use. Please include the http or https in the urls. eg. http://srv-captain--elastic - id: $$cap_ELASTICSEARCH_HOSTS - instructions: - end: >- - That's it! If you get a 502 it might mean that kibana cannot find your elasticsearch instance. Please recheck your configs + variables: + - label: Kibana version + defaultValue: 7.8.0 + description: It's highly recommended that you don't use the latest tag but instead the major version you need. + id: $$cap_version + - label: Default App id + defaultValue: home + description: The default app that is loaded when you visit Kibana. Defaults to home + id: $$cap_KIBANA_DEFAULTAPPID + - label: MONITORING_ENABLED + description: Enable kibana monitoring features? + defaultValue: 'true' + id: $$cap_MONITORING_ENABLED + - label: ELASTICSEARCH_HOSTS + description: URL of the elasticsearch hosts to use. Please include the http or https in the urls. eg. http://srv-captain--elastic + id: $$cap_ELASTICSEARCH_HOSTS + instructions: + end: >- + That's it! If you get a 502 it might mean that kibana cannot find your elasticsearch instance. Please recheck your configs - . Ensure basic auth is enabled so your data is not publicly available. - start: >- - Provide the ELASTICSEARCH_HOSTS so that kibana can find your elasticsearch instance. be sure to include the http:// protocol in the url. - Note that Kibana does not have persistent volumes as all data is stored in the elasticsearch instance itself. - displayName: kibana - isOfficial: true - description: Kibana is a free and open user interface that lets you visualize your Elasticsearch data and navigate the Elastic Stack. - documentation: https://www.elastic.co/guide/en/kibana/current/docker.html + . Ensure basic auth is enabled so your data is not publicly available. + start: >- + Provide the ELASTICSEARCH_HOSTS so that kibana can find your elasticsearch instance. be sure to include the http:// protocol in the url. + Note that Kibana does not have persistent volumes as all data is stored in the elasticsearch instance itself. + displayName: kibana + isOfficial: true + description: Kibana is a free and open user interface that lets you visualize your Elasticsearch data and navigate the Elastic Stack. + documentation: https://www.elastic.co/guide/en/kibana/current/docker.html diff --git a/public/v4/apps/leantime.yml b/public/v4/apps/leantime.yml index a96559b..f14c305 100644 --- a/public/v4/apps/leantime.yml +++ b/public/v4/apps/leantime.yml @@ -1,43 +1,43 @@ captainVersion: 4 services: - $$cap_appname-mysql: - volumes: - - $$cap_appname-mysql-data:/var/lib/mysql - environment: - MYSQL_DATABASE: leantime - MYSQL_ROOT_PASSWORD: $$cap_mysql_passwd - MYSQL_USER: leantimeuser - MYSQL_PASSWORD: $$cap_mysql_passwd - caproverExtra: - dockerfileLines: - - FROM mysql:5.7 - - CMD ["--character-set-server=utf8", "--collation-server=utf8_unicode_ci"] - $$cap_appname: - image: leantime/leantime:$$cap_leantime_ver - container_name: leantime - environment: - LEAN_APP_URL: https://$$cap_appname.$$cap_root_domain - LEAN_DB_HOST: srv-captain--$$cap_appname-mysql - LEAN_DB_USER: leantimeuser - LEAN_DB_PASSWORD: $$cap_mysql_passwd - LEAN_DB_DATABASE: leantime + $$cap_appname-mysql: + volumes: + - $$cap_appname-mysql-data:/var/lib/mysql + environment: + MYSQL_DATABASE: leantime + MYSQL_ROOT_PASSWORD: $$cap_mysql_passwd + MYSQL_USER: leantimeuser + MYSQL_PASSWORD: $$cap_mysql_passwd + caproverExtra: + dockerfileLines: + - FROM mysql:5.7 + - CMD ["--character-set-server=utf8", "--collation-server=utf8_unicode_ci"] + $$cap_appname: + image: leantime/leantime:$$cap_leantime_ver + container_name: leantime + environment: + LEAN_APP_URL: https://$$cap_appname.$$cap_root_domain + LEAN_DB_HOST: srv-captain--$$cap_appname-mysql + LEAN_DB_USER: leantimeuser + LEAN_DB_PASSWORD: $$cap_mysql_passwd + LEAN_DB_DATABASE: leantime caproverOneClickApp: - variables: - - description: User password for the database instance. - defaultValue: N2cQ4J9VzsfvXwzM - id: $$cap_mysql_passwd - label: MySQL User Password - validRegex: /^(?=.*\d).{10,}$/ - - defaultValue: 2.1.4 - id: $$cap_leantime_ver - label: Leantime Version - validRegex: /.+/ - instructions: - start: >- - Leantime is a lean project management system for innovators. Designed to help you manage your projects from ideation to delivery. - See more details here: https://leantime.io - end: Leantime is deployed as available as $$cap_appname! You MUST ENABLE HTTPS before accessing the panel. - displayName: Leantime - isOfficial: true - description: Open source project management for small teams - documentation: https://github.com/Leantime/docker-leantime/blob/master/docker-compose.yml + variables: + - description: User password for the database instance. + defaultValue: N2cQ4J9VzsfvXwzM + id: $$cap_mysql_passwd + label: MySQL User Password + validRegex: /^(?=.*\d).{10,}$/ + - defaultValue: 2.1.4 + id: $$cap_leantime_ver + label: Leantime Version + validRegex: /.+/ + instructions: + start: >- + Leantime is a lean project management system for innovators. Designed to help you manage your projects from ideation to delivery. + See more details here: https://leantime.io + end: Leantime is deployed as available as $$cap_appname! You MUST ENABLE HTTPS before accessing the panel. + displayName: Leantime + isOfficial: true + description: Open source project management for small teams + documentation: https://github.com/Leantime/docker-leantime/blob/master/docker-compose.yml diff --git a/public/v4/apps/limesurvey.yml b/public/v4/apps/limesurvey.yml index a03ce5c..2a2f9ef 100644 --- a/public/v4/apps/limesurvey.yml +++ b/public/v4/apps/limesurvey.yml @@ -1,69 +1,69 @@ captainVersion: 4 services: - $$cap_appname-db: - documentation: Taken from https://hub.docker.com/_/mariadb - image: mariadb:$$cap_mariadb_version - volumes: - - $$cap_appname-db-data:/var/lib/mysql - restart: always - environment: - MYSQL_ROOT_PASSWORD: $$cap_db_pass - MYSQL_DATABASE: $$cap_db_name - MYSQL_USER: $$cap_db_user - MYSQL_PASSWORD: $$cap_db_pass - caproverExtra: - notExposeAsWebApp: "true" - $$cap_appname: - documentation: Taken from https://registry.hub.docker.com/r/crramirez/limesurvey - depends_on: - - $$cap_appname-db - image: crramirez/limesurvey:$$cap_limesurvey_version - volumes: - - $$cap_appname-data:/app/upload - restart: always + $$cap_appname-db: + documentation: Taken from https://hub.docker.com/_/mariadb + image: mariadb:$$cap_mariadb_version + volumes: + - $$cap_appname-db-data:/var/lib/mysql + restart: always + environment: + MYSQL_ROOT_PASSWORD: $$cap_db_pass + MYSQL_DATABASE: $$cap_db_name + MYSQL_USER: $$cap_db_user + MYSQL_PASSWORD: $$cap_db_pass + caproverExtra: + notExposeAsWebApp: 'true' + $$cap_appname: + documentation: Taken from https://registry.hub.docker.com/r/crramirez/limesurvey + depends_on: + - $$cap_appname-db + image: crramirez/limesurvey:$$cap_limesurvey_version + volumes: + - $$cap_appname-data:/app/upload + restart: always caproverOneClickApp: - variables: - - id: $$cap_limesurvey_version - label: Limesurvey Version - defaultValue: "3" - description: https://registry.hub.docker.com/r/crramirez/limesurvey/tags - validRegex: /^([^\s^\/])+$/ - - id: $$cap_mariadb_version - label: MariaDB (database) version - defaultValue: 10.5.3 - description: Check out their Docker page for the valid tags https://hub.docker.com/_/mariadb?tab=tags - validRegex: /^([^\s^\/])+$/ - - id: $$cap_db_pass - label: database password - description: Password for the database user and root using mysql. - validRegex: /.{1,}/ - - id: $$cap_db_name - label: database name - defaultValue: limesurvey - description: name for the database. - validRegex: /^([a-zA-Z0-9])+$/ - - id: $$cap_db_user - label: database user - defaultValue: limesurvey - description: Username for the database using mysql. - validRegex: /^([a-zA-Z0-9])+$/ - instructions: - start: >- - Limesurvey is an open source online survey tool. + variables: + - id: $$cap_limesurvey_version + label: Limesurvey Version + defaultValue: '3' + description: https://registry.hub.docker.com/r/crramirez/limesurvey/tags + validRegex: /^([^\s^\/])+$/ + - id: $$cap_mariadb_version + label: MariaDB (database) version + defaultValue: 10.5.3 + description: Check out their Docker page for the valid tags https://hub.docker.com/_/mariadb?tab=tags + validRegex: /^([^\s^\/])+$/ + - id: $$cap_db_pass + label: database password + description: Password for the database user and root using mysql. + validRegex: /.{1,}/ + - id: $$cap_db_name + label: database name + defaultValue: limesurvey + description: name for the database. + validRegex: /^([a-zA-Z0-9])+$/ + - id: $$cap_db_user + label: database user + defaultValue: limesurvey + description: Username for the database using mysql. + validRegex: /^([a-zA-Z0-9])+$/ + instructions: + start: >- + Limesurvey is an open source online survey tool. - The process will deploy a database and the App. + The process will deploy a database and the App. - The process will take about a minute for the process to finish. - end: >- - Limesurvey is deployed and available as $$cap_appname. + The process will take about a minute for the process to finish. + end: >- + Limesurvey is deployed and available as $$cap_appname. - Please use srv-captain--$$cap_appname-db as database host on your online configuration. + Please use srv-captain--$$cap_appname-db as database host on your online configuration. - $$cap_db_user as user name + $$cap_db_user as user name - $$cap_db_pass as password + $$cap_db_pass as password - $$cap_db_name as database name - displayName: Limesurvey - description: Limesurvey is an open source online survey tool. + $$cap_db_name as database name + displayName: Limesurvey + description: Limesurvey is an open source online survey tool. diff --git a/public/v4/apps/mailtrain.yml b/public/v4/apps/mailtrain.yml index 1b15f94..e33cfb8 100644 --- a/public/v4/apps/mailtrain.yml +++ b/public/v4/apps/mailtrain.yml @@ -1,104 +1,104 @@ captainVersion: 4 services: - $$cap_appname-db: - image: mariadb:$$cap_mariadb_version - 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 - caproverExtra: - notExposeAsWebApp: "true" - $$cap_appname-redis: - image: redis:$$cap_redis_version - volumes: - - $$cap_appname-redis-data:/data - restart: always - caproverExtra: - notExposeAsWebApp: "true" - $$cap_appname-mongo: - image: mongo:$$cap_mongo_version - volumes: - - $$cap_appname-mongo-data:/data/db - restart: always - caproverExtra: - notExposeAsWebApp: "true" - $$cap_appname: - image: mailtrain/mailtrain:$$cap_mailtrain_version - 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 - caproverExtra: - containerHttpPort: "3000" - $$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 + $$cap_appname-db: + image: mariadb:$$cap_mariadb_version + 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 + caproverExtra: + notExposeAsWebApp: 'true' + $$cap_appname-redis: + image: redis:$$cap_redis_version + volumes: + - $$cap_appname-redis-data:/data + restart: always + caproverExtra: + notExposeAsWebApp: 'true' + $$cap_appname-mongo: + image: mongo:$$cap_mongo_version + volumes: + - $$cap_appname-mongo-data:/data/db + restart: always + caproverExtra: + notExposeAsWebApp: 'true' + $$cap_appname: + image: mailtrain/mailtrain:$$cap_mailtrain_version + 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 + caproverExtra: + containerHttpPort: '3000' + $$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 caproverOneClickApp: - 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,}$/ - 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. - displayName: Mailtrain V2(Beta) - isOfficial: true - description: Mailtrain is a self hosted newsletter application built on Node.js (v10+) and MySQL (v8+) or MariaDB (v10+). - documentation: Taken from https://github.com/Mailtrain-org/mailtrain/blob/development/docker-compose.yml + 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,}$/ + 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. + displayName: Mailtrain V2(Beta) + isOfficial: true + description: Mailtrain is a self hosted newsletter application built on Node.js (v10+) and MySQL (v8+) or MariaDB (v10+). + documentation: Taken from https://github.com/Mailtrain-org/mailtrain/blob/development/docker-compose.yml diff --git a/public/v4/apps/mariadb.yml b/public/v4/apps/mariadb.yml index deefe2d..62899f9 100644 --- a/public/v4/apps/mariadb.yml +++ b/public/v4/apps/mariadb.yml @@ -1,39 +1,39 @@ captainVersion: 4 services: - $$cap_appname-db: - volumes: - - $$cap_appname-db-data:/var/lib/mysql - restart: always - environment: - MYSQL_ROOT_PASSWORD: $$cap_db_pass - caproverExtra: - dockerfileLines: - - FROM mariadb:$$cap_mysql_version - - CMD ["--character-set-server=$$cap_charset", "--collation-server=$$cap_collation", "--skip-character-set-client-handshake"] - notExposeAsWebApp: "true" + $$cap_appname-db: + volumes: + - $$cap_appname-db-data:/var/lib/mysql + restart: always + environment: + MYSQL_ROOT_PASSWORD: $$cap_db_pass + caproverExtra: + dockerfileLines: + - FROM mariadb:$$cap_mysql_version + - CMD ["--character-set-server=$$cap_charset", "--collation-server=$$cap_collation", "--skip-character-set-client-handshake"] + notExposeAsWebApp: 'true' caproverOneClickApp: - variables: - - id: $$cap_mysql_version - label: MariaDB Version - defaultValue: "10.4" - description: Check out their Docker page for the valid tags https://hub.docker.com/_/mariadb?tab=tags - validRegex: /^([^\s^\/])+$/ - - id: $$cap_db_pass - label: MariaDB Root password - description: "" - validRegex: /.{1,}/ - - id: $$cap_charset - label: Default server character set - description: See the MariaDB website for supported character sets (https://mariadb.com/kb/en/library/supported-character-sets-and-collations/#character-sets) - defaultValue: utf8mb4 - - id: $$cap_collation - label: Default server collation - description: See the MariaDB website for supported collations (https://mariadb.com/kb/en/library/supported-character-sets-and-collations/#collations) - defaultValue: utf8mb4_unicode_ci - instructions: - start: MariaDB is a community-developed fork of the MySQL relational database management system intended to remain free under the GNU GPL. Being a fork of a leading open source software system, it is notable for being led by the original developers of MySQL, who forked it due to concerns over its acquisition by Oracle. Contributors are required to share their copyright with the MariaDB Foundation. The intent is also to maintain high compatibility with MySQL, ensuring a "drop-in" replacement capability with library binary equivalency and exact matching with MySQL APIs and commands. It includes the XtraDB storage engine for replacing InnoDB, as well as a new storage engine, Aria, that intends to be both a transactional and non-transactional engine perhaps even included in future versions of MySQL. - end: "MariaDB has been successfully deployed. The database is accessable on port 3306 inside the container. If you need to access the database externally, you will have to setup port mapping in the App configs tab. For example serverport: 3306, containerport: 3306. You can change the serverport for connection, but the containerport is predefined." - displayName: MariaDB - isOfficial: true - description: MariaDB Server is one of the most popular open source relational databases. It's made by the original developers of MySQL and guaranteed to stay open source - documentation: Taken from https://hub.docker.com/_/mariadb. + variables: + - id: $$cap_mysql_version + label: MariaDB Version + defaultValue: '10.4' + description: Check out their Docker page for the valid tags https://hub.docker.com/_/mariadb?tab=tags + validRegex: /^([^\s^\/])+$/ + - id: $$cap_db_pass + label: MariaDB Root password + description: '' + validRegex: /.{1,}/ + - id: $$cap_charset + label: Default server character set + description: See the MariaDB website for supported character sets (https://mariadb.com/kb/en/library/supported-character-sets-and-collations/#character-sets) + defaultValue: utf8mb4 + - id: $$cap_collation + label: Default server collation + description: See the MariaDB website for supported collations (https://mariadb.com/kb/en/library/supported-character-sets-and-collations/#collations) + defaultValue: utf8mb4_unicode_ci + instructions: + start: MariaDB is a community-developed fork of the MySQL relational database management system intended to remain free under the GNU GPL. Being a fork of a leading open source software system, it is notable for being led by the original developers of MySQL, who forked it due to concerns over its acquisition by Oracle. Contributors are required to share their copyright with the MariaDB Foundation. The intent is also to maintain high compatibility with MySQL, ensuring a "drop-in" replacement capability with library binary equivalency and exact matching with MySQL APIs and commands. It includes the XtraDB storage engine for replacing InnoDB, as well as a new storage engine, Aria, that intends to be both a transactional and non-transactional engine perhaps even included in future versions of MySQL. + end: 'MariaDB has been successfully deployed. The database is accessable on port 3306 inside the container. If you need to access the database externally, you will have to setup port mapping in the App configs tab. For example serverport: 3306, containerport: 3306. You can change the serverport for connection, but the containerport is predefined.' + displayName: MariaDB + isOfficial: true + description: MariaDB Server is one of the most popular open source relational databases. It's made by the original developers of MySQL and guaranteed to stay open source + documentation: Taken from https://hub.docker.com/_/mariadb. diff --git a/public/v4/apps/matomo.yml b/public/v4/apps/matomo.yml index b2145d8..f55b91a 100644 --- a/public/v4/apps/matomo.yml +++ b/public/v4/apps/matomo.yml @@ -1,59 +1,59 @@ captainVersion: 4 services: - $$cap_appname-db: - volumes: - - $$cap_appname-db-data:/var/lib/mysql - restart: always - environment: - MYSQL_DATABASE: matomo - MYSQL_USER: matomo - MYSQL_PASSWORD: $$cap_db_pass - MYSQL_ROOT_PASSWORD: $$cap_db_root_pass - caproverExtra: - dockerfileLines: - - FROM mariadb:$$cap_mysql_version - - CMD ["--character-set-server=utf8mb4", "--collation-server=utf8mb4_unicode_ci", "--skip-character-set-client-handshake", "--max-allowed-packet=64MB"] - notExposeAsWebApp: "true" - $$cap_appname: - depends_on: - - $$cap_appname-db - image: matomo:$$cap_matomo_version - restart: always - volumes: - - $$cap_appname-data:/var/www/html - environment: - MATOMO_DATABASE_HOST: srv-captain--$$cap_appname-db - MATOMO_DATABASE_ADAPTER: mysql - MATOMO_DATABASE_TABLES_PREFIX: matomo_ - MATOMO_DATABASE_USERNAME: matomo - MATOMO_DATABASE_PASSWORD: $$cap_db_pass - MATOMO_DATABASE_DBNAME: matomo - caproverExtra: - containerHttpPort: "80" + $$cap_appname-db: + volumes: + - $$cap_appname-db-data:/var/lib/mysql + restart: always + environment: + MYSQL_DATABASE: matomo + MYSQL_USER: matomo + MYSQL_PASSWORD: $$cap_db_pass + MYSQL_ROOT_PASSWORD: $$cap_db_root_pass + caproverExtra: + dockerfileLines: + - FROM mariadb:$$cap_mysql_version + - CMD ["--character-set-server=utf8mb4", "--collation-server=utf8mb4_unicode_ci", "--skip-character-set-client-handshake", "--max-allowed-packet=64MB"] + notExposeAsWebApp: 'true' + $$cap_appname: + depends_on: + - $$cap_appname-db + image: matomo:$$cap_matomo_version + restart: always + volumes: + - $$cap_appname-data:/var/www/html + environment: + MATOMO_DATABASE_HOST: srv-captain--$$cap_appname-db + MATOMO_DATABASE_ADAPTER: mysql + MATOMO_DATABASE_TABLES_PREFIX: matomo_ + MATOMO_DATABASE_USERNAME: matomo + MATOMO_DATABASE_PASSWORD: $$cap_db_pass + MATOMO_DATABASE_DBNAME: matomo + caproverExtra: + containerHttpPort: '80' caproverOneClickApp: - variables: - - id: $$cap_matomo_version - label: Matomo Version - defaultValue: 3.11.0 - description: Check out their docker page for the valid tags https://hub.docker.com/_/matomo?tab=tags - validRegex: /^([^\s^\/])+$/ - - id: $$cap_mysql_version - label: MariaDB Version - defaultValue: "10.4" - description: Check out their docker page for the valid tags https://hub.docker.com/_/mariadb?tab=tags - validRegex: /^([^\s^\/])+$/ - - id: $$cap_db_root_pass - label: MariaDB Matomo User Password - description: The password to use for the matomo database - validRegex: /.{1,}/ - - id: $$cap_db_pass - label: MariaDB Root Password - description: The root password to use for the MariaDB instance - validRegex: /.{1,}/ - instructions: - start: Matomo is the leading open-source analytics platform that gives you more than powerful analytics. - end: Matomo is successfully deployed! - displayName: "" - isOfficial: true - description: Matomo tracks online visits to one or more websites and displays reports on these visits for analysis - documentation: Taken from https://hub.docker.com/_/matomo?tab=description + variables: + - id: $$cap_matomo_version + label: Matomo Version + defaultValue: 3.11.0 + description: Check out their docker page for the valid tags https://hub.docker.com/_/matomo?tab=tags + validRegex: /^([^\s^\/])+$/ + - id: $$cap_mysql_version + label: MariaDB Version + defaultValue: '10.4' + description: Check out their docker page for the valid tags https://hub.docker.com/_/mariadb?tab=tags + validRegex: /^([^\s^\/])+$/ + - id: $$cap_db_root_pass + label: MariaDB Matomo User Password + description: The password to use for the matomo database + validRegex: /.{1,}/ + - id: $$cap_db_pass + label: MariaDB Root Password + description: The root password to use for the MariaDB instance + validRegex: /.{1,}/ + instructions: + start: Matomo is the leading open-source analytics platform that gives you more than powerful analytics. + end: Matomo is successfully deployed! + displayName: '' + isOfficial: true + description: Matomo tracks online visits to one or more websites and displays reports on these visits for analysis + documentation: Taken from https://hub.docker.com/_/matomo?tab=description diff --git a/public/v4/apps/mattermost.yml b/public/v4/apps/mattermost.yml index eb7a195..b1bb631 100644 --- a/public/v4/apps/mattermost.yml +++ b/public/v4/apps/mattermost.yml @@ -1,56 +1,56 @@ captainVersion: 4 services: - $$cap_appname-postgres: - image: postgres@$$cap_postgres_version - volumes: - - $$cap_appname-postgres-data:/var/lib/postgresql/data - restart: always - environment: - POSTGRES_USER: mattermost - POSTGRES_PASSWORD: $$cap_pg_pass - POSTGRES_DB: mattermost - caproverExtra: - notExposeAsWebApp: "true" - $$cap_appname: - depends_on: - - $$cap_appname-postgres - volumes: - - $$cap_appname-data:/mattermost/data - - $$cap_appname-logs:/mattermost/logs - - $$cap_appname-config:/mattermost/config - - $$cap_appname-plugins:/mattermost/plugins - - $$cap_appname-clientplugins:/mattermost/client/plugins - restart: always - environment: - MM_SQLSETTINGS_DATASOURCE: postgres://mattermost:$$cap_pg_pass@srv-captain--$$cap_appname-postgres:5432/mattermost?sslmode=disable&connect_timeout=10 - MM_SERVICESETTINGS_SITEURL: https://$$cap_appname.$$cap_root_domain - MM_LOGSETTINGS_ENABLEDIAGNOSTICS: "false" - MM_SERVICESETTINGS_ENABLESECURITYFIXALERT: "false" - MM_SQLSETTINGS_DRIVERNAME: postgres - caproverExtra: - containerHttpPort: "8065" - dockerfileLines: - - FROM mattermost/mattermost-team-edition@$$cap_mattermost_version - - RUN sed -i 's#api.segment.io#xx.example.com#gI' /mattermost/bin/mattermost - - RUN sed -i 's#securityupdatecheck.mattermost.com#xxxxxxxxxxxxxxxxxxxxxx.example.com#gI' /mattermost/bin/mattermost + $$cap_appname-postgres: + image: postgres@$$cap_postgres_version + volumes: + - $$cap_appname-postgres-data:/var/lib/postgresql/data + restart: always + environment: + POSTGRES_USER: mattermost + POSTGRES_PASSWORD: $$cap_pg_pass + POSTGRES_DB: mattermost + caproverExtra: + notExposeAsWebApp: 'true' + $$cap_appname: + depends_on: + - $$cap_appname-postgres + volumes: + - $$cap_appname-data:/mattermost/data + - $$cap_appname-logs:/mattermost/logs + - $$cap_appname-config:/mattermost/config + - $$cap_appname-plugins:/mattermost/plugins + - $$cap_appname-clientplugins:/mattermost/client/plugins + restart: always + environment: + MM_SQLSETTINGS_DATASOURCE: postgres://mattermost:$$cap_pg_pass@srv-captain--$$cap_appname-postgres:5432/mattermost?sslmode=disable&connect_timeout=10 + MM_SERVICESETTINGS_SITEURL: https://$$cap_appname.$$cap_root_domain + MM_LOGSETTINGS_ENABLEDIAGNOSTICS: 'false' + MM_SERVICESETTINGS_ENABLESECURITYFIXALERT: 'false' + MM_SQLSETTINGS_DRIVERNAME: postgres + caproverExtra: + containerHttpPort: '8065' + dockerfileLines: + - FROM mattermost/mattermost-team-edition@$$cap_mattermost_version + - RUN sed -i 's#api.segment.io#xx.example.com#gI' /mattermost/bin/mattermost + - RUN sed -i 's#securityupdatecheck.mattermost.com#xxxxxxxxxxxxxxxxxxxxxx.example.com#gI' /mattermost/bin/mattermost caproverOneClickApp: - variables: - - id: $$cap_postgres_version - label: Postgres Docker Image SHA Hash - defaultValue: sha256:110d3325db02daa6e1541fdd37725fcbecb7d51411229d922562f208c51d35cc - description: Check out their Docker page for the valid tags https://hub.docker.com/r/library/postgres/tags/ - default is 12.2 as of 2020-03-16 - - id: $$cap_mattermost_version - label: Mattermost Docker Image SHA Hash - defaultValue: sha256:f8a4416d0a50a03ebacdbcd44790d5996230da3f48dbefd02307e4fd713567aa - description: Check out their Docker page for the valid tags https://hub.docker.com/r/mattermost/mattermost-team-edition/tags - default is current as of 2020-03-16 - - id: $$cap_pg_pass - label: Postgres Password - description: Password must be at least 30 characters. Please use a random string. - validRegex: /^[^\@]{30,}$/ - instructions: - start: Open-source collaboration/chat server Mattermost Team Edition. - end: Mattermost is deployed and available as srv-captain--$$cap_appname:80. Note that the application may take up to ten minutes to become available. Following deployment you must verify MM_SERVICESETTINGS_SITEURL in the application's environment refers to your app's official public URL. - displayName: Mattermost - isOfficial: true - description: Mattermost Team Edition open source collaboration/chat software - documentation: https://github.com/mattermost/mattermost-docker + variables: + - id: $$cap_postgres_version + label: Postgres Docker Image SHA Hash + defaultValue: sha256:110d3325db02daa6e1541fdd37725fcbecb7d51411229d922562f208c51d35cc + description: Check out their Docker page for the valid tags https://hub.docker.com/r/library/postgres/tags/ - default is 12.2 as of 2020-03-16 + - id: $$cap_mattermost_version + label: Mattermost Docker Image SHA Hash + defaultValue: sha256:f8a4416d0a50a03ebacdbcd44790d5996230da3f48dbefd02307e4fd713567aa + description: Check out their Docker page for the valid tags https://hub.docker.com/r/mattermost/mattermost-team-edition/tags - default is current as of 2020-03-16 + - id: $$cap_pg_pass + label: Postgres Password + description: Password must be at least 30 characters. Please use a random string. + validRegex: /^[^\@]{30,}$/ + instructions: + start: Open-source collaboration/chat server Mattermost Team Edition. + end: Mattermost is deployed and available as srv-captain--$$cap_appname:80. Note that the application may take up to ten minutes to become available. Following deployment you must verify MM_SERVICESETTINGS_SITEURL in the application's environment refers to your app's official public URL. + displayName: Mattermost + isOfficial: true + description: Mattermost Team Edition open source collaboration/chat software + documentation: https://github.com/mattermost/mattermost-docker diff --git a/public/v4/apps/mautic.yml b/public/v4/apps/mautic.yml index 0a00d87..6626166 100644 --- a/public/v4/apps/mautic.yml +++ b/public/v4/apps/mautic.yml @@ -1,67 +1,67 @@ captainVersion: 4 services: - $$cap_appname-db: - documentation: Taken from https://hub.docker.com/_/percona - image: percona/percona-server:$$cap_percona_version - volumes: - - $$cap_appname-db-data:/var/lib/mysql - restart: always - environment: - MYSQL_ROOT_PASSWORD: $$cap_db_pass - MYSQL_DATABASE: mautic - MYSQL_USER: $$cap_db_user - MYSQL_PASSWORD: $$cap_db_pass - caproverExtra: - notExposeAsWebApp: "true" - $$cap_appname: - depends_on: - - $$cap_appname-db - image: mautic/mautic:$$cap_mautic_version - volumes: - - $$cap_appname-data:/var/www/html - restart: always - environment: - MAUTIC_DB_HOST: srv-captain--$$cap_appname-db - MYSQL_PORT_3306_TCP: "3306" - MAUTIC_DB_USER: $$cap_db_user - MAUTIC_DB_PASSWORD: $$cap_db_pass - MAUTIC_DB_NAME: mautic - MAUTIC_RUN_CRON_JOBS: "true" + $$cap_appname-db: + documentation: Taken from https://hub.docker.com/_/percona + image: percona/percona-server:$$cap_percona_version + volumes: + - $$cap_appname-db-data:/var/lib/mysql + restart: always + environment: + MYSQL_ROOT_PASSWORD: $$cap_db_pass + MYSQL_DATABASE: mautic + MYSQL_USER: $$cap_db_user + MYSQL_PASSWORD: $$cap_db_pass + caproverExtra: + notExposeAsWebApp: 'true' + $$cap_appname: + depends_on: + - $$cap_appname-db + image: mautic/mautic:$$cap_mautic_version + volumes: + - $$cap_appname-data:/var/www/html + restart: always + environment: + MAUTIC_DB_HOST: srv-captain--$$cap_appname-db + MYSQL_PORT_3306_TCP: '3306' + MAUTIC_DB_USER: $$cap_db_user + MAUTIC_DB_PASSWORD: $$cap_db_pass + MAUTIC_DB_NAME: mautic + MAUTIC_RUN_CRON_JOBS: 'true' caproverOneClickApp: - variables: - - id: $$cap_db_user - label: Database user - defaultValue: mauticuser - description: "" - validRegex: /^([a-zA-Z0-9])+$/ - - id: $$cap_db_pass - label: Database password - description: "" - validRegex: /.{1,}/ - - id: $$cap_mautic_version - label: Mautic Version - defaultValue: v3.0.0-beta - description: Check out their Docker page for the valid tags https://hub.docker.com/r/mautic/mautic/tags. Please be aware, this is a beta version. - validRegex: /^([^\s^\/])+$/ - - id: $$cap_percona_version - label: Percona Version (database) - defaultValue: "5.7" - description: Check out their Docker page for the valid tags https://hub.docker.com/_/percona?tab=tags - validRegex: /^([^\s^\/])+$/ - instructions: - start: >- - Mautic is an online,marketing automation tool. + variables: + - id: $$cap_db_user + label: Database user + defaultValue: mauticuser + description: '' + validRegex: /^([a-zA-Z0-9])+$/ + - id: $$cap_db_pass + label: Database password + description: '' + validRegex: /.{1,}/ + - id: $$cap_mautic_version + label: Mautic Version + defaultValue: v3.0.0-beta + description: Check out their Docker page for the valid tags https://hub.docker.com/r/mautic/mautic/tags. Please be aware, this is a beta version. + validRegex: /^([^\s^\/])+$/ + - id: $$cap_percona_version + label: Percona Version (database) + defaultValue: '5.7' + description: Check out their Docker page for the valid tags https://hub.docker.com/_/percona?tab=tags + validRegex: /^([^\s^\/])+$/ + instructions: + start: >- + Mautic is an online,marketing automation tool. - The process will deploy a database and the App. + The process will deploy a database and the App. - The process will take about a minute for the process to finish. - end: >- - Mautic is deployed and available as $$cap_appname. + The process will take about a minute for the process to finish. + end: >- + Mautic is deployed and available as $$cap_appname. - IMPORTANT: It will take up to 1-2 minutes for Mautic to be ready. Before that, you might see 502 error page. + IMPORTANT: It will take up to 1-2 minutes for Mautic to be ready. Before that, you might see 502 error page. - If you dont have any SMTP server, I recommend you to install 'poste.io' one click app version. - displayName: Mautic beta - isOfficial: true - description: Mautic is an open source marketing automation platform. + If you dont have any SMTP server, I recommend you to install 'poste.io' one click app version. + displayName: Mautic beta + isOfficial: true + description: Mautic is an open source marketing automation platform. diff --git a/public/v4/apps/miniflux.yml b/public/v4/apps/miniflux.yml index bbade19..495d9d6 100644 --- a/public/v4/apps/miniflux.yml +++ b/public/v4/apps/miniflux.yml @@ -1,54 +1,54 @@ captainVersion: 4 services: - $$cap_appname-db: - image: postgres:$$cap_postgres_version - volumes: - - $$cap_appname-db-data:/var/lib/postgresql/data - restart: always - environment: - POSTGRES_USER: miniflux - POSTGRES_PASSWORD: $$cap_postgres_password - POSTGRES_DB: miniflux - caproverExtra: - notExposeAsWebApp: "true" - $$cap_appname: - image: miniflux/miniflux:$$cap_miniflux_version - depends_on: - - $$cap_appname-db - restart: always - environment: - DATABASE_URL: postgres://miniflux:$$cap_postgres_password@srv-captain--$$cap_appname-db/miniflux?sslmode=disable - RUN_MIGRATIONS: "1" - CREATE_ADMIN: "1" - ADMIN_USERNAME: $$cap_admin_user - ADMIN_PASSWORD: $$cap_admin_password - caproverExtra: - containerHttpPort: "8080" + $$cap_appname-db: + image: postgres:$$cap_postgres_version + volumes: + - $$cap_appname-db-data:/var/lib/postgresql/data + restart: always + environment: + POSTGRES_USER: miniflux + POSTGRES_PASSWORD: $$cap_postgres_password + POSTGRES_DB: miniflux + caproverExtra: + notExposeAsWebApp: 'true' + $$cap_appname: + image: miniflux/miniflux:$$cap_miniflux_version + depends_on: + - $$cap_appname-db + restart: always + environment: + DATABASE_URL: postgres://miniflux:$$cap_postgres_password@srv-captain--$$cap_appname-db/miniflux?sslmode=disable + RUN_MIGRATIONS: '1' + CREATE_ADMIN: '1' + ADMIN_USERNAME: $$cap_admin_user + ADMIN_PASSWORD: $$cap_admin_password + caproverExtra: + containerHttpPort: '8080' caproverOneClickApp: - variables: - - id: $$cap_miniflux_version - label: Miniflux version - defaultValue: 2.0.22 - description: Checkout valid tags at https://hub.docker.com/r/miniflux/miniflux/tags - - id: $$cap_admin_user - label: Admin user - - id: $$cap_admin_password - label: Admin Password - defaultValue: $$cap_gen_random_hex(10) - - 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 - defaultValue: $$cap_gen_random_hex(10) - description: "" - validRegex: /.{1,}/ - instructions: - start: Miniflux is a minimalist and opinionated feed reader. - end: Miniflux is deployed and the dashboard is available from http://$$cap_appname.$$cap_root_domain. - displayName: Miniflux - isOfficial: true - description: Self hosted RSS server - documentation: https://miniflux.app/docs/index.html + variables: + - id: $$cap_miniflux_version + label: Miniflux version + defaultValue: 2.0.22 + description: Checkout valid tags at https://hub.docker.com/r/miniflux/miniflux/tags + - id: $$cap_admin_user + label: Admin user + - id: $$cap_admin_password + label: Admin Password + defaultValue: $$cap_gen_random_hex(10) + - 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 + defaultValue: $$cap_gen_random_hex(10) + description: '' + validRegex: /.{1,}/ + instructions: + start: Miniflux is a minimalist and opinionated feed reader. + end: Miniflux is deployed and the dashboard is available from http://$$cap_appname.$$cap_root_domain. + displayName: Miniflux + isOfficial: true + description: Self hosted RSS server + documentation: https://miniflux.app/docs/index.html diff --git a/public/v4/apps/minio.yml b/public/v4/apps/minio.yml index 66c4f42..4efe716 100644 --- a/public/v4/apps/minio.yml +++ b/public/v4/apps/minio.yml @@ -1,41 +1,41 @@ captainVersion: 4 services: - $$cap_appname: - volumes: - - $$cap_appname-db-data:/data - - $$cap_appname-config-data:/root/.minio - restart: always - environment: - MINIO_ACCESS_KEY: $$cap_access_key - MINIO_SECRET_KEY: $$cap_secret_key - caproverExtra: - containerHttpPort: "9000" - dockerfileLines: - - FROM minio/minio:$$cap_minio_version - - CMD ["minio", "server", "/data"] + $$cap_appname: + volumes: + - $$cap_appname-db-data:/data + - $$cap_appname-config-data:/root/.minio + restart: always + environment: + MINIO_ACCESS_KEY: $$cap_access_key + MINIO_SECRET_KEY: $$cap_secret_key + caproverExtra: + containerHttpPort: '9000' + dockerfileLines: + - FROM minio/minio:$$cap_minio_version + - CMD ["minio", "server", "/data"] caproverOneClickApp: - variables: - - id: $$cap_minio_version - label: Minio Version - defaultValue: latest - description: Check out their Docker page for the valid tags https://hub.docker.com/r/minio/minio/tags/ - validRegex: /^([^\s^\/])+$/ - - id: $$cap_access_key - label: Minio Access Key - defaultValue: "" - description: Username to access minio server - validRegex: /.{5,}/ - - id: $$cap_secret_key - label: Minio Secret Key - defaultValue: "" - description: Password to access minio server - validRegex: /.{8,}/ - instructions: - start: >- - Minio is an object storage server released under Apache License v2.0. It is compatible with Amazon S3 cloud storage service. It is best suited for storing unstructured data such as photos, videos, log files, backups and container / VM images. Size of an object can range from a few KBs to a maximum of 5TB. Minio server is light enough to be bundled with the application stack, similar to NodeJS, Redis and MySQL. - This one click app deploy one single instance of minio. If you are deploying minio in a high demand production environment, you should consider deploying multiple instances of minio. See minio docs for more details. https://www.minio.io/ - end: Minio is deployed and available as $$cap_appname - displayName: "" - isOfficial: true - description: MinIO is a cloud storage server compatible with Amazon S3 - documentation: Taken from https://hub.docker.com/r/minio/minio + variables: + - id: $$cap_minio_version + label: Minio Version + defaultValue: latest + description: Check out their Docker page for the valid tags https://hub.docker.com/r/minio/minio/tags/ + validRegex: /^([^\s^\/])+$/ + - id: $$cap_access_key + label: Minio Access Key + defaultValue: '' + description: Username to access minio server + validRegex: /.{5,}/ + - id: $$cap_secret_key + label: Minio Secret Key + defaultValue: '' + description: Password to access minio server + validRegex: /.{8,}/ + instructions: + start: >- + Minio is an object storage server released under Apache License v2.0. It is compatible with Amazon S3 cloud storage service. It is best suited for storing unstructured data such as photos, videos, log files, backups and container / VM images. Size of an object can range from a few KBs to a maximum of 5TB. Minio server is light enough to be bundled with the application stack, similar to NodeJS, Redis and MySQL. + This one click app deploy one single instance of minio. If you are deploying minio in a high demand production environment, you should consider deploying multiple instances of minio. See minio docs for more details. https://www.minio.io/ + end: Minio is deployed and available as $$cap_appname + displayName: '' + isOfficial: true + description: MinIO is a cloud storage server compatible with Amazon S3 + documentation: Taken from https://hub.docker.com/r/minio/minio diff --git a/public/v4/apps/mongo-express.yml b/public/v4/apps/mongo-express.yml index 37edc38..c608d2d 100644 --- a/public/v4/apps/mongo-express.yml +++ b/public/v4/apps/mongo-express.yml @@ -1,59 +1,59 @@ captainVersion: 4 services: - $$cap_appname: - image: mongo-express:$$cap_mongoexpress_version - restart: always - environment: - ME_CONFIG_MONGODB_SERVER: $$cap_me_server_address - ME_CONFIG_MONGODB_ADMINUSERNAME: $$cap_me_server_admin_username - ME_CONFIG_MONGODB_ADMINPASSWORD: $$cap_me_server_admin_password - ME_CONFIG_MONGODB_PORT: $$cap_me_server_port - ME_CONFIG_BASICAUTH_USERNAME: $$cap_me_dashboard_username - ME_CONFIG_BASICAUTH_PASSWORD: $$cap_me_dashboard_password - ME_CONFIG_SITE_COOKIESECRET: $$cap_appname$$cap_mongoexpress_version - ME_CONFIG_SITE_SESSIONSECRET: $$cap_appname$$cap_mongoexpress_version - caproverExtra: - containerHttpPort: "8081" + $$cap_appname: + image: mongo-express:$$cap_mongoexpress_version + restart: always + environment: + ME_CONFIG_MONGODB_SERVER: $$cap_me_server_address + ME_CONFIG_MONGODB_ADMINUSERNAME: $$cap_me_server_admin_username + ME_CONFIG_MONGODB_ADMINPASSWORD: $$cap_me_server_admin_password + ME_CONFIG_MONGODB_PORT: $$cap_me_server_port + ME_CONFIG_BASICAUTH_USERNAME: $$cap_me_dashboard_username + ME_CONFIG_BASICAUTH_PASSWORD: $$cap_me_dashboard_password + ME_CONFIG_SITE_COOKIESECRET: $$cap_appname$$cap_mongoexpress_version + ME_CONFIG_SITE_SESSIONSECRET: $$cap_appname$$cap_mongoexpress_version + caproverExtra: + containerHttpPort: '8081' caproverOneClickApp: - variables: - - id: $$cap_mongoexpress_version - label: Mongo Express Version Tag - description: Check out their Docker page for the valid tags https://hub.docker.com/r/library/mongo-express/tags/ - defaultValue: "0.49" - validRegex: /^([^\s^\/])+$/ - - id: $$cap_me_server_address - label: MongoDB Server Address - description: If MongoDB is created by CapRover, use srv-captain--REPLACE_THIS_WITH_CONTAINER_NAME - validRegex: /.{1,}/ - - id: $$cap_me_server_port - label: MongoDB Server Port (default is 27017) - defaultValue: "27017" - validRegex: /^([0-9])+$/ - - id: $$cap_me_server_admin_username - label: MongoDB Admin Username - defaultValue: "" - validRegex: /.{1,}/ - - id: $$cap_me_server_admin_password - label: MongoDB Admin Password - defaultValue: "" - validRegex: /.{1,}/ - - id: $$cap_me_dashboard_username - label: Choose a Mongo-Express Dashboard Username - defaultValue: admin - description: Restrict access to your Mongo Express dashboard by choosing username/pass - validRegex: /^([a-zA-Z0-9])+$/ - - id: $$cap_me_dashboard_password - label: Mongo-Express Dashboard Password - defaultValue: "" - description: Restrict access to your Mongo Express dashboard by choosing username/pass - validRegex: /^([a-zA-Z0-9])+$/ - instructions: - start: >- - MongoExpress is a Web-based MongoDB admin interface, written with Node.js and express. See MongoExpress page for more details: https://github.com/mongo-express/mongo-express + variables: + - id: $$cap_mongoexpress_version + label: Mongo Express Version Tag + description: Check out their Docker page for the valid tags https://hub.docker.com/r/library/mongo-express/tags/ + defaultValue: '0.49' + validRegex: /^([^\s^\/])+$/ + - id: $$cap_me_server_address + label: MongoDB Server Address + description: If MongoDB is created by CapRover, use srv-captain--REPLACE_THIS_WITH_CONTAINER_NAME + validRegex: /.{1,}/ + - id: $$cap_me_server_port + label: MongoDB Server Port (default is 27017) + defaultValue: '27017' + validRegex: /^([0-9])+$/ + - id: $$cap_me_server_admin_username + label: MongoDB Admin Username + defaultValue: '' + validRegex: /.{1,}/ + - id: $$cap_me_server_admin_password + label: MongoDB Admin Password + defaultValue: '' + validRegex: /.{1,}/ + - id: $$cap_me_dashboard_username + label: Choose a Mongo-Express Dashboard Username + defaultValue: admin + description: Restrict access to your Mongo Express dashboard by choosing username/pass + validRegex: /^([a-zA-Z0-9])+$/ + - id: $$cap_me_dashboard_password + label: Mongo-Express Dashboard Password + defaultValue: '' + description: Restrict access to your Mongo Express dashboard by choosing username/pass + validRegex: /^([a-zA-Z0-9])+$/ + instructions: + start: >- + MongoExpress is a Web-based MongoDB admin interface, written with Node.js and express. See MongoExpress page for more details: https://github.com/mongo-express/mongo-express - Enter your MongoExpress Configuration parameters and click on next. It will take about a minute for the process to finish. - end: MongoExpress is deployed and available as $$cap_appname - displayName: Mongo Express - isOfficial: true - description: Web-based MongoDB admin interface, written with Node.js and express - documentation: Taken from https://hub.docker.com/_/mongo-express/ except it is manually adjusted for port 80 + Enter your MongoExpress Configuration parameters and click on next. It will take about a minute for the process to finish. + end: MongoExpress is deployed and available as $$cap_appname + displayName: Mongo Express + isOfficial: true + description: Web-based MongoDB admin interface, written with Node.js and express + documentation: Taken from https://hub.docker.com/_/mongo-express/ except it is manually adjusted for port 80 diff --git a/public/v4/apps/mongodb-backup-s3.yml b/public/v4/apps/mongodb-backup-s3.yml index 769a7e6..669b79e 100644 --- a/public/v4/apps/mongodb-backup-s3.yml +++ b/public/v4/apps/mongodb-backup-s3.yml @@ -1,88 +1,88 @@ captainVersion: 4 services: - $$cap_appname: - environment: - AWS_ACCESS_KEY_ID: $$cap_aws_access_key_id - AWS_SECRET_ACCESS_KEY: $$cap_aws_secret_access_key - BUCKET: $$cap_bucket - BACKUP_FOLDER: $$cap_backup_folder - MONGODB_HOST: $$cap_mongodb_host - MONGODB_PORT: $$cap_mongodb_port - MONGODB_USER: $$cap_mongodb_user - MONGODB_PASS: $$cap_mongodb_pass - MONGODB_DB: $$cap_mongodb_db - EXTRA_OPTS: $$cap_extra_opts - CRON_TIME: $$cap_cron_time - TZ: $$cap_tz - CRON_TZ: $$cap_tz - INIT_BACKUP: $$cap_init_backup - INIT_RESTORE: $$cap_init_restore - DISABLE_CRON: $$cap_disable_cron - image: halvves/mongodb-backup-s3@sha256:e709db5e0fe5d44873ac5a385af214e951f2a0366a7c02b515ebf7c983658b0c - restart: always + $$cap_appname: + environment: + AWS_ACCESS_KEY_ID: $$cap_aws_access_key_id + AWS_SECRET_ACCESS_KEY: $$cap_aws_secret_access_key + BUCKET: $$cap_bucket + BACKUP_FOLDER: $$cap_backup_folder + MONGODB_HOST: $$cap_mongodb_host + MONGODB_PORT: $$cap_mongodb_port + MONGODB_USER: $$cap_mongodb_user + MONGODB_PASS: $$cap_mongodb_pass + MONGODB_DB: $$cap_mongodb_db + EXTRA_OPTS: $$cap_extra_opts + CRON_TIME: $$cap_cron_time + TZ: $$cap_tz + CRON_TZ: $$cap_tz + INIT_BACKUP: $$cap_init_backup + INIT_RESTORE: $$cap_init_restore + DISABLE_CRON: $$cap_disable_cron + image: halvves/mongodb-backup-s3@sha256:e709db5e0fe5d44873ac5a385af214e951f2a0366a7c02b515ebf7c983658b0c + restart: always caproverOneClickApp: - variables: - - description: Your aws access key id (for your s3 bucket) - id: $$cap_aws_access_key_id - label: AWS ACCESS KEY ID - validRegex: /^.+$/ - - description: Your aws secret access key (for your s3 bucket) - id: $$cap_aws_secret_access_key - label: AWS SECRET ACCESS KEY - validRegex: /^.+$/ - - description: Your s3 bucket. - id: $$cap_bucket - label: BUCKET - validRegex: /^.+$/ - - description: Name of folder or path to put backups (eg myapp/db_backups/) - id: $$cap_backup_folder - defaultValue: mongo_dumps/ - label: BACKUP_FOLDER - - description: The host/ip of your mongodb database. For CapRover hosted database, use srv-captain--your-mongodb-name - id: $$cap_mongodb_host - label: MONGODB HOST - validRegex: /^.+$/ - - description: The port number of your mongodb database - id: $$cap_mongodb_port - label: MONGODB PORT - defaultValue: "27017" - - description: The username of your mongodb database. If MONGODB_USER is empty while MONGODB_PASS is not, the image will use admin as the default username - id: $$cap_mongodb_user - label: MONGODB USER - defaultValue: admin - - description: The password of your mongodb database - id: $$cap_mongodb_pass - label: MONGODB PASS - validRegex: /^.+$/ - - description: The database name to dump. If not specified, it will dump all the databases - id: $$cap_mongodb_db - label: MONGODB DB - - description: Any extra options to pass to mongodump command. If you see *Unrecognized field 'snapshot'* problem add --forceTableScan here - id: $$cap_extra_opts - label: EXTRA_OPTS - - description: The interval of cron job to run mongodump. 0 3 * * * by default, which is every day at 03:00hrs. - id: $$cap_cron_time - label: CRON TIME - defaultValue: 0 3 * * * - - description: timezone - id: $$cap_tz - label: TIMEZONE - defaultValue: US/Eastern - - description: If set, create a backup when the container launched - id: $$cap_init_backup - label: INIT BACKUP - defaultValue: "true" - - description: If set (any string, eg. true), restore from latest when container is launched. - id: $$cap_init_restore - label: INIT RESTORE - defaultValue: "" - - description: if set (any string, eg.true), it will skip setting up automated backups. good for when you want to use this container to seed a dev environment. - id: $$cap_disable_cron - label: DISABLE CRON - defaultValue: "" - instructions: - start: Runs mongodump to backup data using cronjob to an s3 bucket - end: MongoDB Backup S3 is ready - displayName: MongoDB Backup Amazon S3 - description: Runs mongodump to backup data using cronjob to an Amazon S3 bucket - documentation: https://github.com/halvves/mongodb-backup-s3 + variables: + - description: Your aws access key id (for your s3 bucket) + id: $$cap_aws_access_key_id + label: AWS ACCESS KEY ID + validRegex: /^.+$/ + - description: Your aws secret access key (for your s3 bucket) + id: $$cap_aws_secret_access_key + label: AWS SECRET ACCESS KEY + validRegex: /^.+$/ + - description: Your s3 bucket. + id: $$cap_bucket + label: BUCKET + validRegex: /^.+$/ + - description: Name of folder or path to put backups (eg myapp/db_backups/) + id: $$cap_backup_folder + defaultValue: mongo_dumps/ + label: BACKUP_FOLDER + - description: The host/ip of your mongodb database. For CapRover hosted database, use srv-captain--your-mongodb-name + id: $$cap_mongodb_host + label: MONGODB HOST + validRegex: /^.+$/ + - description: The port number of your mongodb database + id: $$cap_mongodb_port + label: MONGODB PORT + defaultValue: '27017' + - description: The username of your mongodb database. If MONGODB_USER is empty while MONGODB_PASS is not, the image will use admin as the default username + id: $$cap_mongodb_user + label: MONGODB USER + defaultValue: admin + - description: The password of your mongodb database + id: $$cap_mongodb_pass + label: MONGODB PASS + validRegex: /^.+$/ + - description: The database name to dump. If not specified, it will dump all the databases + id: $$cap_mongodb_db + label: MONGODB DB + - description: Any extra options to pass to mongodump command. If you see *Unrecognized field 'snapshot'* problem add --forceTableScan here + id: $$cap_extra_opts + label: EXTRA_OPTS + - description: The interval of cron job to run mongodump. 0 3 * * * by default, which is every day at 03:00hrs. + id: $$cap_cron_time + label: CRON TIME + defaultValue: 0 3 * * * + - description: timezone + id: $$cap_tz + label: TIMEZONE + defaultValue: US/Eastern + - description: If set, create a backup when the container launched + id: $$cap_init_backup + label: INIT BACKUP + defaultValue: 'true' + - description: If set (any string, eg. true), restore from latest when container is launched. + id: $$cap_init_restore + label: INIT RESTORE + defaultValue: '' + - description: if set (any string, eg.true), it will skip setting up automated backups. good for when you want to use this container to seed a dev environment. + id: $$cap_disable_cron + label: DISABLE CRON + defaultValue: '' + instructions: + start: Runs mongodump to backup data using cronjob to an s3 bucket + end: MongoDB Backup S3 is ready + displayName: MongoDB Backup Amazon S3 + description: Runs mongodump to backup data using cronjob to an Amazon S3 bucket + documentation: https://github.com/halvves/mongodb-backup-s3 diff --git a/public/v4/apps/mongodb.yml b/public/v4/apps/mongodb.yml index 2267d4d..ff01868 100644 --- a/public/v4/apps/mongodb.yml +++ b/public/v4/apps/mongodb.yml @@ -1,40 +1,40 @@ captainVersion: 4 services: - $$cap_appname: - image: mongo:$$cap_mongo_version - volumes: - - $$cap_appname-db-data:/data/db - - $$cap_appname-db-config:/data/configdb - restart: always - environment: - MONGO_INITDB_ROOT_USERNAME: $$cap_mongo_username - MONGO_INITDB_ROOT_PASSWORD: $$cap_mongo_password - caproverExtra: - notExposeAsWebApp: "true" + $$cap_appname: + image: mongo:$$cap_mongo_version + volumes: + - $$cap_appname-db-data:/data/db + - $$cap_appname-db-config:/data/configdb + restart: always + environment: + MONGO_INITDB_ROOT_USERNAME: $$cap_mongo_username + MONGO_INITDB_ROOT_PASSWORD: $$cap_mongo_password + caproverExtra: + notExposeAsWebApp: 'true' caproverOneClickApp: - variables: - - id: $$cap_mongo_version - label: MongoDB Version - defaultValue: "4" - description: Check out their Docker page for the valid tags https://hub.docker.com/r/library/mongo/tags/ - validRegex: /^([^\s^\/])+$/ - - id: $$cap_mongo_username - label: MongoDB RootUsername - defaultValue: root - description: Only use alphanumeric chars. - validRegex: /^([a-zA-Z0-9])+$/ - - id: $$cap_mongo_password - label: MongoDB password - validRegex: /^\s*\S.*$/ - instructions: - start: >- - MongoDB is a cross-platform document-oriented database. Classified as a NoSQL database program, MongoDB uses JSON-like documents with schemas. + variables: + - id: $$cap_mongo_version + label: MongoDB Version + defaultValue: '4' + description: Check out their Docker page for the valid tags https://hub.docker.com/r/library/mongo/tags/ + validRegex: /^([^\s^\/])+$/ + - id: $$cap_mongo_username + label: MongoDB RootUsername + defaultValue: root + description: Only use alphanumeric chars. + validRegex: /^([a-zA-Z0-9])+$/ + - id: $$cap_mongo_password + label: MongoDB password + validRegex: /^\s*\S.*$/ + instructions: + start: >- + MongoDB is a cross-platform document-oriented database. Classified as a NoSQL database program, MongoDB uses JSON-like documents with schemas. - After installation on CapRover, it will be available as srv-captain--YOUR_CONTAINER_NAME at port 27017 to other CapRover apps. + After installation on CapRover, it will be available as srv-captain--YOUR_CONTAINER_NAME at port 27017 to other CapRover apps. - Enter your MongoDB Configuration parameters and click on next. It will take about a minute for the process to finish. - end: "MongoDB is deployed and available as srv-captain--$$cap_appname:27017 to other apps. For example with NodeJS: mongoose.connect('mongodb://srv-captain--$$cap_appname/mydatabase?authSource=admin', {userMongoClient: true});" - displayName: MongoDB - isOfficial: true - description: MongoDB is a cross-platform document-oriented database program. Classified as a NoSQL database program - documentation: Taken from https://hub.docker.com/r/mongo/ + Enter your MongoDB Configuration parameters and click on next. It will take about a minute for the process to finish. + end: "MongoDB is deployed and available as srv-captain--$$cap_appname:27017 to other apps. For example with NodeJS: mongoose.connect('mongodb://srv-captain--$$cap_appname/mydatabase?authSource=admin', {userMongoClient: true});" + displayName: MongoDB + isOfficial: true + description: MongoDB is a cross-platform document-oriented database program. Classified as a NoSQL database program + documentation: Taken from https://hub.docker.com/r/mongo/ diff --git a/public/v4/apps/mssql.yml b/public/v4/apps/mssql.yml index 293d6ed..3db95a9 100644 --- a/public/v4/apps/mssql.yml +++ b/public/v4/apps/mssql.yml @@ -1,66 +1,66 @@ captainVersion: 4 services: - $$cap_appname-db: - image: mcr.microsoft.com/mssql/server:$$cap_server_version - volumes: - - $$cap_appname-db-data:/var/opt/mssql - restart: always - environment: - ACCEPT_EULA: $$cap_accept_eula - MSSQL_PID: $$cap_pid - MSSQL_SA_PASSWORD: $$cap_sa_pass - MSSQL_TCP_PORT: $$cap_container_port - ports: - - $$cap_host_port:$$cap_container_port - caproverExtra: - notExposeAsWebApp: "true" + $$cap_appname-db: + image: mcr.microsoft.com/mssql/server:$$cap_server_version + volumes: + - $$cap_appname-db-data:/var/opt/mssql + restart: always + environment: + ACCEPT_EULA: $$cap_accept_eula + MSSQL_PID: $$cap_pid + MSSQL_SA_PASSWORD: $$cap_sa_pass + MSSQL_TCP_PORT: $$cap_container_port + ports: + - $$cap_host_port:$$cap_container_port + caproverExtra: + notExposeAsWebApp: 'true' caproverOneClickApp: - variables: - - id: $$cap_server_version - label: Version - defaultValue: 2017-CU12-ubuntu - description: Checkout this page for the valid tags https://mcr.microsoft.com/v2/mssql/server/tags/list - - id: $$cap_host_port - label: Host Port - defaultValue: "1433" - description: Sets the TCP port that the host exposes. This is also used for creating the port mapping. - validRegex: /^([0-9])+$/ - - id: $$cap_container_port - label: Container TCP Port - defaultValue: "1433" - description: Sets the TCP port that SQL Server container listens to. This is also used for creating the port mapping. - validRegex: /^([0-9])+$/ - - id: $$cap_sa_pass - label: SA Password - description: "The database system administrator (userid = 'sa') password used to connect to SQL Server once the container is running. Important note: This password needs to include at least 8 characters of at least three of these four categories: uppercase letters, lowercase letters, numbers and non-alphanumeric symbols." - - id: $$cap_pid - label: PID - description: "Set the SQL Server edition or product key. This will run the container with the edition that is associated with the PID. This the Product ID (PID) or Edition that the container will run with. Acceptable values: Developer, Express, Standard, Enterprise, EnterpriseCore : More info here: https://hub.docker.com/_/microsoft-mssql-server" - defaultValue: Developer - - id: $$cap_accept_eula - label: Accept EULA (Y/N) - description: >- - Confirms your acceptance of the End-User Licensing Agreement https://go.microsoft.com/fwlink/?linkid=857698. - By passing the value "Y", you are expressing that you have a valid and existing license for the edition and version of SQL Server that you intend to use. You also agree that your use of SQL Server software running in a Docker container image will be governed by the terms of your SQL Server license. - validRegex: /^Y{1}$/ - instructions: - start: >- - SQL Server is a central part of the Microsoft data platform. SQL Server is an industry leader in operational database management systems (ODBMS). + variables: + - id: $$cap_server_version + label: Version + defaultValue: 2017-CU12-ubuntu + description: Checkout this page for the valid tags https://mcr.microsoft.com/v2/mssql/server/tags/list + - id: $$cap_host_port + label: Host Port + defaultValue: '1433' + description: Sets the TCP port that the host exposes. This is also used for creating the port mapping. + validRegex: /^([0-9])+$/ + - id: $$cap_container_port + label: Container TCP Port + defaultValue: '1433' + description: Sets the TCP port that SQL Server container listens to. This is also used for creating the port mapping. + validRegex: /^([0-9])+$/ + - id: $$cap_sa_pass + label: SA Password + description: "The database system administrator (userid = 'sa') password used to connect to SQL Server once the container is running. Important note: This password needs to include at least 8 characters of at least three of these four categories: uppercase letters, lowercase letters, numbers and non-alphanumeric symbols." + - id: $$cap_pid + label: PID + description: 'Set the SQL Server edition or product key. This will run the container with the edition that is associated with the PID. This the Product ID (PID) or Edition that the container will run with. Acceptable values: Developer, Express, Standard, Enterprise, EnterpriseCore : More info here: https://hub.docker.com/_/microsoft-mssql-server' + defaultValue: Developer + - id: $$cap_accept_eula + label: Accept EULA (Y/N) + description: >- + Confirms your acceptance of the End-User Licensing Agreement https://go.microsoft.com/fwlink/?linkid=857698. + By passing the value "Y", you are expressing that you have a valid and existing license for the edition and version of SQL Server that you intend to use. You also agree that your use of SQL Server software running in a Docker container image will be governed by the terms of your SQL Server license. + validRegex: /^Y{1}$/ + instructions: + start: >- + SQL Server is a central part of the Microsoft data platform. SQL Server is an industry leader in operational database management systems (ODBMS). - SQL Server Developer edition lets developers build any kind of application on top of SQL Server. + SQL Server Developer edition lets developers build any kind of application on top of SQL Server. - It includes all the functionality of Enterprise edition, but is licensed for use as a development and test system, not as a production server. + It includes all the functionality of Enterprise edition, but is licensed for use as a development and test system, not as a production server. - SQL Server Developer Edition cannot be used in a production environment. + SQL Server Developer Edition cannot be used in a production environment. - The SQL Server 2017 Developer Edition license terms are located here: https://go.microsoft.com/fwlink/?linkid=857698 . + The SQL Server 2017 Developer Edition license terms are located here: https://go.microsoft.com/fwlink/?linkid=857698 . - After installation on CapRover, it will be available as srv-captain--YOUR_CONTAINER_NAME at the port specified for "Container TCP Port" field to other apps. + After installation on CapRover, it will be available as srv-captain--YOUR_CONTAINER_NAME at the port specified for "Container TCP Port" field to other apps. - Enter your SQL Server Configuration parameters and click on next. It will take about a minute for the process to finish. - end: SQL Server is deployed and available as srv-captain--$$cap_appname-db:$$cap_container_port to other apps. - displayName: Microsoft SQL - isOfficial: true - description: Microsoft SQL Server is a relational database management system developed by Microsoft - documentation: Taken from https://hub.docker.com/_/microsoft-mssql-server + Enter your SQL Server Configuration parameters and click on next. It will take about a minute for the process to finish. + end: SQL Server is deployed and available as srv-captain--$$cap_appname-db:$$cap_container_port to other apps. + displayName: Microsoft SQL + isOfficial: true + description: Microsoft SQL Server is a relational database management system developed by Microsoft + documentation: Taken from https://hub.docker.com/_/microsoft-mssql-server diff --git a/public/v4/apps/mysql.yml b/public/v4/apps/mysql.yml index 31b55b8..7def660 100644 --- a/public/v4/apps/mysql.yml +++ b/public/v4/apps/mysql.yml @@ -1,34 +1,34 @@ captainVersion: 4 services: - $$cap_appname-db: - image: mysql:$$cap_mysql_version - volumes: - - $$cap_appname-db-data:/var/lib/mysql - restart: always - environment: - MYSQL_ROOT_PASSWORD: $$cap_db_pass - caproverExtra: - notExposeAsWebApp: "true" + $$cap_appname-db: + image: mysql:$$cap_mysql_version + volumes: + - $$cap_appname-db-data:/var/lib/mysql + restart: always + environment: + MYSQL_ROOT_PASSWORD: $$cap_db_pass + caproverExtra: + notExposeAsWebApp: 'true' caproverOneClickApp: - variables: - - id: $$cap_mysql_version - label: MySQL Version - defaultValue: "5.7" - description: Check out their Docker page for the valid tags https://hub.docker.com/r/library/mysql/tags/ - validRegex: /^([^\s^\/])+$/ - - id: $$cap_db_pass - label: MySQL Root password - description: "" - validRegex: /.{1,}/ - instructions: - start: >- - MySQL is the world's most popular open source database. With its proven performance, reliability and ease-of-use, MySQL has become the leading database choice for web-based applications, covering the entire range from personal projects and websites, via e-commerce and information services, all the way to high profile web properties including Facebook, Twitter, YouTube, Yahoo! and many more. + variables: + - id: $$cap_mysql_version + label: MySQL Version + defaultValue: '5.7' + description: Check out their Docker page for the valid tags https://hub.docker.com/r/library/mysql/tags/ + validRegex: /^([^\s^\/])+$/ + - id: $$cap_db_pass + label: MySQL Root password + description: '' + validRegex: /.{1,}/ + instructions: + start: >- + MySQL is the world's most popular open source database. With its proven performance, reliability and ease-of-use, MySQL has become the leading database choice for web-based applications, covering the entire range from personal projects and websites, via e-commerce and information services, all the way to high profile web properties including Facebook, Twitter, YouTube, Yahoo! and many more. - After installation on CapRover, it will be available as srv-captain--YOUR_CONTAINER_NAME at port 3306 to other CapRover apps. + After installation on CapRover, it will be available as srv-captain--YOUR_CONTAINER_NAME at port 3306 to other CapRover apps. - Enter your MySQL Configuration parameters and click on next. It will take about a minute for the process to finish. - end: "MySQL is deployed and available as srv-captain--$$cap_appname-db:3306 to other apps. For example with NodeJS, you do 'var con = mysql.createConnection({ host: 'srv-captain--$$cap_appname-db', user: 'root', password: '*********' });'" - displayName: MySQL - isOfficial: true - description: MySQL is a relational database management system based on SQL - documentation: Taken from https://docs.docker.com/compose/mysql/ port mapping removed from WP as it's not needed + Enter your MySQL Configuration parameters and click on next. It will take about a minute for the process to finish. + end: "MySQL is deployed and available as srv-captain--$$cap_appname-db:3306 to other apps. For example with NodeJS, you do 'var con = mysql.createConnection({ host: 'srv-captain--$$cap_appname-db', user: 'root', password: '*********' });'" + displayName: MySQL + isOfficial: true + description: MySQL is a relational database management system based on SQL + documentation: Taken from https://docs.docker.com/compose/mysql/ port mapping removed from WP as it's not needed diff --git a/public/v4/apps/n8n-io.yml b/public/v4/apps/n8n-io.yml index e0596e1..2f6c107 100644 --- a/public/v4/apps/n8n-io.yml +++ b/public/v4/apps/n8n-io.yml @@ -1,97 +1,97 @@ captainVersion: 4 services: - $$cap_appname-db: - documentation: Taken from https://hub.docker.com/_/postgres - image: postgres:$$cap_postgres_version - volumes: - - $$cap_appname-db-data:/var/lib/postgresql/data - restart: always - environment: - POSTGRES_PASSWORD: $$cap_db_pass - POSTGRES_DB: n8n - POSTGRES_USER: $$cap_db_user - caproverExtra: - notExposeAsWebApp: "true" - $$cap_appname: - documentation: Taken from https://hub.docker.com/r/n8nio/n8n - depends_on: - - $$cap_appname-db - image: n8nio/n8n:$$cap_n8n_version - volumes: - - $$cap_appname-data:/root/.n8n - environment: - POSTGRES_DATABASE: n8n - POSTGRES_HOST: srv-captain--$$cap_appname-db - POSTGRES_PASSWORD: $$cap_db_pass - POSTGRES_PORT: "5432" - POSTGRES_USER: $$cap_db_user - GENERIC_TIMEZONE: $$cap_timezone - TZ: $$cap_timezone - N8N_PROTOCOL: http - WEBHOOK_TUNNEL_URL: http://$$cap_appname.$$cap_root_domain/ - VUE_APP_URL_BASE_API: http://$$cap_appname.$$cap_root_domain/ - N8N_HOST: http://$$cap_appname.$$cap_root_domain/ - N8N_BASIC_AUTH_ACTIVE: "true" - N8N_BASIC_AUTH_USER: $$cap_user - N8N_BASIC_AUTH_PASSWORD: $$cap_pass - restart: always - caproverExtra: - containerHttpPort: "5678" + $$cap_appname-db: + documentation: Taken from https://hub.docker.com/_/postgres + image: postgres:$$cap_postgres_version + volumes: + - $$cap_appname-db-data:/var/lib/postgresql/data + restart: always + environment: + POSTGRES_PASSWORD: $$cap_db_pass + POSTGRES_DB: n8n + POSTGRES_USER: $$cap_db_user + caproverExtra: + notExposeAsWebApp: 'true' + $$cap_appname: + documentation: Taken from https://hub.docker.com/r/n8nio/n8n + depends_on: + - $$cap_appname-db + image: n8nio/n8n:$$cap_n8n_version + volumes: + - $$cap_appname-data:/root/.n8n + environment: + POSTGRES_DATABASE: n8n + POSTGRES_HOST: srv-captain--$$cap_appname-db + POSTGRES_PASSWORD: $$cap_db_pass + POSTGRES_PORT: '5432' + POSTGRES_USER: $$cap_db_user + GENERIC_TIMEZONE: $$cap_timezone + TZ: $$cap_timezone + N8N_PROTOCOL: http + WEBHOOK_TUNNEL_URL: http://$$cap_appname.$$cap_root_domain/ + VUE_APP_URL_BASE_API: http://$$cap_appname.$$cap_root_domain/ + N8N_HOST: http://$$cap_appname.$$cap_root_domain/ + N8N_BASIC_AUTH_ACTIVE: 'true' + N8N_BASIC_AUTH_USER: $$cap_user + N8N_BASIC_AUTH_PASSWORD: $$cap_pass + restart: always + caproverExtra: + containerHttpPort: '5678' caproverOneClickApp: - variables: - - id: $$cap_n8n_version - label: n8n.io Version - defaultValue: 0.67.3 - description: Check out their Docker page for the valid tags https://hub.docker.com/r/n8nio/n8n/tags - validRegex: /^([^\s^\/])+$/ - - id: $$cap_postgres_version - label: Postgres (database) version - defaultValue: "12" - description: Check out their Docker page for the valid tags https://hub.docker.com/_/mariadb?tab=tags - validRegex: /^([^\s^\/])+$/ - - id: $$cap_db_pass - label: database password - description: Password for the database user and root using mysql. - validRegex: /.{1,}/ - - id: $$cap_db_user - label: database user - defaultValue: n8n - description: Username for the database using postgres. - validRegex: /^([a-z0-9])+$/i - - id: $$cap_timezone - label: timezone - defaultValue: Europe/Paris - description: Timezone used by the server. Please check out this page https://en.wikipedia.org/wiki/List_of_tz_database_time_zones for valid time - validRegex: /^([a-z_\+-0-9]+\/?[a-z_\+-0-9]*)$/i - - id: $$cap_user - label: user - defaultValue: root - description: user you need to use to login into the web interface - validRegex: /^([a-z0-9])+$/i - - id: $$cap_pass - label: password - description: password you need to use to login into the web interface - validRegex: /.{1,}/ - instructions: - start: >- - n8n is a free and open node based Workflow Automation Tool. + variables: + - id: $$cap_n8n_version + label: n8n.io Version + defaultValue: 0.67.3 + description: Check out their Docker page for the valid tags https://hub.docker.com/r/n8nio/n8n/tags + validRegex: /^([^\s^\/])+$/ + - id: $$cap_postgres_version + label: Postgres (database) version + defaultValue: '12' + description: Check out their Docker page for the valid tags https://hub.docker.com/_/mariadb?tab=tags + validRegex: /^([^\s^\/])+$/ + - id: $$cap_db_pass + label: database password + description: Password for the database user and root using mysql. + validRegex: /.{1,}/ + - id: $$cap_db_user + label: database user + defaultValue: n8n + description: Username for the database using postgres. + validRegex: /^([a-z0-9])+$/i + - id: $$cap_timezone + label: timezone + defaultValue: Europe/Paris + description: Timezone used by the server. Please check out this page https://en.wikipedia.org/wiki/List_of_tz_database_time_zones for valid time + validRegex: /^([a-z_\+-0-9]+\/?[a-z_\+-0-9]*)$/i + - id: $$cap_user + label: user + defaultValue: root + description: user you need to use to login into the web interface + validRegex: /^([a-z0-9])+$/i + - id: $$cap_pass + label: password + description: password you need to use to login into the web interface + validRegex: /.{1,}/ + instructions: + start: >- + n8n is a free and open node based Workflow Automation Tool. - The process will deploy a database and the App. + The process will deploy a database and the App. - The process will take about a minute for the process to finish. - end: >- - n8n is deployed and available as $$cap_appname. + The process will take about a minute for the process to finish. + end: >- + n8n is deployed and available as $$cap_appname. - Please activate Websocket Support in the app then wait few seconds before use it. + Please activate Websocket Support in the app then wait few seconds before use it. - Important information, it will not work without websocket support nor with https enabled. + Important information, it will not work without websocket support nor with https enabled. - Please do not activate https nor basic auth (it is setted by the docker and use the caprover one would make your webhook failed). + Please do not activate https nor basic auth (it is setted by the docker and use the caprover one would make your webhook failed). - See https://github.com/n8n-io/n8n/issues/593 for more details. - displayName: n8n.io - isOfficial: true - description: n8n is a free and open node based Workflow Automation Tool. + See https://github.com/n8n-io/n8n/issues/593 for more details. + displayName: n8n.io + isOfficial: true + description: n8n is a free and open node based Workflow Automation Tool. diff --git a/public/v4/apps/nextcloud.yml b/public/v4/apps/nextcloud.yml index 5f35b23..495644b 100644 --- a/public/v4/apps/nextcloud.yml +++ b/public/v4/apps/nextcloud.yml @@ -1,97 +1,97 @@ captainVersion: 4 services: - $$cap_appname-db: - documentation: Taken from https://hub.docker.com/_/mariadb - image: mariadb:$$cap_mariadb_version - volumes: - - $$cap_appname-db-data:/var/lib/mysql - restart: always - environment: - MYSQL_ROOT_PASSWORD: $$cap_db_pass - MYSQL_DATABASE: nextcloud - MYSQL_USER: $$cap_db_user - MYSQL_PASSWORD: $$cap_db_pass - caproverExtra: - notExposeAsWebApp: "true" - $$cap_appname: - depends_on: - - $$cap_appname-db - documentation: Taken from https://hub.docker.com/_/nextcloud - image: nextcloud:$$cap_nextcloud_version - volumes: - - $$cap_appname-data:/var/www/html - restart: always - environment: - OVERWRITEPROTOCOL: $$cap_http_https_cors - MYSQL_DATABASE: nextcloud - MYSQL_USER: $$cap_db_user - MYSQL_PASSWORD: $$cap_db_pass - MYSQL_HOST: srv-captain--$$cap_appname-db - NEXTCLOUD_ADMIN_USER: $$cap_admin_user - NEXTCLOUD_ADMIN_PASSWORD: $$cap_admin_pass - NEXTCLOUD_TRUSTED_DOMAINS: $$cap_appname.$$cap_root_domain - $$cap_appname-cron: - depends_on: - - $$cap_appname-db - - $$cap_appname - documentation: https://github.com/nextcloud/docker/blob/master/.examples/docker-compose/insecure/mariadb-cron-redis/apache/docker-compose.yml - restart: always - volumes: - - $$cap_appname-data:/var/www/html - caproverExtra: - dockerfileLines: - - FROM nextcloud:$$cap_nextcloud_version - - 'ENTRYPOINT [ "/cron.sh" ] ' - notExposeAsWebApp: "true" + $$cap_appname-db: + documentation: Taken from https://hub.docker.com/_/mariadb + image: mariadb:$$cap_mariadb_version + volumes: + - $$cap_appname-db-data:/var/lib/mysql + restart: always + environment: + MYSQL_ROOT_PASSWORD: $$cap_db_pass + MYSQL_DATABASE: nextcloud + MYSQL_USER: $$cap_db_user + MYSQL_PASSWORD: $$cap_db_pass + caproverExtra: + notExposeAsWebApp: 'true' + $$cap_appname: + depends_on: + - $$cap_appname-db + documentation: Taken from https://hub.docker.com/_/nextcloud + image: nextcloud:$$cap_nextcloud_version + volumes: + - $$cap_appname-data:/var/www/html + restart: always + environment: + OVERWRITEPROTOCOL: $$cap_http_https_cors + MYSQL_DATABASE: nextcloud + MYSQL_USER: $$cap_db_user + MYSQL_PASSWORD: $$cap_db_pass + MYSQL_HOST: srv-captain--$$cap_appname-db + NEXTCLOUD_ADMIN_USER: $$cap_admin_user + NEXTCLOUD_ADMIN_PASSWORD: $$cap_admin_pass + NEXTCLOUD_TRUSTED_DOMAINS: $$cap_appname.$$cap_root_domain + $$cap_appname-cron: + depends_on: + - $$cap_appname-db + - $$cap_appname + documentation: https://github.com/nextcloud/docker/blob/master/.examples/docker-compose/insecure/mariadb-cron-redis/apache/docker-compose.yml + restart: always + volumes: + - $$cap_appname-data:/var/www/html + caproverExtra: + dockerfileLines: + - FROM nextcloud:$$cap_nextcloud_version + - 'ENTRYPOINT [ "/cron.sh" ] ' + notExposeAsWebApp: 'true' caproverOneClickApp: - variables: - - id: $$cap_nextcloud_version - label: NextCloud Version - defaultValue: 19.0.0 - description: >- - Check out their Docker page for the valid tags https://hub.docker.com/r/library/nextcloud/tags/ + variables: + - id: $$cap_nextcloud_version + label: NextCloud Version + defaultValue: 19.0.0 + description: >- + Check out their Docker page for the valid tags https://hub.docker.com/r/library/nextcloud/tags/ - do not use fpm versions. - validRegex: /^([^\s^\/])+$/ - - id: $$cap_mariadb_version - label: MariaDB (database) version - defaultValue: 10.5.3 - description: Check out their Docker page for the valid tags https://hub.docker.com/_/mariadb?tab=tags - validRegex: /^([^\s^\/])+$/ - - id: $$cap_db_pass - label: database password - description: Password for the database user and root using mysql. - validRegex: /.{1,}/ - - id: $$cap_db_user - label: database user - defaultValue: nextcloud - description: Username for the database using mysql. - validRegex: /^([a-zA-Z0-9])+$/ - - id: $$cap_admin_user - label: admin name - defaultValue: admin - description: Name of the Nextcloud admin user. - validRegex: /^([a-zA-Z0-9\@\.])+$/ - - id: $$cap_admin_pass - label: admin password - description: Password for the Nextcloud admin user. - validRegex: /.{1,}/ - - id: $$cap_http_https_cors - label: Protocol of proxy - defaultValue: https - description: Choose either http or https. cors configuration to login are set by the docker image, if you do not set this same as your proxy configuration, login will fail - validRegex: /^http[s]?$/ - instructions: - start: A safe home for all your data. Access & share your files, calendars, contacts, mail & more from any device, on your terms. http://Nextcloud.com - end: >- - NextCloud is deployed and will be available on few minutes as $$cap_appname. + do not use fpm versions. + validRegex: /^([^\s^\/])+$/ + - id: $$cap_mariadb_version + label: MariaDB (database) version + defaultValue: 10.5.3 + description: Check out their Docker page for the valid tags https://hub.docker.com/_/mariadb?tab=tags + validRegex: /^([^\s^\/])+$/ + - id: $$cap_db_pass + label: database password + description: Password for the database user and root using mysql. + validRegex: /.{1,}/ + - id: $$cap_db_user + label: database user + defaultValue: nextcloud + description: Username for the database using mysql. + validRegex: /^([a-zA-Z0-9])+$/ + - id: $$cap_admin_user + label: admin name + defaultValue: admin + description: Name of the Nextcloud admin user. + validRegex: /^([a-zA-Z0-9\@\.])+$/ + - id: $$cap_admin_pass + label: admin password + description: Password for the Nextcloud admin user. + validRegex: /.{1,}/ + - id: $$cap_http_https_cors + label: Protocol of proxy + defaultValue: https + description: Choose either http or https. cors configuration to login are set by the docker image, if you do not set this same as your proxy configuration, login will fail + validRegex: /^http[s]?$/ + instructions: + start: A safe home for all your data. Access & share your files, calendars, contacts, mail & more from any device, on your terms. http://Nextcloud.com + end: >- + NextCloud is deployed and will be available on few minutes as $$cap_appname. - If you set the cors sections to https, please enable https on your app. If you do not activate it you will have an error. + If you set the cors sections to https, please enable https on your app. If you do not activate it you will have an error. - For better performances and compliance, you can add "add_header Strict-Transport-Security "max-age=15552000; includeSubDomains" always;" below "proxy_set_header X-Forwarded-Proto $scheme;" into the nginx configuration. - displayName: nextcloud - isOfficial: true - description: Nextcloud is a suite of client-server software for creating and using file hosting services - documentation: Taken from https://hub.docker.com/_/nextcloud + For better performances and compliance, you can add "add_header Strict-Transport-Security "max-age=15552000; includeSubDomains" always;" below "proxy_set_header X-Forwarded-Proto $scheme;" into the nginx configuration. + displayName: nextcloud + isOfficial: true + description: Nextcloud is a suite of client-server software for creating and using file hosting services + documentation: Taken from https://hub.docker.com/_/nextcloud diff --git a/public/v4/apps/nexus3.yml b/public/v4/apps/nexus3.yml index 57602f1..a9ae180 100644 --- a/public/v4/apps/nexus3.yml +++ b/public/v4/apps/nexus3.yml @@ -1,34 +1,34 @@ captainVersion: 4 services: - $$cap_appname: - image: sonatype/nexus3:$$cap__version - volumes: - - $$cap_appname-data:/nexus-data - restart: always - environment: {} - caproverExtra: - containerHttpPort: "8081" + $$cap_appname: + image: sonatype/nexus3:$$cap__version + volumes: + - $$cap_appname-data:/nexus-data + restart: always + environment: {} + caproverExtra: + containerHttpPort: '8081' caproverOneClickApp: - variables: - - id: $$cap__version - label: Version - defaultValue: 3.15.2 - description: "Additional tags can be found here: https://hub.docker.com/r/sonatype/nexus3/tags" - instructions: - start: >- - Nexus is the world's first and only universal repository solution that's FREE to use. It supports Bower, Docker, Git LFS, Maven, npm, NuGet, PyPI, Ruby Gems, Yum, Apt, Conan, R, CPAN, Raw (Universal),P2 ,Helm and ELPA. + variables: + - id: $$cap__version + label: Version + defaultValue: 3.15.2 + description: 'Additional tags can be found here: https://hub.docker.com/r/sonatype/nexus3/tags' + instructions: + start: >- + Nexus is the world's first and only universal repository solution that's FREE to use. It supports Bower, Docker, Git LFS, Maven, npm, NuGet, PyPI, Ruby Gems, Yum, Apt, Conan, R, CPAN, Raw (Universal),P2 ,Helm and ELPA. - Enter your Nexus Configuration parameters and click on next. + Enter your Nexus Configuration parameters and click on next. - Notes: + Notes: - Default credentials are: admin / admin123 + Default credentials are: admin / admin123 - It can take some time (2-3 minutes) for the service to launch in a new container. Check the "Deployment" tab logs to determine once Nexus is ready. - end: Nexus is deployed and available as srv-captain--$$cap_appname:8081 to other apps. - displayName: Nexus3 - isOfficial: true - description: Nexus is a repository manager. It allows you to proxy, collect, and manage your dependencies - documentation: Taken from https://hub.docker.com/r/sonatype/nexus3/ + It can take some time (2-3 minutes) for the service to launch in a new container. Check the "Deployment" tab logs to determine once Nexus is ready. + end: Nexus is deployed and available as srv-captain--$$cap_appname:8081 to other apps. + displayName: Nexus3 + isOfficial: true + description: Nexus is a repository manager. It allows you to proxy, collect, and manage your dependencies + documentation: Taken from https://hub.docker.com/r/sonatype/nexus3/ diff --git a/public/v4/apps/nginx-redirect.yml b/public/v4/apps/nginx-redirect.yml index 110be0d..d69538f 100644 --- a/public/v4/apps/nginx-redirect.yml +++ b/public/v4/apps/nginx-redirect.yml @@ -1,21 +1,21 @@ captainVersion: 4 services: - $$cap_appname: - image: caprover/nginx-redirect:latest - restart: always - environment: - RETURN_LOCATION: return 301 $$cap_redirect_url$request_uri; + $$cap_appname: + image: caprover/nginx-redirect:latest + restart: always + environment: + RETURN_LOCATION: return 301 $$cap_redirect_url$request_uri; caproverOneClickApp: - variables: - - id: $$cap_redirect_url - label: Redirect address - description: For example use https://caprover.com to redirect all request to CapRover. - defaultValue: https://caprover.com - validRegex: /^(http:\/\/|https:\/\/)\S*$/ - instructions: - start: "This is a very simply redirect nginx image. It redirects all HTTP requests to the HTTP address that you define. It's useful when you want to redirect all traffic from www.example.com to example.com, see more details here: https://github.com/caprover/nginx-redirect" - end: Reverse redirect is deployed and available as $$cap_appname - displayName: Nginx Redirect - isOfficial: true - description: A simple nginx image preloaded with redirect config that allows you to redirect to another URL. Useful for domain alias creation. - documentation: Taken from https://github.com/caprover/nginx-redirect + variables: + - id: $$cap_redirect_url + label: Redirect address + description: For example use https://caprover.com to redirect all request to CapRover. + defaultValue: https://caprover.com + validRegex: /^(http:\/\/|https:\/\/)\S*$/ + instructions: + start: "This is a very simply redirect nginx image. It redirects all HTTP requests to the HTTP address that you define. It's useful when you want to redirect all traffic from www.example.com to example.com, see more details here: https://github.com/caprover/nginx-redirect" + end: Reverse redirect is deployed and available as $$cap_appname + displayName: Nginx Redirect + isOfficial: true + description: A simple nginx image preloaded with redirect config that allows you to redirect to another URL. Useful for domain alias creation. + documentation: Taken from https://github.com/caprover/nginx-redirect diff --git a/public/v4/apps/nginx-reverse-proxy.yml b/public/v4/apps/nginx-reverse-proxy.yml index 3e846a6..cdaf1df 100644 --- a/public/v4/apps/nginx-reverse-proxy.yml +++ b/public/v4/apps/nginx-reverse-proxy.yml @@ -1,29 +1,29 @@ captainVersion: 4 services: - $$cap_appname: - image: caprover/nginx-reverse-proxy:latest - restart: always - environment: - UPSTREAM_HTTP_ADDRESS: $$cap_upstream_http_address - CLIENT_MAX_BODY_SIZE: $$cap_max_body_size + $$cap_appname: + image: caprover/nginx-reverse-proxy:latest + restart: always + environment: + UPSTREAM_HTTP_ADDRESS: $$cap_upstream_http_address + CLIENT_MAX_BODY_SIZE: $$cap_max_body_size caproverOneClickApp: - variables: - - id: $$cap_upstream_http_address - label: Upstream address - description: >- - For example use https://caprover.com to forward all request to CapRover. - If you're forwarding http requests to a CapRover internal app use http://srv-captain--yourappnamehere or if you want a particular port, use http://srv-captain--yourappnamehere:8080 - defaultValue: "" - validRegex: /^(http:\/\/|https:\/\/)\S*$/ - - id: $$cap_max_body_size - label: Client max body size - description: Sets the maximum allowed size of the client request body, specified in the “Content-Length” request header field. If the size in a request exceeds the configured value, the 413 (Request Entity Too Large) error is returned to the client. Please be aware that browsers cannot correctly display this error. Setting size to 0 disables checking of client request body size. - defaultValue: 256M - validRegex: /^\d+M$/ - instructions: - start: This is a very simply reverse proxy image. It forwards all HTTP requests to the HTTP address that you define. - end: Reverse Proxy is deployed and available as $$cap_appname - displayName: Nginx Reverse Proxy - isOfficial: true - description: A simple nginx image preloaded with reverse proxy config that allows you to proxy a URL to another URL - documentation: Taken from https://github.com/caprover/nginx-reverse-proxy + variables: + - id: $$cap_upstream_http_address + label: Upstream address + description: >- + For example use https://caprover.com to forward all request to CapRover. + If you're forwarding http requests to a CapRover internal app use http://srv-captain--yourappnamehere or if you want a particular port, use http://srv-captain--yourappnamehere:8080 + defaultValue: '' + validRegex: /^(http:\/\/|https:\/\/)\S*$/ + - id: $$cap_max_body_size + label: Client max body size + description: Sets the maximum allowed size of the client request body, specified in the “Content-Length” request header field. If the size in a request exceeds the configured value, the 413 (Request Entity Too Large) error is returned to the client. Please be aware that browsers cannot correctly display this error. Setting size to 0 disables checking of client request body size. + defaultValue: 256M + validRegex: /^\d+M$/ + instructions: + start: This is a very simply reverse proxy image. It forwards all HTTP requests to the HTTP address that you define. + end: Reverse Proxy is deployed and available as $$cap_appname + displayName: Nginx Reverse Proxy + isOfficial: true + description: A simple nginx image preloaded with reverse proxy config that allows you to proxy a URL to another URL + documentation: Taken from https://github.com/caprover/nginx-reverse-proxy diff --git a/public/v4/apps/nightscout.yml b/public/v4/apps/nightscout.yml index bb2f954..b151fc3 100644 --- a/public/v4/apps/nightscout.yml +++ b/public/v4/apps/nightscout.yml @@ -1,62 +1,62 @@ captainVersion: 4 services: - $$cap_appname-mongodb: - image: mongo:$$cap_mongo_version - volumes: - - $$cap_appname-db-data:/data/db - - $$cap_appname-db-config:/data/configdb - restart: always - environment: - MONGO_INITDB_ROOT_USERNAME: root - MONGO_INITDB_ROOT_PASSWORD: $$cap_mongo_password - caproverExtra: - notExposeAsWebApp: "true" - $$cap_appname-nightscout: - depends_on: - - $$cap_appname-mongodb - restart: always - environment: - PORT: "1337" - INSECURE_USE_HTTP: "true" - MONGO_CONNECTION: mongodb://root:$$cap_mongo_password@srv-captain--$$cap_appname-mongodb:27017/nightscout?authSource=admin - API_SECRET: $$cap_api_secret - BASE_URL: https://replace.me.in.settings.of.website.com - DISPLAY_UNITS: mg/dl - caproverExtra: - containerHttpPort: "1337" - dockerfileLines: - - FROM node:10 - - RUN mkdir -p /opt/app - - WORKDIR /opt/app - - RUN git clone git://github.com/nightscout/cgm-remote-monitor.git /opt/app - - RUN cd /opt/app && git checkout $$cap_nighscout_version && rm -rf .git - - RUN cd /opt/app && npm install && npm run postinstall && npm run env - - EXPOSE 1337 - - CMD ["node", "server.js"] + $$cap_appname-mongodb: + image: mongo:$$cap_mongo_version + volumes: + - $$cap_appname-db-data:/data/db + - $$cap_appname-db-config:/data/configdb + restart: always + environment: + MONGO_INITDB_ROOT_USERNAME: root + MONGO_INITDB_ROOT_PASSWORD: $$cap_mongo_password + caproverExtra: + notExposeAsWebApp: 'true' + $$cap_appname-nightscout: + depends_on: + - $$cap_appname-mongodb + restart: always + environment: + PORT: '1337' + INSECURE_USE_HTTP: 'true' + MONGO_CONNECTION: mongodb://root:$$cap_mongo_password@srv-captain--$$cap_appname-mongodb:27017/nightscout?authSource=admin + API_SECRET: $$cap_api_secret + BASE_URL: https://replace.me.in.settings.of.website.com + DISPLAY_UNITS: mg/dl + caproverExtra: + containerHttpPort: '1337' + dockerfileLines: + - FROM node:10 + - RUN mkdir -p /opt/app + - WORKDIR /opt/app + - RUN git clone git://github.com/nightscout/cgm-remote-monitor.git /opt/app + - RUN cd /opt/app && git checkout $$cap_nighscout_version && rm -rf .git + - RUN cd /opt/app && npm install && npm run postinstall && npm run env + - EXPOSE 1337 + - CMD ["node", "server.js"] caproverOneClickApp: - variables: - - id: $$cap_mongo_version - label: MongoDB Version - defaultValue: "4" - description: Check out their Docker page for the valid tags https://hub.docker.com/r/library/mongo/tags/ - validRegex: /^([^\s^\/])+$/ - - id: $$cap_mongo_password - label: MongoDB password - description: Only use alphanumeric chars. - validRegex: /^([a-zA-Z0-9])+$/ - - id: $$cap_nighscout_version - label: Nighscout Version - defaultValue: 0.11.1 - description: Check out their page for the valid tags https://github.com/nightscout/cgm-remote-monitor/releases - validRegex: /^([^\s^\/])+$/ - - id: $$cap_api_secret - label: API key - description: Use a random string (alphanumberic) - minimum 12 characters. See documentation for more details. - validRegex: /^([a-zA-Z0-9]){12,}$/ - instructions: - start: Nightscout acts as a web-based CGM (Continuous Glucose Monitor) to allow multiple caregivers to remotely view a patient's glucose data in real time. - end: Nightscout is deployed and available as $$cap_appname-nightscout. - displayName: "" - isOfficial: true - description: Nightscout is a free and open-source project, and associated social movement, that enables accessing and working with continuous glucose monitor data - documentation: Built from scratch (https://github.com/nightscout/cgm-remote-monitor) + variables: + - id: $$cap_mongo_version + label: MongoDB Version + defaultValue: '4' + description: Check out their Docker page for the valid tags https://hub.docker.com/r/library/mongo/tags/ + validRegex: /^([^\s^\/])+$/ + - id: $$cap_mongo_password + label: MongoDB password + description: Only use alphanumeric chars. + validRegex: /^([a-zA-Z0-9])+$/ + - id: $$cap_nighscout_version + label: Nighscout Version + defaultValue: 0.11.1 + description: Check out their page for the valid tags https://github.com/nightscout/cgm-remote-monitor/releases + validRegex: /^([^\s^\/])+$/ + - id: $$cap_api_secret + label: API key + description: Use a random string (alphanumberic) - minimum 12 characters. See documentation for more details. + validRegex: /^([a-zA-Z0-9]){12,}$/ + instructions: + start: Nightscout acts as a web-based CGM (Continuous Glucose Monitor) to allow multiple caregivers to remotely view a patient's glucose data in real time. + end: Nightscout is deployed and available as $$cap_appname-nightscout. + displayName: '' + isOfficial: true + description: Nightscout is a free and open-source project, and associated social movement, that enables accessing and working with continuous glucose monitor data + documentation: Built from scratch (https://github.com/nightscout/cgm-remote-monitor) diff --git a/public/v4/apps/odoo.yml b/public/v4/apps/odoo.yml index 3f74643..2da686d 100644 --- a/public/v4/apps/odoo.yml +++ b/public/v4/apps/odoo.yml @@ -1,54 +1,54 @@ captainVersion: 4 networks: - db: - driver: bridge - search: - driver: bridge + db: + driver: bridge + search: + driver: bridge services: - $$cap_appname-db: - image: postgres:$$cap_postgres_version - volumes: - - $$cap_appname-db-data:/var/lib/postgresql/data - restart: always - environment: - POSTGRES_USER: odoo - POSTGRES_PASSWORD: $$cap_postgres_password - POSTGRES_DB: postgres - caproverExtra: - notExposeAsWebApp: "true" - $$cap_appname: - image: odoo:$$cap_odoo_version - 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 - caproverExtra: - containerHttpPort: "8069" + $$cap_appname-db: + image: postgres:$$cap_postgres_version + volumes: + - $$cap_appname-db-data:/var/lib/postgresql/data + restart: always + environment: + POSTGRES_USER: odoo + POSTGRES_PASSWORD: $$cap_postgres_password + POSTGRES_DB: postgres + caproverExtra: + notExposeAsWebApp: 'true' + $$cap_appname: + image: odoo:$$cap_odoo_version + 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 + caproverExtra: + containerHttpPort: '8069' caproverOneClickApp: - 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^\/])+$/ - 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. - isOfficial: true - description: Odoo, formerly known as OpenERP, is a suite of open-source business apps written in Python and released under the AGPL license. - documentation: https://hub.docker.com/_/odoo?tab=description + 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^\/])+$/ + 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. + isOfficial: true + description: Odoo, formerly known as OpenERP, is a suite of open-source business apps written in Python and released under the AGPL license. + documentation: https://hub.docker.com/_/odoo?tab=description diff --git a/public/v4/apps/outline.yml b/public/v4/apps/outline.yml index 0f81269..0baa33b 100644 --- a/public/v4/apps/outline.yml +++ b/public/v4/apps/outline.yml @@ -1,109 +1,109 @@ captainVersion: 4 services: - $$cap_appname-redis: - image: redis:5 - caproverExtra: - notExposeAsWebApp: "true" - $$cap_appname-fakes3: - image: lphoward/fake-s3 - volumes: - - $$cap_appname-fakes3:/fakes3_root - caproverExtra: - notExposeAsWebApp: "true" - $$cap_appname-db: - image: postgres:12.2 - volumes: - - $$cap_appname-db-data:/var/lib/postgresql/data - restart: always - environment: - POSTGRES_USER: $$cap_db_user - POSTGRES_PASSWORD: $$cap_db_pass - POSTGRES_DB: outline - caproverExtra: - notExposeAsWebApp: "true" - $$cap_appname-outline: - depends_on: - - $$cap_appname-fakes3 - - $$cap_appname-redis - - $$cap_appname-db - image: outlinewiki/outline:$$cap_outline_version - environment: - SECRET_KEY: $$cap_secret_key - UTILS_SECRET: $$cap_utils_secret - AWS_ACCESS_KEY_ID: get_a_key_from_aws - AWS_SECRET_ACCESS_KEY: get_the_secret_of_above_key - AWS_REGION: xx-xxxx-x - AWS_S3_UPLOAD_BUCKET_URL: http://srv-captain--$$cap_appname-fakes3:4569 - AWS_S3_UPLOAD_BUCKET_NAME: bucket_name_here - AWS_S3_UPLOAD_MAX_SIZE: "26214400" - AWS_S3_ACL: private - SLACK_KEY: $$cap_slack_key - SLACK_SECRET: $$cap_slack_secret - GOOGLE_CLIENT_ID: $$cap_google_client_id - GOOGLE_CLIENT_SECRET: $$cap_google_client_secret - FORCE_HTTPS: "false" - DEPLOYMENT: self - ENABLE_UPDATES: "false" - SUBDOMAINS_ENABLED: "false" - WEBSOCKETS_ENABLED: "false" - DEBUG: cache,presenters,events - URL: https://$$cap_appname-outline.$$cap_root_domain - PORT: "80" - REDIS_URL: redis://srv-captain--$$cap_appname-redis:6379 - DATABASE_URL_TEST: postgres://$$cap_db_user:$$cap_db_pass@srv-captain--$$cap_appname-db:5432/outline-test - DATABASE_URL: postgres://$$cap_db_user:$$cap_db_pass@srv-captain--$$cap_appname-db:5432/outline + $$cap_appname-redis: + image: redis:5 + caproverExtra: + notExposeAsWebApp: 'true' + $$cap_appname-fakes3: + image: lphoward/fake-s3 + volumes: + - $$cap_appname-fakes3:/fakes3_root + caproverExtra: + notExposeAsWebApp: 'true' + $$cap_appname-db: + image: postgres:12.2 + volumes: + - $$cap_appname-db-data:/var/lib/postgresql/data + restart: always + environment: + POSTGRES_USER: $$cap_db_user + POSTGRES_PASSWORD: $$cap_db_pass + POSTGRES_DB: outline + caproverExtra: + notExposeAsWebApp: 'true' + $$cap_appname-outline: + depends_on: + - $$cap_appname-fakes3 + - $$cap_appname-redis + - $$cap_appname-db + image: outlinewiki/outline:$$cap_outline_version + environment: + SECRET_KEY: $$cap_secret_key + UTILS_SECRET: $$cap_utils_secret + AWS_ACCESS_KEY_ID: get_a_key_from_aws + AWS_SECRET_ACCESS_KEY: get_the_secret_of_above_key + AWS_REGION: xx-xxxx-x + AWS_S3_UPLOAD_BUCKET_URL: http://srv-captain--$$cap_appname-fakes3:4569 + AWS_S3_UPLOAD_BUCKET_NAME: bucket_name_here + AWS_S3_UPLOAD_MAX_SIZE: '26214400' + AWS_S3_ACL: private + SLACK_KEY: $$cap_slack_key + SLACK_SECRET: $$cap_slack_secret + GOOGLE_CLIENT_ID: $$cap_google_client_id + GOOGLE_CLIENT_SECRET: $$cap_google_client_secret + FORCE_HTTPS: 'false' + DEPLOYMENT: self + ENABLE_UPDATES: 'false' + SUBDOMAINS_ENABLED: 'false' + WEBSOCKETS_ENABLED: 'false' + DEBUG: cache,presenters,events + URL: https://$$cap_appname-outline.$$cap_root_domain + PORT: '80' + REDIS_URL: redis://srv-captain--$$cap_appname-redis:6379 + DATABASE_URL_TEST: postgres://$$cap_db_user:$$cap_db_pass@srv-captain--$$cap_appname-db:5432/outline-test + DATABASE_URL: postgres://$$cap_db_user:$$cap_db_pass@srv-captain--$$cap_appname-db:5432/outline caproverOneClickApp: - variables: - - id: $$cap_db_user - label: Database user - defaultValue: outlineuser - validRegex: /^([a-zA-Z0-9])+$/ - - id: $$cap_db_pass - label: Database password - description: "" - validRegex: /.{8,}/ - - id: $$cap_slack_key - label: Slack Key - description: "IMPORTANT: You need to, at least, set one 3rd party login method, either Slack or Google" - defaultValue: get_a_key_from_slack - - id: $$cap_slack_secret - label: Slack Secret - description: "" - defaultValue: get_the_secret_of_above_key - - id: $$cap_google_client_id - label: Google Client ID - - id: $$cap_google_client_secret - label: Google Client Secret - description: "" - - id: $$cap_secret_key - label: SECRET_KEY - description: "Run this command to generate a key: openssl rand -hex 32" - defaultValue: c63eaeed7ee7459098e2901ed87c8b70817428b85fbe3ef59cb6a79abb2bbf4a - validRegex: /^([0-9a-f]){64}$/ - - id: $$cap_utils_secret - label: UTILS_SECRET - description: "Run this command to generate a key: openssl rand -hex 32" - defaultValue: c9b4d178130f53efc7419eaec9a2e764481269c9602c2ef2e541bdadc63b5bbf - validRegex: /^([0-9a-f]){64}$/ - - id: $$cap_outline_version - label: Outline Version - defaultValue: version-0.41.0 - description: Check out their page for the valid tags https://hub.docker.com/r/outlinewiki/outline/tags - validRegex: /^([^\s^\/])+$/ - instructions: - start: Outline is an open, extensible, wiki for your team built using React and Node.js. - end: > - IMPORTANT: before you start using Outline, you need to + variables: + - id: $$cap_db_user + label: Database user + defaultValue: outlineuser + validRegex: /^([a-zA-Z0-9])+$/ + - id: $$cap_db_pass + label: Database password + description: '' + validRegex: /.{8,}/ + - id: $$cap_slack_key + label: Slack Key + description: 'IMPORTANT: You need to, at least, set one 3rd party login method, either Slack or Google' + defaultValue: get_a_key_from_slack + - id: $$cap_slack_secret + label: Slack Secret + description: '' + defaultValue: get_the_secret_of_above_key + - id: $$cap_google_client_id + label: Google Client ID + - id: $$cap_google_client_secret + label: Google Client Secret + description: '' + - id: $$cap_secret_key + label: SECRET_KEY + description: 'Run this command to generate a key: openssl rand -hex 32' + defaultValue: c63eaeed7ee7459098e2901ed87c8b70817428b85fbe3ef59cb6a79abb2bbf4a + validRegex: /^([0-9a-f]){64}$/ + - id: $$cap_utils_secret + label: UTILS_SECRET + description: 'Run this command to generate a key: openssl rand -hex 32' + defaultValue: c9b4d178130f53efc7419eaec9a2e764481269c9602c2ef2e541bdadc63b5bbf + validRegex: /^([0-9a-f]){64}$/ + - id: $$cap_outline_version + label: Outline Version + defaultValue: version-0.41.0 + description: Check out their page for the valid tags https://hub.docker.com/r/outlinewiki/outline/tags + validRegex: /^([^\s^\/])+$/ + instructions: + start: Outline is an open, extensible, wiki for your team built using React and Node.js. + end: > + IMPORTANT: before you start using Outline, you need to - 1) Enable HTTPS - 2) Force HTTPS - 3) Enable Websocket in $$cap_appname-outline. - 4) Run database migration `npm run sequelize:migrate` within the $$cap_appname-outline docker container. + 1) Enable HTTPS + 2) Force HTTPS + 3) Enable Websocket in $$cap_appname-outline. + 4) Run database migration `npm run sequelize:migrate` within the $$cap_appname-outline docker container. - You can customize more settings by environmental variables described here: https://github.com/outline/outline/blob/0deecfac446c37545e0787b3d32062e608a950ab/.env.sample + You can customize more settings by environmental variables described here: https://github.com/outline/outline/blob/0deecfac446c37545e0787b3d32062e608a950ab/.env.sample - IMPORTANT: It will take up to 2 minutes for it to be ready. Before that, you might see a 502 error page. - displayName: Outline - isOfficial: true - description: An open, extensible, wiki for your team built using React and Node.js. - documentation: Taken from https://github.com/outline/outline/blob/master/docker-compose.yml + IMPORTANT: It will take up to 2 minutes for it to be ready. Before that, you might see a 502 error page. + displayName: Outline + isOfficial: true + description: An open, extensible, wiki for your team built using React and Node.js. + documentation: Taken from https://github.com/outline/outline/blob/master/docker-compose.yml diff --git a/public/v4/apps/parse.yml b/public/v4/apps/parse.yml index a9adea5..37b4166 100644 --- a/public/v4/apps/parse.yml +++ b/public/v4/apps/parse.yml @@ -1,86 +1,86 @@ captainVersion: 4 services: - $$cap_appname-mongodb: - image: mongo:$$cap_mongo_version - volumes: - - $$cap_appname-db-data:/data/db - - $$cap_appname-db-config:/data/configdb - restart: always - environment: - MONGO_INITDB_ROOT_USERNAME: root - MONGO_INITDB_ROOT_PASSWORD: $$cap_mongo_password - caproverExtra: - notExposeAsWebApp: "true" - $$cap_appname-parse: - depends_on: - - $$cap_appname-mongodb - image: parseplatform/parse-server:$$cap_parse_version - restart: always - volumes: - - $$cap_appname-parse-cloud:/parse-server/cloud - - $$cap_appname-parse-config:/parse-server/config - environment: - PORT: "8080" - PARSE_SERVER_APPLICATION_ID: $$cap_app_id - PARSE_SERVER_MASTER_KEY: $$cap_master_key - PARSE_SERVER_DATABASE_URI: mongodb://root:$$cap_mongo_password@srv-captain--$$cap_appname-mongodb:27017/parse?authSource=admin - caproverExtra: - containerHttpPort: "8080" - $$cap_appname-parse-dashboard: - depends_on: - - $$cap_appname-parse - image: parseplatform/parse-dashboard:$$cap_parse_dashboard_version - restart: always - environment: - PORT: "4040" - PARSE_DASHBOARD_SERVER_URL: https://$$cap_appname-parse.$$cap_root_domain/parse - PARSE_DASHBOARD_MASTER_KEY: $$cap_master_key - PARSE_DASHBOARD_APP_ID: $$cap_app_id - PARSE_DASHBOARD_APP_NAME: $$cap_appname-parse - PARSE_DASHBOARD_USER_ID: caprover - PARSE_DASHBOARD_ALLOW_INSECURE_HTTP: "true" - PARSE_DASHBOARD_USER_PASSWORD: $$cap_parse_dashboard_password - caproverExtra: - containerHttpPort: "4040" + $$cap_appname-mongodb: + image: mongo:$$cap_mongo_version + volumes: + - $$cap_appname-db-data:/data/db + - $$cap_appname-db-config:/data/configdb + restart: always + environment: + MONGO_INITDB_ROOT_USERNAME: root + MONGO_INITDB_ROOT_PASSWORD: $$cap_mongo_password + caproverExtra: + notExposeAsWebApp: 'true' + $$cap_appname-parse: + depends_on: + - $$cap_appname-mongodb + image: parseplatform/parse-server:$$cap_parse_version + restart: always + volumes: + - $$cap_appname-parse-cloud:/parse-server/cloud + - $$cap_appname-parse-config:/parse-server/config + environment: + PORT: '8080' + PARSE_SERVER_APPLICATION_ID: $$cap_app_id + PARSE_SERVER_MASTER_KEY: $$cap_master_key + PARSE_SERVER_DATABASE_URI: mongodb://root:$$cap_mongo_password@srv-captain--$$cap_appname-mongodb:27017/parse?authSource=admin + caproverExtra: + containerHttpPort: '8080' + $$cap_appname-parse-dashboard: + depends_on: + - $$cap_appname-parse + image: parseplatform/parse-dashboard:$$cap_parse_dashboard_version + restart: always + environment: + PORT: '4040' + PARSE_DASHBOARD_SERVER_URL: https://$$cap_appname-parse.$$cap_root_domain/parse + PARSE_DASHBOARD_MASTER_KEY: $$cap_master_key + PARSE_DASHBOARD_APP_ID: $$cap_app_id + PARSE_DASHBOARD_APP_NAME: $$cap_appname-parse + PARSE_DASHBOARD_USER_ID: caprover + PARSE_DASHBOARD_ALLOW_INSECURE_HTTP: 'true' + PARSE_DASHBOARD_USER_PASSWORD: $$cap_parse_dashboard_password + caproverExtra: + containerHttpPort: '4040' caproverOneClickApp: - variables: - - id: $$cap_mongo_version - label: MongoDB Version - defaultValue: "4" - description: Check out their Docker page for the valid tags https://hub.docker.com/r/library/mongo/tags/ - validRegex: /^([^\s^\/])+$/ - - id: $$cap_mongo_password - label: MongoDB password - description: Only use alphanumeric chars. - validRegex: /^([a-zA-Z0-9])+$/ - - id: $$cap_parse_dashboard_version - label: Parse Dashboard Version - defaultValue: 2.0.5 - description: Check out their Docker page for the valid tags https://hub.docker.com/r/parseplatform/parse-dashboard/tags - validRegex: /^([^\s^\/])+$/ - - id: $$cap_parse_dashboard_password - label: Parse Dashboard Password - validRegex: /^\S{8,}$/ - - id: $$cap_parse_version - label: Parse Version - defaultValue: 3.1.3 - description: Check out their Docker page for the valid tags https://hub.docker.com/r/parseplatform/parse-server/tags - validRegex: /^([^\s^\/])+$/ - - id: $$cap_app_id - label: Application ID - description: Use a random string. See Parse documentation for more details. - validRegex: /^([a-zA-Z0-9])+$/ - - id: $$cap_master_key - label: Master Key - description: Use a random string. See Parse documentation for more details. - validRegex: /^([a-zA-Z0-9])+$/ - instructions: - start: >- - Parse Server is an open source version of the Parse backend that can be deployed to any infrastructure that can run Node.js. For more information on Parse platform see http://parseplatform.org + variables: + - id: $$cap_mongo_version + label: MongoDB Version + defaultValue: '4' + description: Check out their Docker page for the valid tags https://hub.docker.com/r/library/mongo/tags/ + validRegex: /^([^\s^\/])+$/ + - id: $$cap_mongo_password + label: MongoDB password + description: Only use alphanumeric chars. + validRegex: /^([a-zA-Z0-9])+$/ + - id: $$cap_parse_dashboard_version + label: Parse Dashboard Version + defaultValue: 2.0.5 + description: Check out their Docker page for the valid tags https://hub.docker.com/r/parseplatform/parse-dashboard/tags + validRegex: /^([^\s^\/])+$/ + - id: $$cap_parse_dashboard_password + label: Parse Dashboard Password + validRegex: /^\S{8,}$/ + - id: $$cap_parse_version + label: Parse Version + defaultValue: 3.1.3 + description: Check out their Docker page for the valid tags https://hub.docker.com/r/parseplatform/parse-server/tags + validRegex: /^([^\s^\/])+$/ + - id: $$cap_app_id + label: Application ID + description: Use a random string. See Parse documentation for more details. + validRegex: /^([a-zA-Z0-9])+$/ + - id: $$cap_master_key + label: Master Key + description: Use a random string. See Parse documentation for more details. + validRegex: /^([a-zA-Z0-9])+$/ + instructions: + start: >- + Parse Server is an open source version of the Parse backend that can be deployed to any infrastructure that can run Node.js. For more information on Parse platform see http://parseplatform.org - Enter your Parse Configuration parameters and click on next. A MongoDB (database) and a Parse container will be created for you. The process will take about a minute for the process to finish. - end: 'Parse is deployed! IMPORTANT: Make sure to enable HTTPS and Force HTTPS on your apps before accessing them! Your Parse Dashboard username is "caprover"' - displayName: "" - isOfficial: true - description: Parse Server is an open source Backend-as-a-Service(BaaS) framework initially developed by Facebook - documentation: Taken from https://hub.docker.com/r/parseplatform/parse-server/ + Enter your Parse Configuration parameters and click on next. A MongoDB (database) and a Parse container will be created for you. The process will take about a minute for the process to finish. + end: 'Parse is deployed! IMPORTANT: Make sure to enable HTTPS and Force HTTPS on your apps before accessing them! Your Parse Dashboard username is "caprover"' + displayName: '' + isOfficial: true + description: Parse Server is an open source Backend-as-a-Service(BaaS) framework initially developed by Facebook + documentation: Taken from https://hub.docker.com/r/parseplatform/parse-server/ diff --git a/public/v4/apps/passbolt.yml b/public/v4/apps/passbolt.yml index 357c2cd..9c6e85f 100644 --- a/public/v4/apps/passbolt.yml +++ b/public/v4/apps/passbolt.yml @@ -1,87 +1,87 @@ captainVersion: 4 services: - $$cap_appname-db: - image: mariadb:10.3 - environment: - MYSQL_ROOT_PASSWORD: $$cap_db_root_pass - MYSQL_DATABASE: passbolt_oca - MYSQL_USER: $$cap_db_user - MYSQL_PASSWORD: $$cap_db_pass - volumes: - - $$cap_appname-db:/var/lib/mysql - $$cap_appname-pb: - image: passbolt/passbolt:2.12.1-debian - depends_on: - - $$cap_appname-db - environment: - DATASOURCES_DEFAULT_HOST: srv-captain--$$cap_appname-db:3306 - DATASOURCES_DEFAULT_DATABASE: passbolt_oca - DATASOURCES_DEFAULT_USERNAME: $$cap_db_user - DATASOURCES_DEFAULT_PASSWORD: $$cap_db_pass - APP_FULL_BASE_URL: $$cap_url - EMAIL_TRANSPORT_DEFAULT_HOST: $$cap_email_host - EMAIL_TRANSPORT_DEFAULT_PORT: $$cap_email_port - EMAIL_TRANSPORT_DEFAULT_USERNAME: $$cap_email_user - EMAIL_TRANSPORT_DEFAULT_FROM: $$cap_email_user - EMAIL_TRANSPORT_DEFAULT_PASSWORD: $$cap_email_pass - EMAIL_TRANSPORT_DEFAULT_TLS: $$cap_email_tls - volumes: - - $$cap_appname-gpg:/var/www/passbolt/config/gpg - - $$cap_appname-images:/var/www/passbolt/webroot/img/public + $$cap_appname-db: + image: mariadb:10.3 + environment: + MYSQL_ROOT_PASSWORD: $$cap_db_root_pass + MYSQL_DATABASE: passbolt_oca + MYSQL_USER: $$cap_db_user + MYSQL_PASSWORD: $$cap_db_pass + volumes: + - $$cap_appname-db:/var/lib/mysql + $$cap_appname-pb: + image: passbolt/passbolt:2.12.1-debian + depends_on: + - $$cap_appname-db + environment: + DATASOURCES_DEFAULT_HOST: srv-captain--$$cap_appname-db:3306 + DATASOURCES_DEFAULT_DATABASE: passbolt_oca + DATASOURCES_DEFAULT_USERNAME: $$cap_db_user + DATASOURCES_DEFAULT_PASSWORD: $$cap_db_pass + APP_FULL_BASE_URL: $$cap_url + EMAIL_TRANSPORT_DEFAULT_HOST: $$cap_email_host + EMAIL_TRANSPORT_DEFAULT_PORT: $$cap_email_port + EMAIL_TRANSPORT_DEFAULT_USERNAME: $$cap_email_user + EMAIL_TRANSPORT_DEFAULT_FROM: $$cap_email_user + EMAIL_TRANSPORT_DEFAULT_PASSWORD: $$cap_email_pass + EMAIL_TRANSPORT_DEFAULT_TLS: $$cap_email_tls + volumes: + - $$cap_appname-gpg:/var/www/passbolt/config/gpg + - $$cap_appname-images:/var/www/passbolt/webroot/img/public caproverOneClickApp: - variables: - - id: $$cap_db_root_pass - label: Database Root Password - defaultValue: rootpassword - - id: $$cap_db_user - label: Database Username - defaultValue: passbolt - - id: $$cap_db_pass - label: Database Password - defaultValue: password - - id: $$cap_pb_version - label: Passbolt Version - defaultValue: 2.12.1-debian - description: Check out their Docker page for the valid tags https://hub.docker.com/r/passbolt/passbolt/tags/ - - id: $$cap_url - label: Passbolt URL - description: "This is VERY IMPORTANT, if you won't use a custom domain (ex: km.yourdomain.com), after deployed you will need to go into the App Configs and update the ENV APP_FULL_BASE_URL with the external URL that CapRover assigned to your App, otherwhise it won't work" - defaultValue: https://yourdomain.com - - id: $$cap_email_host - label: Email SMTP Server - description: "Host used as smtp server. More info: https://help.passbolt.com/configure/email/setup." - defaultValue: smtp.gmail.com - - id: $$cap_email_port - label: Email SMTP Port - description: "Port used with the smtp server. More info: https://help.passbolt.com/configure/email/setup" - defaultValue: "587" - - id: $$cap_email_user - label: Email Username - defaultValue: user@gmail.com - - id: $$cap_email_pass - label: Email Password - defaultValue: password - - id: $$cap_email_tls - label: TLS Enabled - defaultValue: "true" - instructions: - start: >- - Passbolt is a free and open source password manager that allows team members to store and share credentials securely. + variables: + - id: $$cap_db_root_pass + label: Database Root Password + defaultValue: rootpassword + - id: $$cap_db_user + label: Database Username + defaultValue: passbolt + - id: $$cap_db_pass + label: Database Password + defaultValue: password + - id: $$cap_pb_version + label: Passbolt Version + defaultValue: 2.12.1-debian + description: Check out their Docker page for the valid tags https://hub.docker.com/r/passbolt/passbolt/tags/ + - id: $$cap_url + label: Passbolt URL + description: "This is VERY IMPORTANT, if you won't use a custom domain (ex: km.yourdomain.com), after deployed you will need to go into the App Configs and update the ENV APP_FULL_BASE_URL with the external URL that CapRover assigned to your App, otherwhise it won't work" + defaultValue: https://yourdomain.com + - id: $$cap_email_host + label: Email SMTP Server + description: 'Host used as smtp server. More info: https://help.passbolt.com/configure/email/setup.' + defaultValue: smtp.gmail.com + - id: $$cap_email_port + label: Email SMTP Port + description: 'Port used with the smtp server. More info: https://help.passbolt.com/configure/email/setup' + defaultValue: '587' + - id: $$cap_email_user + label: Email Username + defaultValue: user@gmail.com + - id: $$cap_email_pass + label: Email Password + defaultValue: password + - id: $$cap_email_tls + label: TLS Enabled + defaultValue: 'true' + instructions: + start: >- + Passbolt is a free and open source password manager that allows team members to store and share credentials securely. - Enter your Passbolt configuration parameters and click on next. A MariaDB (database) and a Passbolt container will be created for you. The process will take about a minute for the process to finish. - end: >- - Passbolt is deployed and available as $$cap_appname-pb . + Enter your Passbolt configuration parameters and click on next. A MariaDB (database) and a Passbolt container will be created for you. The process will take about a minute for the process to finish. + end: >- + Passbolt is deployed and available as $$cap_appname-pb . - IMPORTANT: It will take up to 2 minutes for Passbolt to be ready. Before that, you might see a 502 error page. + IMPORTANT: It will take up to 2 minutes for Passbolt to be ready. Before that, you might see a 502 error page. - Note: Once the container is running create your first admin user running the following command in the terminal: + Note: Once the container is running create your first admin user running the following command in the terminal: - $ docker exec su -m -c '/var/www/passbolt/bin/cake passbolt register_user -u your@email.com -f yourname -l surname -r admin' -s /bin/sh www-data + $ docker exec su -m -c '/var/www/passbolt/bin/cake passbolt register_user -u your@email.com -f yourname -l surname -r admin' -s /bin/sh www-data - This registration command will return a single use url required to continue the web browser setup and finish the registration. Your passbolt instance should be available browsing https://yourdomain.com - displayName: Passbolt - isOfficial: true - description: Passbolt is a free and open source password manager that allows team members to store and share credentials securely. - documentation: Taken from https://hub.docker.com/r/passbolt/passbolt. + This registration command will return a single use url required to continue the web browser setup and finish the registration. Your passbolt instance should be available browsing https://yourdomain.com + displayName: Passbolt + isOfficial: true + description: Passbolt is a free and open source password manager that allows team members to store and share credentials securely. + documentation: Taken from https://hub.docker.com/r/passbolt/passbolt. diff --git a/public/v4/apps/peertube.yml b/public/v4/apps/peertube.yml index f3a89a8..8e93bce 100644 --- a/public/v4/apps/peertube.yml +++ b/public/v4/apps/peertube.yml @@ -1,107 +1,107 @@ captainVersion: 4 services: - $$cap_appname-db: - image: postgres:$$cap_postgres_version - volumes: - - $$cap_appname-db-data:/var/lib/postgresql/data - restart: always - environment: - POSTGRES_USER: $$cap_db_user - POSTGRES_PASSWORD: $$cap_db_pass - POSTGRES_DB: peertube - caproverExtra: - notExposeAsWebApp: "true" - $$cap_appname-redis: - image: redis:$$cap_redis_version - volumes: - - $$cap_appname-redis-data:/data - restart: always - caproverExtra: - notExposeAsWebApp: "true" - $$cap_appname: - depends_on: - - $$cap_appname-db - - $$cap_appname-redis - image: chocobozzz/peertube:$$cap_peertube_version - volumes: - - $$cap_appname-peertube-data:/data - - $$cap_appname-peertube-config:/config - restart: always - environment: - PEERTUBE_DB_USERNAME: $$cap_db_user - PEERTUBE_DB_PASSWORD: $$cap_db_pass - PEERTUBE_DB_HOSTNAME: srv-captain--$$cap_appname-db - PEERTUBE_REDIS_HOSTNAME: srv-captain--$$cap_appname-redis - PEERTUBE_WEBSERVER_HOSTNAME: $$cap_appname.$$cap_root_domain - PEERTUBE_WEBSERVER_PORT: "443" - PEERTUBE_WEBSERVER_HTTPS: "true" - PEERTUBE_TRUST_PROXY: '["127.0.0.1", "loopback", "172.18.0.0/16"]' - PEERTUBE_SMTP_USERNAME: $$cap_smtp_username - PEERTUBE_SMTP_PASSWORD: $$cap_smtp_password - PEERTUBE_SMTP_HOSTNAME: $$cap_smtp_hostname - PEERTUBE_SMTP_PORT: $$cap_smtp_port - PEERTUBE_SMTP_FROM: $$cap_smtp_from - PEERTUBE_SMTP_TLS: $$cap_smtp_tls - PEERTUBE_SMTP_DISABLE_STARTTLS: $$cap_smtp_starttls - PEERTUBE_ADMIN_EMAIL: $$cap_admin_email - caproverExtra: - containerHttpPort: "9000" + $$cap_appname-db: + image: postgres:$$cap_postgres_version + volumes: + - $$cap_appname-db-data:/var/lib/postgresql/data + restart: always + environment: + POSTGRES_USER: $$cap_db_user + POSTGRES_PASSWORD: $$cap_db_pass + POSTGRES_DB: peertube + caproverExtra: + notExposeAsWebApp: 'true' + $$cap_appname-redis: + image: redis:$$cap_redis_version + volumes: + - $$cap_appname-redis-data:/data + restart: always + caproverExtra: + notExposeAsWebApp: 'true' + $$cap_appname: + depends_on: + - $$cap_appname-db + - $$cap_appname-redis + image: chocobozzz/peertube:$$cap_peertube_version + volumes: + - $$cap_appname-peertube-data:/data + - $$cap_appname-peertube-config:/config + restart: always + environment: + PEERTUBE_DB_USERNAME: $$cap_db_user + PEERTUBE_DB_PASSWORD: $$cap_db_pass + PEERTUBE_DB_HOSTNAME: srv-captain--$$cap_appname-db + PEERTUBE_REDIS_HOSTNAME: srv-captain--$$cap_appname-redis + PEERTUBE_WEBSERVER_HOSTNAME: $$cap_appname.$$cap_root_domain + PEERTUBE_WEBSERVER_PORT: '443' + PEERTUBE_WEBSERVER_HTTPS: 'true' + PEERTUBE_TRUST_PROXY: '["127.0.0.1", "loopback", "172.18.0.0/16"]' + PEERTUBE_SMTP_USERNAME: $$cap_smtp_username + PEERTUBE_SMTP_PASSWORD: $$cap_smtp_password + PEERTUBE_SMTP_HOSTNAME: $$cap_smtp_hostname + PEERTUBE_SMTP_PORT: $$cap_smtp_port + PEERTUBE_SMTP_FROM: $$cap_smtp_from + PEERTUBE_SMTP_TLS: $$cap_smtp_tls + PEERTUBE_SMTP_DISABLE_STARTTLS: $$cap_smtp_starttls + PEERTUBE_ADMIN_EMAIL: $$cap_admin_email + caproverExtra: + containerHttpPort: '9000' caproverOneClickApp: - variables: - - id: $$cap_db_user - label: Database user - defaultValue: peertubeuser - validRegex: /^([a-zA-Z0-9])+$/ - - id: $$cap_db_pass - label: Database password - description: "" - validRegex: /.{1,}/ - - id: $$cap_postgres_version - label: Postgress Version - defaultValue: 10-alpine - description: Checkout their docker page for the valid tags https://hub.docker.com/r/library/postgress/tags/ - validRegex: /^([^\s^\/])+$/ - - id: $$cap_redis_version - label: Redis Version - defaultValue: 4-alpine - description: Checkout their docker page for the valid tags https://hub.docker.com/r/library/redis/tags/ - validRegex: /^([^\s^\/])+$/ - - id: $$cap_peertube_version - label: Peertube Version - defaultValue: production-stretch - description: Checkout their docker page for the valid tags https://hub.docker.com/r/chocobozzz/peertube/tags/ - validRegex: /^([^\s^\/])+$/ - - id: $$cap_smtp_username - label: SMTP username - defaultValue: "" - - id: $$cap_smtp_from - label: SMTP from - defaultValue: "" - - id: $$cap_smtp_password - label: SMTP password - defaultValue: "" - - id: $$cap_smtp_hostname - label: SMTP hostname - defaultValue: "" - - id: $$cap_smtp_port - label: SMTP port - defaultValue: "" - - id: $$cap_smtp_tls - label: SMTP TLS - defaultValue: "false" - - id: $$cap_smtp_starttls - label: SMTP STARTTLS - defaultValue: "false" - - id: $$cap_admin_email - label: administrator email - defaultValue: "" - instructions: - start: "PeerTube is a free, decentralized and federated video platform. (Github : https://github.com/Chocobozzz/PeerTube/)" - end: > - Peertube is deployed and available as $$cap_appname. + variables: + - id: $$cap_db_user + label: Database user + defaultValue: peertubeuser + validRegex: /^([a-zA-Z0-9])+$/ + - id: $$cap_db_pass + label: Database password + description: '' + validRegex: /.{1,}/ + - id: $$cap_postgres_version + label: Postgress Version + defaultValue: 10-alpine + description: Checkout their docker page for the valid tags https://hub.docker.com/r/library/postgress/tags/ + validRegex: /^([^\s^\/])+$/ + - id: $$cap_redis_version + label: Redis Version + defaultValue: 4-alpine + description: Checkout their docker page for the valid tags https://hub.docker.com/r/library/redis/tags/ + validRegex: /^([^\s^\/])+$/ + - id: $$cap_peertube_version + label: Peertube Version + defaultValue: production-stretch + description: Checkout their docker page for the valid tags https://hub.docker.com/r/chocobozzz/peertube/tags/ + validRegex: /^([^\s^\/])+$/ + - id: $$cap_smtp_username + label: SMTP username + defaultValue: '' + - id: $$cap_smtp_from + label: SMTP from + defaultValue: '' + - id: $$cap_smtp_password + label: SMTP password + defaultValue: '' + - id: $$cap_smtp_hostname + label: SMTP hostname + defaultValue: '' + - id: $$cap_smtp_port + label: SMTP port + defaultValue: '' + - id: $$cap_smtp_tls + label: SMTP TLS + defaultValue: 'false' + - id: $$cap_smtp_starttls + label: SMTP STARTTLS + defaultValue: 'false' + - id: $$cap_admin_email + label: administrator email + defaultValue: '' + instructions: + start: 'PeerTube is a free, decentralized and federated video platform. (Github : https://github.com/Chocobozzz/PeerTube/)' + end: > + Peertube is deployed and available as $$cap_appname. - IMPORTANT: It will take up to 2 minutes for peertube to be ready. Before that, you might see 502 error page. - displayName: "" - isOfficial: true - description: PeerTube is a decentralized video hosting network, based on free/libre software - documentation: Taken from https://github.com/Chocobozzz/PeerTube/blob/develop/support/docker/production/docker-compose.yml + IMPORTANT: It will take up to 2 minutes for peertube to be ready. Before that, you might see 502 error page. + displayName: '' + isOfficial: true + description: PeerTube is a decentralized video hosting network, based on free/libre software + documentation: Taken from https://github.com/Chocobozzz/PeerTube/blob/develop/support/docker/production/docker-compose.yml diff --git a/public/v4/apps/pgadmin4.yml b/public/v4/apps/pgadmin4.yml index f2a4f04..eac67b7 100644 --- a/public/v4/apps/pgadmin4.yml +++ b/public/v4/apps/pgadmin4.yml @@ -1,25 +1,25 @@ captainVersion: 4 services: - $$cap_appname: - image: thajeztah/pgadmin4:$$cap_pgadmin4_version - restart: always - volumes: - - $$cap_appname-data:/pgadmin - caproverExtra: - containerHttpPort: "5050" + $$cap_appname: + image: thajeztah/pgadmin4:$$cap_pgadmin4_version + restart: always + volumes: + - $$cap_appname-data:/pgadmin + caproverExtra: + containerHttpPort: '5050' caproverOneClickApp: - variables: - - id: $$cap_pgadmin4_version - label: Version Tag - description: Check out their Docker page for the valid tags https://hub.docker.com/r/thajeztah/pgadmin4/tags/ - defaultValue: "3.6" - validRegex: /^([^\s^\/])+$/ - instructions: - start: >- - pgAdmin is the most popular and feature rich Open Source administration and development platform for PostgreSQL, the most advanced Open Source database in the world. + variables: + - id: $$cap_pgadmin4_version + label: Version Tag + description: Check out their Docker page for the valid tags https://hub.docker.com/r/thajeztah/pgadmin4/tags/ + defaultValue: '3.6' + validRegex: /^([^\s^\/])+$/ + instructions: + start: >- + pgAdmin is the most popular and feature rich Open Source administration and development platform for PostgreSQL, the most advanced Open Source database in the world. - Enter your Configuration parameters and click on next. It will take about a minute for the process to finish. - end: pgAdmin is deployed and available as $$cap_appname - displayName: "" - description: pgAdmin 4 is a complete rewrite of pgAdmin, built using Python and Javascript/jQuery - documentation: "Taken from https://hub.docker.com/r/thajeztah/pgadmin4 " + Enter your Configuration parameters and click on next. It will take about a minute for the process to finish. + end: pgAdmin is deployed and available as $$cap_appname + displayName: '' + description: pgAdmin 4 is a complete rewrite of pgAdmin, built using Python and Javascript/jQuery + documentation: 'Taken from https://hub.docker.com/r/thajeztah/pgadmin4 ' diff --git a/public/v4/apps/pgweb.yml b/public/v4/apps/pgweb.yml index f5afffd..5a3403d 100644 --- a/public/v4/apps/pgweb.yml +++ b/public/v4/apps/pgweb.yml @@ -1,20 +1,20 @@ captainVersion: 4 services: - $$cap_appname: - image: sosedoff/pgweb:$$cap_pgweb_version - restart: always - caproverExtra: - containerHttpPort: "8081" + $$cap_appname: + image: sosedoff/pgweb:$$cap_pgweb_version + restart: always + caproverExtra: + containerHttpPort: '8081' caproverOneClickApp: - variables: - - id: $$cap_pgweb_version - label: pgweb Version - defaultValue: 0.11.2 - description: Check out their Docker page for the valid tags https://hub.docker.com/r/sosedoff/pgweb/tags - validRegex: /^([^\s^\/])+$/ - instructions: - start: pgweb is a web-based database browser for PostgreSQL, written in Go. - end: pgweb is deployed. - displayName: "" - description: Pgweb is a web-based database browser for PostgreSQL, written in Go - documentation: See https://hub.docker.com/r/sosedoff/pgweb for details + variables: + - id: $$cap_pgweb_version + label: pgweb Version + defaultValue: 0.11.2 + description: Check out their Docker page for the valid tags https://hub.docker.com/r/sosedoff/pgweb/tags + validRegex: /^([^\s^\/])+$/ + instructions: + start: pgweb is a web-based database browser for PostgreSQL, written in Go. + end: pgweb is deployed. + displayName: '' + description: Pgweb is a web-based database browser for PostgreSQL, written in Go + documentation: See https://hub.docker.com/r/sosedoff/pgweb for details diff --git a/public/v4/apps/photoprism.yml b/public/v4/apps/photoprism.yml index 97e33ff..f1fc904 100644 --- a/public/v4/apps/photoprism.yml +++ b/public/v4/apps/photoprism.yml @@ -1,23 +1,23 @@ captainVersion: 4 services: - $$cap_appname: - image: photoprism/photoprism:$$cap_photoprism_version - volumes: - - $$cap_appname-data:/photoprism/originals/ - restart: always - caproverExtra: - containerHttpPort: "2342" + $$cap_appname: + image: photoprism/photoprism:$$cap_photoprism_version + volumes: + - $$cap_appname-data:/photoprism/originals/ + restart: always + caproverExtra: + containerHttpPort: '2342' caproverOneClickApp: - variables: - - id: $$cap_photoprism_version - label: Photoprism Version - defaultValue: "20200427" - description: Check out their Docker page for the valid tags https://hub.docker.com/r/photoprism/photoprism/tags - validRegex: /^([^\s^\/])+$/ - instructions: - start: PhotoPrism is a server-based application for browsing, organizing and sharing your personal photo collection. It makes use of the latest technologies to automatically tag and find pictures without getting in your way. - end: Photoprism is deployed and available as $$cap_appname. Please also enable Websockets in the Caprover UI. When you log in the default password is 'photoprism' - displayName: Photoprism - isOfficial: true - description: An app for browsing, organizing and sharing your personal photo collection. - documentation: Taken from https://hub.docker.com/r/photoprism/photoprism + variables: + - id: $$cap_photoprism_version + label: Photoprism Version + defaultValue: '20200427' + description: Check out their Docker page for the valid tags https://hub.docker.com/r/photoprism/photoprism/tags + validRegex: /^([^\s^\/])+$/ + instructions: + start: PhotoPrism is a server-based application for browsing, organizing and sharing your personal photo collection. It makes use of the latest technologies to automatically tag and find pictures without getting in your way. + end: Photoprism is deployed and available as $$cap_appname. Please also enable Websockets in the Caprover UI. When you log in the default password is 'photoprism' + displayName: Photoprism + isOfficial: true + description: An app for browsing, organizing and sharing your personal photo collection. + documentation: Taken from https://hub.docker.com/r/photoprism/photoprism diff --git a/public/v4/apps/phpldapadmin.yml b/public/v4/apps/phpldapadmin.yml index 0314237..59b22a8 100644 --- a/public/v4/apps/phpldapadmin.yml +++ b/public/v4/apps/phpldapadmin.yml @@ -1,56 +1,56 @@ captainVersion: 4 services: - $$cap_appname: - image: osixia/openldap:$$cap_openldap_version - restart: always - volumes: - - $$cap_appname-db:/var/lib/ldap - environment: - LDAP_ORGANISATION: $$cap_openldap_ldap-organisation - LDAP_DOMAIN: $$cap_root_domain - LDAP_ADMIN_PASSWORD: $$cap_openldap_ldap-admin-password - caproverExtra: - notExposeAsWebApp: "true" - $$cap_appname-admin: - image: osixia/phpldapadmin:$$cap_phpldapadmin_version - restart: always - depends_on: - - $$cap_appname - environment: - PHPLDAPADMIN_TRUST_PROXY_SSL: true - PHPLDAPADMIN_LDAP_HOSTS: srv-captain--$$cap_appname - PHPLDAPADMIN_SERVER_ADMIN: $$cap_phpldapadmin_admin-email - PHPLDAPADMIN_SERVER_PATH: https://$$cap_appname-admin.$$cap_root_domain - PHPLDAPADMIN_HTTPS: false - caproverExtra: - containerHttpPort: "80" + $$cap_appname: + image: osixia/openldap:$$cap_openldap_version + restart: always + volumes: + - $$cap_appname-db:/var/lib/ldap + environment: + LDAP_ORGANISATION: $$cap_openldap_ldap-organisation + LDAP_DOMAIN: $$cap_root_domain + LDAP_ADMIN_PASSWORD: $$cap_openldap_ldap-admin-password + caproverExtra: + notExposeAsWebApp: 'true' + $$cap_appname-admin: + image: osixia/phpldapadmin:$$cap_phpldapadmin_version + restart: always + depends_on: + - $$cap_appname + environment: + PHPLDAPADMIN_TRUST_PROXY_SSL: true + PHPLDAPADMIN_LDAP_HOSTS: srv-captain--$$cap_appname + PHPLDAPADMIN_SERVER_ADMIN: $$cap_phpldapadmin_admin-email + PHPLDAPADMIN_SERVER_PATH: https://$$cap_appname-admin.$$cap_root_domain + PHPLDAPADMIN_HTTPS: false + caproverExtra: + containerHttpPort: '80' caproverOneClickApp: - variables: - - id: $$cap_openldap_version - label: Openldap Version - defaultValue: 1.4.0 - description: Checkout their docker page for the valid tags https://hub.docker.com/r/osixia/openldap/tags - validRegex: /^([^\s^\/])+$/ - - id: $$cap_openldap_ldap-organisation - label: Ldap Organisation - description: The Organization name - validRegex: /.{1,}/ - - id: $$cap_openldap_ldap-admin-password - label: The admin Password - description: The admin password of the Openldap - validRegex: /.{1,}/ - - id: $$cap_phpldapadmin_version - label: PHPLadapAdmin Version - defaultValue: 0.9.0 - description: Checkout their docker page for the valid tags https://hub.docker.com/r/osixia/phpldapadmin/tags - validRegex: /^([^\s^\/])+$/ - - id: $$cap_phpldapadmin_admin-email - label: The admin email - description: The admin email of the Openldap administration interface - validRegex: /^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$/ - instructions: - start: OpenLDAP Software is an open source implementation of the Lightweight Directory Access Protocol. - end: OpenLDAP is deployed and the admin interface is available on http://$$cap_appname-admin.$$cap_root_domain. You can connect by adapting cn=admin,dc=my-company,dc=com. If you want to access to your ldap server from outside, do not forget to add port mapping (389 for ldap with starttls, 636 for ldaps). - displayName: OpenLDAP + phpLDAPadmin - description: OpenLDAP with administration interface - documentation: https://github.com/osixia/docker-openldap + variables: + - id: $$cap_openldap_version + label: Openldap Version + defaultValue: 1.4.0 + description: Checkout their docker page for the valid tags https://hub.docker.com/r/osixia/openldap/tags + validRegex: /^([^\s^\/])+$/ + - id: $$cap_openldap_ldap-organisation + label: Ldap Organisation + description: The Organization name + validRegex: /.{1,}/ + - id: $$cap_openldap_ldap-admin-password + label: The admin Password + description: The admin password of the Openldap + validRegex: /.{1,}/ + - id: $$cap_phpldapadmin_version + label: PHPLadapAdmin Version + defaultValue: 0.9.0 + description: Checkout their docker page for the valid tags https://hub.docker.com/r/osixia/phpldapadmin/tags + validRegex: /^([^\s^\/])+$/ + - id: $$cap_phpldapadmin_admin-email + label: The admin email + description: The admin email of the Openldap administration interface + validRegex: /^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$/ + instructions: + start: OpenLDAP Software is an open source implementation of the Lightweight Directory Access Protocol. + end: OpenLDAP is deployed and the admin interface is available on http://$$cap_appname-admin.$$cap_root_domain. You can connect by adapting cn=admin,dc=my-company,dc=com. If you want to access to your ldap server from outside, do not forget to add port mapping (389 for ldap with starttls, 636 for ldaps). + displayName: OpenLDAP + phpLDAPadmin + description: OpenLDAP with administration interface + documentation: https://github.com/osixia/docker-openldap diff --git a/public/v4/apps/phpmyadmin.yml b/public/v4/apps/phpmyadmin.yml index 7a555c9..e06c46f 100644 --- a/public/v4/apps/phpmyadmin.yml +++ b/public/v4/apps/phpmyadmin.yml @@ -1,37 +1,37 @@ captainVersion: 4 services: - $$cap_appname: - image: phpmyadmin/phpmyadmin:$$cap_pma_version - restart: always - environment: - PMA_ARBITRARY: "1" - UPLOAD_LIMIT: $$cap_upload_limit + $$cap_appname: + image: phpmyadmin/phpmyadmin:$$cap_pma_version + restart: always + environment: + PMA_ARBITRARY: '1' + UPLOAD_LIMIT: $$cap_upload_limit caproverOneClickApp: - variables: - - id: $$cap_upload_limit - label: File size upload limit - description: It will override the default value for apache and php-fpm inside the container. Default size is 2M - defaultValue: 2M - validRegex: /^([^\s^\/])+$/ - - id: $$cap_pma_version - label: PHP My Admin Version Tag - description: Check out their Docker page for the valid tags https://hub.docker.com/r/phpmyadmin/phpmyadmin/tags/ - defaultValue: 5.0.2 - validRegex: /^([^\s^\/])+$/ - instructions: - start: >- - PhpMyAdmin is the most popular web interface for MySQL & MariaDB. Simply install PhpMyAdmin and then select what database you want to connect to. + variables: + - id: $$cap_upload_limit + label: File size upload limit + description: It will override the default value for apache and php-fpm inside the container. Default size is 2M + defaultValue: 2M + validRegex: /^([^\s^\/])+$/ + - id: $$cap_pma_version + label: PHP My Admin Version Tag + description: Check out their Docker page for the valid tags https://hub.docker.com/r/phpmyadmin/phpmyadmin/tags/ + defaultValue: 5.0.2 + validRegex: /^([^\s^\/])+$/ + instructions: + start: >- + PhpMyAdmin is the most popular web interface for MySQL & MariaDB. Simply install PhpMyAdmin and then select what database you want to connect to. - Enter your PhpMyAdmin Configuration parameters and click on next. It will take about a minute for the process to finish. - end: >- - PhpMyAdmin is deployed and available as $$cap_appname. + Enter your PhpMyAdmin Configuration parameters and click on next. It will take about a minute for the process to finish. + end: >- + PhpMyAdmin is deployed and available as $$cap_appname. - Note: Once deployed you can easily change the upload limit file size by modifying the value in the variable in the menu: App Configs>UPLOAD_LIMIT. + Note: Once deployed you can easily change the upload limit file size by modifying the value in the variable in the menu: App Configs>UPLOAD_LIMIT. - If you need to upload files bigger than 500M you will also need to modify the option: 'client_max_body_size 500m' by clicking in the menu: HTTP Settings>Edit Default Nginx Configurations. - displayName: phpMyAdmin - isOfficial: true - description: phpMyAdmin is a free software tool written in PHP, intended to handle the administration of MySQL over the Web - documentation: Taken from https://hub.docker.com/r/phpmyadmin/phpmyadmin/ + If you need to upload files bigger than 500M you will also need to modify the option: 'client_max_body_size 500m' by clicking in the menu: HTTP Settings>Edit Default Nginx Configurations. + displayName: phpMyAdmin + isOfficial: true + description: phpMyAdmin is a free software tool written in PHP, intended to handle the administration of MySQL over the Web + documentation: Taken from https://hub.docker.com/r/phpmyadmin/phpmyadmin/ diff --git a/public/v4/apps/plex.yml b/public/v4/apps/plex.yml index fe52907..7e50622 100644 --- a/public/v4/apps/plex.yml +++ b/public/v4/apps/plex.yml @@ -1,56 +1,56 @@ captainVersion: 4 services: - $$cap_appname: - image: plexinc/pms-docker:$$cap_plex_version - environment: - TZ: $$cap_tz - PLEX_CLAIM: $$cap_plex_token - ADVERTISE_IP: http://$$cap_appname.$$cap_root_domain/ - ports: - - 32400:32400 - - 3005:3005 - - 8324:8324 - - 32469:32469 - - 1900:1900 - - 32410:32410 - - 32412:32412 - - 32413:32413 - - 32414:32414 - hostname: $$cap_appname.$$cap_root_domain - volumes: - - $$cap_appname-config:/config - - $$cap_appname-transcode:/transcode - - $$cap_appname-media:/data - caproverExtra: - containerHttpPort: "32400" + $$cap_appname: + image: plexinc/pms-docker:$$cap_plex_version + environment: + TZ: $$cap_tz + PLEX_CLAIM: $$cap_plex_token + ADVERTISE_IP: http://$$cap_appname.$$cap_root_domain/ + ports: + - 32400:32400 + - 3005:3005 + - 8324:8324 + - 32469:32469 + - 1900:1900 + - 32410:32410 + - 32412:32412 + - 32413:32413 + - 32414:32414 + hostname: $$cap_appname.$$cap_root_domain + volumes: + - $$cap_appname-config:/config + - $$cap_appname-transcode:/transcode + - $$cap_appname-media:/data + caproverExtra: + containerHttpPort: '32400' caproverOneClickApp: - variables: - - id: $$cap_plex_version - label: Plex Version - defaultValue: 1.19.2.2737-b69929dab - description: Check out their Docker page for the valid tags https://hub.docker.com/r/plexinc/pms-docker/tags - validRegex: /^([^\s^\/])+$/ - - id: $$cap_plex_token - label: Plex Claim Token - description: Get your token from https://www.plex.tv/claim - validRegex: /.{1,}/ - - id: $$cap_tz - label: Time Zone - defaultValue: America/New_York - description: Get yours from https://en.wikipedia.org/wiki/List_of_tz_database_time_zones - validRegex: /.{1,}/ - instructions: - start: >- - Plex organizes video, music and photos from personal media libraries and streams them to smart TVs, streaming boxes and mobile devices. + variables: + - id: $$cap_plex_version + label: Plex Version + defaultValue: 1.19.2.2737-b69929dab + description: Check out their Docker page for the valid tags https://hub.docker.com/r/plexinc/pms-docker/tags + validRegex: /^([^\s^\/])+$/ + - id: $$cap_plex_token + label: Plex Claim Token + description: Get your token from https://www.plex.tv/claim + validRegex: /.{1,}/ + - id: $$cap_tz + label: Time Zone + defaultValue: America/New_York + description: Get yours from https://en.wikipedia.org/wiki/List_of_tz_database_time_zones + validRegex: /.{1,}/ + instructions: + start: >- + Plex organizes video, music and photos from personal media libraries and streams them to smart TVs, streaming boxes and mobile devices. - IMPORTANT: Plex uses ports 32400, 3005, 8324, 32469, 1900, 32410, 32412, 32412, 32413, and 32414. If any of these ports are in use, your installation will malfunction. - end: >- - Plex has been successfully deployed. Please wait a minute before accessing your Plex dashboard. + IMPORTANT: Plex uses ports 32400, 3005, 8324, 32469, 1900, 32410, 32412, 32412, 32413, and 32414. If any of these ports are in use, your installation will malfunction. + end: >- + Plex has been successfully deployed. Please wait a minute before accessing your Plex dashboard. - If you're installing behind a NAT, make sure to forward port 32400. - displayName: Plex Media Server - isOfficial: true - description: Plex organizes video, music and photos from personal media libraries and streams them to smart TVs, streaming boxes and mobile devices. - documentation: Taken from https://hub.docker.com/r/plexinc/pms-docker. + If you're installing behind a NAT, make sure to forward port 32400. + displayName: Plex Media Server + isOfficial: true + description: Plex organizes video, music and photos from personal media libraries and streams them to smart TVs, streaming boxes and mobile devices. + documentation: Taken from https://hub.docker.com/r/plexinc/pms-docker. diff --git a/public/v4/apps/portainer.yml b/public/v4/apps/portainer.yml index fb41cdc..1c114f8 100644 --- a/public/v4/apps/portainer.yml +++ b/public/v4/apps/portainer.yml @@ -1,32 +1,32 @@ captainVersion: 4 services: - $$cap_appname: - image: portainer/portainer:$$cap_portainer_version - volumes: - - /var/run/docker.sock:/var/run/docker.sock - - $$cap_appname-data:/data - restart: always - caproverExtra: - containerHttpPort: "9000" + $$cap_appname: + image: portainer/portainer:$$cap_portainer_version + volumes: + - /var/run/docker.sock:/var/run/docker.sock + - $$cap_appname-data:/data + restart: always + caproverExtra: + containerHttpPort: '9000' caproverOneClickApp: - variables: - - id: $$cap_portainer_version - label: Portainer Version - defaultValue: 1.20.2 - description: Check out their Docker page for the valid tags https://hub.docker.com/r/portainer/portainer/tags - validRegex: /^([^\s^\/])+$/ - instructions: - start: >- - Portainer is a lightweight management UI which allows you to easily manage your Docker host or Swarm cluster. + variables: + - id: $$cap_portainer_version + label: Portainer Version + defaultValue: 1.20.2 + description: Check out their Docker page for the valid tags https://hub.docker.com/r/portainer/portainer/tags + validRegex: /^([^\s^\/])+$/ + instructions: + start: >- + Portainer is a lightweight management UI which allows you to easily manage your Docker host or Swarm cluster. - More information about this container can be found here: - https://hub.docker.com/r/portainer/portainer/ . + More information about this container can be found here: + https://hub.docker.com/r/portainer/portainer/ . - After installation on CapRover, it will be available as srv-captain--YOUR_CONTAINER_NAME at port 9000 to other CapRover apps . + After installation on CapRover, it will be available as srv-captain--YOUR_CONTAINER_NAME at port 9000 to other CapRover apps . - Enter your portainer Configuration parameters and click on next. It will take about a minute for the process to finish. - end: Portainer is deployed and available as srv-captain--$$cap_appname:9000 to other apps. - displayName: "" - isOfficial: true - description: Portainer is a lightweight management UI which allows you to easily manage your different Docker environments - documentation: Taken from https://hub.docker.com/r/portainer/portainer/ + Enter your portainer Configuration parameters and click on next. It will take about a minute for the process to finish. + end: Portainer is deployed and available as srv-captain--$$cap_appname:9000 to other apps. + displayName: '' + isOfficial: true + description: Portainer is a lightweight management UI which allows you to easily manage your different Docker environments + documentation: Taken from https://hub.docker.com/r/portainer/portainer/ diff --git a/public/v4/apps/poste-io.yml b/public/v4/apps/poste-io.yml index c110c70..8043cef 100644 --- a/public/v4/apps/poste-io.yml +++ b/public/v4/apps/poste-io.yml @@ -1,56 +1,56 @@ captainVersion: 4 services: - $$cap_appname: - image: analogic/poste.io:$$cap_poste_version - ports: - - 25:25 - - 110:110 - - 143:143 - - 465:465 - - 587:587 - - 993:993 - - 995:995 - - 4190:4190 - volumes: - - /etc/localtime:/etc/localtime:ro - - $$cap_appname-data:/data - restart: always - environment: - HTTPS: OFF - LETSENCRYPT_EMAIL: $$cap_email - LETSENCRYPT_HOST: $$cap_host - VIRTUAL_HOST: $$cap_host + $$cap_appname: + image: analogic/poste.io:$$cap_poste_version + ports: + - 25:25 + - 110:110 + - 143:143 + - 465:465 + - 587:587 + - 993:993 + - 995:995 + - 4190:4190 + volumes: + - /etc/localtime:/etc/localtime:ro + - $$cap_appname-data:/data + restart: always + environment: + HTTPS: OFF + LETSENCRYPT_EMAIL: $$cap_email + LETSENCRYPT_HOST: $$cap_host + VIRTUAL_HOST: $$cap_host caproverOneClickApp: - variables: - - id: $$cap_poste_version - label: Poste.io version tag - description: Check out their Docker page for the valid tags https://hub.docker.com/r/analogic/poste.io/tags - defaultValue: "2" - - id: $$cap_email - label: Email Address - description: The email address used for Lets Encrypt certificates. - - id: $$cap_host - label: Hostname - description: The full hostname for this captain app. (usually mail.mydomain.com) - instructions: - start: >- - SMTP + IMAP + POP3 + Antispam + Antivirus + variables: + - id: $$cap_poste_version + label: Poste.io version tag + description: Check out their Docker page for the valid tags https://hub.docker.com/r/analogic/poste.io/tags + defaultValue: '2' + - id: $$cap_email + label: Email Address + description: The email address used for Lets Encrypt certificates. + - id: $$cap_host + label: Hostname + description: The full hostname for this captain app. (usually mail.mydomain.com) + instructions: + start: >- + SMTP + IMAP + POP3 + Antispam + Antivirus - Web administration + Web email + Web administration + Web email - ...on your server in ~5 minutes + ...on your server in ~5 minutes - Recommended: Use"mail" as the App Name. - end: >- - Please paste the preDeployFunction from https://github.com/caprover/caprover/issues/479#issuecomment-520902309 to the App Config > Pre-Deploy section of your created poste.io instance $$cap_appname. + Recommended: Use"mail" as the App Name. + end: >- + Please paste the preDeployFunction from https://github.com/caprover/caprover/issues/479#issuecomment-520902309 to the App Config > Pre-Deploy section of your created poste.io instance $$cap_appname. - Also ensure that you've set up the reverse DNS (PTR record) for your server and DKIM, SPF (DNS TXT) records. + Also ensure that you've set up the reverse DNS (PTR record) for your server and DKIM, SPF (DNS TXT) records. - The deployment can take up to 2 minutes. - displayName: Poste.io - isOfficial: true - description: Poste.io - complete mailserver built in one container - documentation: Read the poste.io documentation @ https://poste.io/doc + The deployment can take up to 2 minutes. + displayName: Poste.io + isOfficial: true + description: Poste.io - complete mailserver built in one container + documentation: Read the poste.io documentation @ https://poste.io/doc diff --git a/public/v4/apps/postgres.yml b/public/v4/apps/postgres.yml index bf43778..40752d2 100644 --- a/public/v4/apps/postgres.yml +++ b/public/v4/apps/postgres.yml @@ -1,49 +1,49 @@ captainVersion: 4 services: - $$cap_appname-db: - image: postgres:$$cap_postgres_version - volumes: - - $$cap_appname-db-data:/var/lib/postgresql/data - restart: always - environment: - POSTGRES_USER: $$cap_pg_user - POSTGRES_PASSWORD: $$cap_pg_pass - POSTGRES_DB: $$cap_pg_db - POSTGRES_INITDB_ARGS: $$cap_pg_initdb_args - caproverExtra: - notExposeAsWebApp: "true" + $$cap_appname-db: + image: postgres:$$cap_postgres_version + volumes: + - $$cap_appname-db-data:/var/lib/postgresql/data + restart: always + environment: + POSTGRES_USER: $$cap_pg_user + POSTGRES_PASSWORD: $$cap_pg_pass + POSTGRES_DB: $$cap_pg_db + POSTGRES_INITDB_ARGS: $$cap_pg_initdb_args + caproverExtra: + notExposeAsWebApp: 'true' caproverOneClickApp: - variables: - - id: $$cap_postgres_version - label: Postgres Version - defaultValue: "9.6" - description: Check out their Docker page for the valid tags https://hub.docker.com/r/library/postgres/tags/ - validRegex: /^([^\s^\/])+$/ - - id: $$cap_pg_user - label: Postgres Username - description: "" - validRegex: /.{1,}/ - - id: $$cap_pg_pass - label: Postgres Password - description: "" - validRegex: /.{1,}/ - - id: $$cap_pg_db - label: Postgres Default Database - description: "" - validRegex: /.{1,}/ - - id: $$cap_pg_initdb_args - label: "OPTIONAL: Arguments for 'postgres initdb'" - description: For example, --data-checksums - validRegex: /.{0,}/ - instructions: - start: >- - PostgreSQL, often simply Postgres, is an object-relational database management system (ORDBMS) with an emphasis on extensibility and standards-compliance. As a database server, its primary function is to store data, securely and supporting best practices, and retrieve it later, as requested by other software applications, be it those on the same computer or those running on another computer across a network (including the Internet). It can handle workloads ranging from small single-machine applications to large Internet-facing applications with many concurrent users. + variables: + - id: $$cap_postgres_version + label: Postgres Version + defaultValue: '9.6' + description: Check out their Docker page for the valid tags https://hub.docker.com/r/library/postgres/tags/ + validRegex: /^([^\s^\/])+$/ + - id: $$cap_pg_user + label: Postgres Username + description: '' + validRegex: /.{1,}/ + - id: $$cap_pg_pass + label: Postgres Password + description: '' + validRegex: /.{1,}/ + - id: $$cap_pg_db + label: Postgres Default Database + description: '' + validRegex: /.{1,}/ + - id: $$cap_pg_initdb_args + label: "OPTIONAL: Arguments for 'postgres initdb'" + description: For example, --data-checksums + validRegex: /.{0,}/ + instructions: + start: >- + PostgreSQL, often simply Postgres, is an object-relational database management system (ORDBMS) with an emphasis on extensibility and standards-compliance. As a database server, its primary function is to store data, securely and supporting best practices, and retrieve it later, as requested by other software applications, be it those on the same computer or those running on another computer across a network (including the Internet). It can handle workloads ranging from small single-machine applications to large Internet-facing applications with many concurrent users. - After installation on CapRover, it will be available as srv-captain--YOUR_CONTAINER_NAME at port 5432 to other CapRover apps. + After installation on CapRover, it will be available as srv-captain--YOUR_CONTAINER_NAME at port 5432 to other CapRover apps. - Enter your Postgres Configuration parameters and click on next. It will take about a minute for the process to finish. - end: "Postgres is deployed and available as srv-captain--$$cap_appname-db:5432 to other apps. For example with NodeJS: 'const client = new Client({ user: 'cap_pg_user', host: 'srv-captain--$$cap_appname', database: 'cap_pg_db', password: '********', port: 5432})'" - displayName: PostgreSQL - isOfficial: true - description: The PostgreSQL object-relational database system provides reliability and data integrity - documentation: Taken from https://hub.docker.com/_/postgres + Enter your Postgres Configuration parameters and click on next. It will take about a minute for the process to finish. + end: "Postgres is deployed and available as srv-captain--$$cap_appname-db:5432 to other apps. For example with NodeJS: 'const client = new Client({ user: 'cap_pg_user', host: 'srv-captain--$$cap_appname', database: 'cap_pg_db', password: '********', port: 5432})'" + displayName: PostgreSQL + isOfficial: true + description: The PostgreSQL object-relational database system provides reliability and data integrity + documentation: Taken from https://hub.docker.com/_/postgres diff --git a/public/v4/apps/prisma.yml b/public/v4/apps/prisma.yml index 8e0fb86..66ab5fb 100644 --- a/public/v4/apps/prisma.yml +++ b/public/v4/apps/prisma.yml @@ -1,61 +1,61 @@ captainVersion: 4 services: - $$cap_appname-db: - image: mysql:$$cap_mysql_version - restart: always - environment: - MYSQL_ROOT_PASSWORD: $$cap_db_pass - volumes: - - $$cap_appname-db-data:/var/lib/mysql - caproverExtra: - notExposeAsWebApp: "true" - $$cap_appname: - image: prismagraphql/prisma:$$cap_prisma_version - restart: always - ports: - - 4466:4466 - depends_on: - - $$cap_appname-db - environment: - PRISMA_CONFIG: > - managementApiSecret: $$cap_management_secret + $$cap_appname-db: + image: mysql:$$cap_mysql_version + restart: always + environment: + MYSQL_ROOT_PASSWORD: $$cap_db_pass + volumes: + - $$cap_appname-db-data:/var/lib/mysql + caproverExtra: + notExposeAsWebApp: 'true' + $$cap_appname: + image: prismagraphql/prisma:$$cap_prisma_version + restart: always + ports: + - 4466:4466 + depends_on: + - $$cap_appname-db + environment: + PRISMA_CONFIG: > + managementApiSecret: $$cap_management_secret - port: 4466 + port: 4466 - databases: - default: - connector: mysql - host: srv-captain--$$cap_appname-db - port: 3306 - user: root - password: $$cap_db_pass - migrations: true - caproverExtra: - containerHttpPort: "4466" + databases: + default: + connector: mysql + host: srv-captain--$$cap_appname-db + port: 3306 + user: root + password: $$cap_db_pass + migrations: true + caproverExtra: + containerHttpPort: '4466' caproverOneClickApp: - variables: - - id: $$cap_prisma_version - label: Prisma 1 Version - defaultValue: "1.29" - description: Check out their GitHub page for their latest version https://github.com/prisma/prisma1 - validRegex: /^([^\s^\/])+$/ - - id: $$cap_mysql_version - label: MySQL Version - defaultValue: "5.7" - description: Check out their Docker page for the valid tags https://hub.docker.com/r/library/mysql/tags/ - validRegex: /^([^\s^\/])+$/ - - id: $$cap_db_pass - label: Database password - description: "" - validRegex: /.{1,}/ - - id: $$cap_management_secret - label: Prisma 1 Management API secret - description: To ensure only entitled users are able to perform actions through the Management API. Minimum 10 characters, at least one letter and one number. - validRegex: /^(?=.*\d).{10,}$/ - instructions: - end: Prisma 1 is deployed and available as $$cap_appname. - start: Prisma 1 - Database tools for modern application development. This setup runs Prisma 1 along with a MySQL Database. - displayName: "" - isOfficial: true - description: Prisma 1 is a database abstraction layer that turns your databases into GraphQL APIs with CRUD operations and realtime capabilities - documentation: Taken from https://hub.docker.com/r/prismagraphql/prisma/ + variables: + - id: $$cap_prisma_version + label: Prisma 1 Version + defaultValue: '1.29' + description: Check out their GitHub page for their latest version https://github.com/prisma/prisma1 + validRegex: /^([^\s^\/])+$/ + - id: $$cap_mysql_version + label: MySQL Version + defaultValue: '5.7' + description: Check out their Docker page for the valid tags https://hub.docker.com/r/library/mysql/tags/ + validRegex: /^([^\s^\/])+$/ + - id: $$cap_db_pass + label: Database password + description: '' + validRegex: /.{1,}/ + - id: $$cap_management_secret + label: Prisma 1 Management API secret + description: To ensure only entitled users are able to perform actions through the Management API. Minimum 10 characters, at least one letter and one number. + validRegex: /^(?=.*\d).{10,}$/ + instructions: + end: Prisma 1 is deployed and available as $$cap_appname. + start: Prisma 1 - Database tools for modern application development. This setup runs Prisma 1 along with a MySQL Database. + displayName: '' + isOfficial: true + description: Prisma 1 is a database abstraction layer that turns your databases into GraphQL APIs with CRUD operations and realtime capabilities + documentation: Taken from https://hub.docker.com/r/prismagraphql/prisma/ diff --git a/public/v4/apps/prometheus.yml b/public/v4/apps/prometheus.yml index 9a84e79..068c130 100644 --- a/public/v4/apps/prometheus.yml +++ b/public/v4/apps/prometheus.yml @@ -1,23 +1,23 @@ captainVersion: 4 services: - $$cap_appname: - image: prom/prometheus@$$cap_version - restart: always - volumes: - - $$cap_appname-config:/etc/prometheus - - $$cap_appname-data:/prometheus - caproverExtra: - containerHttpPort: "9090" + $$cap_appname: + image: prom/prometheus@$$cap_version + restart: always + volumes: + - $$cap_appname-config:/etc/prometheus + - $$cap_appname-data:/prometheus + caproverExtra: + containerHttpPort: '9090' caproverOneClickApp: - variables: - - label: Prometheus Docker Hash - defaultValue: sha256:43b19072ef98fd0ea5a29ac794fbadf365cca6d5247830034c7b86ae9650126c - description: Starts with 'sha256:'. Find on Docker Hub. Default is latest as of 2020-06-30. - id: $$cap_version - instructions: - end: Prometheus is now starting. - start: "Read more about Prometheus: https://prometheus.io/" - displayName: Prometheus - isOfficial: true - description: Prometheus is a systems and service monitoring system. - documentation: https://hub.docker.com/r/prom/prometheus/ + variables: + - label: Prometheus Docker Hash + defaultValue: sha256:43b19072ef98fd0ea5a29ac794fbadf365cca6d5247830034c7b86ae9650126c + description: Starts with 'sha256:'. Find on Docker Hub. Default is latest as of 2020-06-30. + id: $$cap_version + instructions: + end: Prometheus is now starting. + start: 'Read more about Prometheus: https://prometheus.io/' + displayName: Prometheus + isOfficial: true + description: Prometheus is a systems and service monitoring system. + documentation: https://hub.docker.com/r/prom/prometheus/ diff --git a/public/v4/apps/rabbitmq.yml b/public/v4/apps/rabbitmq.yml index c9a5ce3..2cfa9bd 100644 --- a/public/v4/apps/rabbitmq.yml +++ b/public/v4/apps/rabbitmq.yml @@ -1,43 +1,43 @@ captainVersion: 4 services: - $$cap_appname: - image: rabbitmq:$$cap_rabbitmq_version - volumes: - - $$cap_appname-rabbitmq-data:/var/lib/rabbitmq - restart: always - environment: - RABBITMQ_DEFAULT_USER: $$cap_rabbitmq_user - RABBITMQ_DEFAULT_PASS: $$cap_rabbitmq_password - RABBITMQ_NODENAME: $$cap_rabbitmq_nodename - caproverExtra: - notExposeAsWebApp: "true" + $$cap_appname: + image: rabbitmq:$$cap_rabbitmq_version + volumes: + - $$cap_appname-rabbitmq-data:/var/lib/rabbitmq + restart: always + environment: + RABBITMQ_DEFAULT_USER: $$cap_rabbitmq_user + RABBITMQ_DEFAULT_PASS: $$cap_rabbitmq_password + RABBITMQ_NODENAME: $$cap_rabbitmq_nodename + caproverExtra: + notExposeAsWebApp: 'true' caproverOneClickApp: - variables: - - id: $$cap_rabbitmq_version - label: RabbitMQ Version Tag - description: Check out their Docker page for the valid tags https://hub.docker.com/r/library/rabbitmq/tags/ - defaultValue: "3.7" - validRegex: /^([^\s^\/])+$/ - - id: $$cap_rabbitmq_user - label: RabbitMQ Default User - description: "" - validRegex: /.{1,}/ - - id: $$cap_rabbitmq_password - label: RabbitMQ Default Password - description: "" - validRegex: /.{1,}/ - - id: $$cap_rabbitmq_nodename - label: RabbitMQ Nodename - description: Nodename is appended to the end of the database directory. - defaultValue: rabbit@localhost - validRegex: /.{1,}/ - instructions: - start: >- - RabbitMQ is open source message broker software (sometimes called message-oriented middleware) that implements the Advanced Message Queuing Protocol (AMQP). The RabbitMQ server is written in the Erlang programming language and is built on the Open Telecom Platform framework for clustering and failover. Client libraries to interface with the broker are available for all major programming languages. + variables: + - id: $$cap_rabbitmq_version + label: RabbitMQ Version Tag + description: Check out their Docker page for the valid tags https://hub.docker.com/r/library/rabbitmq/tags/ + defaultValue: '3.7' + validRegex: /^([^\s^\/])+$/ + - id: $$cap_rabbitmq_user + label: RabbitMQ Default User + description: '' + validRegex: /.{1,}/ + - id: $$cap_rabbitmq_password + label: RabbitMQ Default Password + description: '' + validRegex: /.{1,}/ + - id: $$cap_rabbitmq_nodename + label: RabbitMQ Nodename + description: Nodename is appended to the end of the database directory. + defaultValue: rabbit@localhost + validRegex: /.{1,}/ + instructions: + start: >- + RabbitMQ is open source message broker software (sometimes called message-oriented middleware) that implements the Advanced Message Queuing Protocol (AMQP). The RabbitMQ server is written in the Erlang programming language and is built on the Open Telecom Platform framework for clustering and failover. Client libraries to interface with the broker are available for all major programming languages. - Enter your RabbitMQ Configuration parameters and click on next. It will take about a minute for the process to finish. - end: RabbitMQ is deployed and available as srv-captain--$$cap_appname:5672 to other apps. - displayName: RabbitMQ - isOfficial: true - description: RabbitMQ is an open-source message-broker software that originally implemented the Advanced Message Queuing Protocol - documentation: Taken from https://hub.docker.com/_/rabbitmq + Enter your RabbitMQ Configuration parameters and click on next. It will take about a minute for the process to finish. + end: RabbitMQ is deployed and available as srv-captain--$$cap_appname:5672 to other apps. + displayName: RabbitMQ + isOfficial: true + description: RabbitMQ is an open-source message-broker software that originally implemented the Advanced Message Queuing Protocol + documentation: Taken from https://hub.docker.com/_/rabbitmq diff --git a/public/v4/apps/radicale.yml b/public/v4/apps/radicale.yml index 8faab4c..97d9c13 100644 --- a/public/v4/apps/radicale.yml +++ b/public/v4/apps/radicale.yml @@ -1,23 +1,23 @@ captainVersion: 4 services: - $$cap_appname: - image: tomsquest/docker-radicale:$$cap_image_tag - volumes: - - $$cap_appname-data:/data - restart: always - environment: {} - caproverExtra: - containerHttpPort: "5232" + $$cap_appname: + image: tomsquest/docker-radicale:$$cap_image_tag + volumes: + - $$cap_appname-data:/data + restart: always + environment: {} + caproverExtra: + containerHttpPort: '5232' caproverOneClickApp: - variables: - - id: $$cap_image_tag - label: What version/tag do you want? - description: Go here to see all versions https://hub.docker.com/r/tomsquest/docker-radicale/tags - defaultValue: 2.1.12.1 - validRegex: /^([^\s^\/])+$/ - instructions: - start: Radicale is a small but powerful CalDAV (calendars, to-do lists) and CardDAV (contacts) server. It is strongly advised to secure your data with user passwords as stated here https://hub.docker.com/r/tomsquest/docker-radicale/ - end: Radicale is deployed and available as $$cap_appname. To secure your user you can create a config like https://github.com/tomsquest/docker-radicale/blob/master/config and adapt it like stated here https://radicale.org/3.0.html#tutorials/basic-configuration. You need to create an volume pointing to the container path /etc/radicale/config to be picked up by the image. - displayName: Radicale - description: Radicale lightweight CalDAV and CardDAV Server - documentation: Taken from https://hub.docker.com/r/tomsquest/docker-radicale + variables: + - id: $$cap_image_tag + label: What version/tag do you want? + description: Go here to see all versions https://hub.docker.com/r/tomsquest/docker-radicale/tags + defaultValue: 2.1.12.1 + validRegex: /^([^\s^\/])+$/ + instructions: + start: Radicale is a small but powerful CalDAV (calendars, to-do lists) and CardDAV (contacts) server. It is strongly advised to secure your data with user passwords as stated here https://hub.docker.com/r/tomsquest/docker-radicale/ + end: Radicale is deployed and available as $$cap_appname. To secure your user you can create a config like https://github.com/tomsquest/docker-radicale/blob/master/config and adapt it like stated here https://radicale.org/3.0.html#tutorials/basic-configuration. You need to create an volume pointing to the container path /etc/radicale/config to be picked up by the image. + displayName: Radicale + description: Radicale lightweight CalDAV and CardDAV Server + documentation: Taken from https://hub.docker.com/r/tomsquest/docker-radicale diff --git a/public/v4/apps/rainloop.yml b/public/v4/apps/rainloop.yml index cc35978..4ae1ca9 100644 --- a/public/v4/apps/rainloop.yml +++ b/public/v4/apps/rainloop.yml @@ -1,28 +1,28 @@ captainVersion: 4 services: - $$cap_appname: - image: hardware/rainloop:$$cap_rainloop_version - restart: always - volumes: - - $$cap_appname-data:/rainloop/data - caproverExtra: - containerHttpPort: "8888" + $$cap_appname: + image: hardware/rainloop:$$cap_rainloop_version + restart: always + volumes: + - $$cap_appname-data:/rainloop/data + caproverExtra: + containerHttpPort: '8888' caproverOneClickApp: - variables: - - id: $$cap_rainloop_version - label: Rainloop Version - description: Check out their Docker page for the valid tags https://hub.docker.com/r/hardware/rainloop/tags - defaultValue: 1.12.0 - validRegex: /^([^\s^\/])+$/ - instructions: - start: >- - Rainloop is a simple, modern & fast web-based email client. + variables: + - id: $$cap_rainloop_version + label: Rainloop Version + description: Check out their Docker page for the valid tags https://hub.docker.com/r/hardware/rainloop/tags + defaultValue: 1.12.0 + validRegex: /^([^\s^\/])+$/ + instructions: + start: >- + Rainloop is a simple, modern & fast web-based email client. - For initial configuration, see https://www.rainloop.net/docs/configuration/ - end: >- - Rainloop is deployed and available as $$cap_appname. + For initial configuration, see https://www.rainloop.net/docs/configuration/ + end: >- + Rainloop is deployed and available as $$cap_appname. - It will take about a minute for Rainloop to be ready. Before that, you might see 502 error page. - displayName: "" - description: RainLoop Webmail - Simple, modern & fast web-based email client - documentation: Taken from https://hub.docker.com/r/hardware/rainloop + It will take about a minute for Rainloop to be ready. Before that, you might see 502 error page. + displayName: '' + description: RainLoop Webmail - Simple, modern & fast web-based email client + documentation: Taken from https://hub.docker.com/r/hardware/rainloop diff --git a/public/v4/apps/redis.yml b/public/v4/apps/redis.yml index 92146e2..38b6b4d 100644 --- a/public/v4/apps/redis.yml +++ b/public/v4/apps/redis.yml @@ -1,35 +1,35 @@ captainVersion: 4 services: - $$cap_appname: - volumes: - - $$cap_appname-redis-data:/data - restart: always - environment: - REDIS_PASSWORD: $$cap_redis_password - caproverExtra: - dockerfileLines: - - FROM redis:$$cap_redis_version - - CMD exec redis-server --requirepass "$$cap_redis_password" - notExposeAsWebApp: "true" + $$cap_appname: + volumes: + - $$cap_appname-redis-data:/data + restart: always + environment: + REDIS_PASSWORD: $$cap_redis_password + caproverExtra: + dockerfileLines: + - FROM redis:$$cap_redis_version + - CMD exec redis-server --requirepass "$$cap_redis_password" + notExposeAsWebApp: 'true' caproverOneClickApp: - variables: - - id: $$cap_redis_version - label: Redis Version Tag - description: "Check out their Docker page for the valid tags: https://hub.docker.com/_/redis?tab=tags" - defaultValue: "5" - validRegex: /^([^\s^\/])+$/ - - id: $$cap_redis_password - label: Redis Password - validRegex: /^([a-zA-Z0-9-_])+$/ - instructions: - start: >- - Redis is an open source key-value store that functions as a data structure server. + variables: + - id: $$cap_redis_version + label: Redis Version Tag + description: 'Check out their Docker page for the valid tags: https://hub.docker.com/_/redis?tab=tags' + defaultValue: '5' + validRegex: /^([^\s^\/])+$/ + - id: $$cap_redis_password + label: Redis Password + validRegex: /^([a-zA-Z0-9-_])+$/ + instructions: + start: >- + Redis is an open source key-value store that functions as a data structure server. - After installation on CapRover, it will be available as srv-captain--YOUR_CONTAINER_NAME at port 6379 to other CapRover apps. + After installation on CapRover, it will be available as srv-captain--YOUR_CONTAINER_NAME at port 6379 to other CapRover apps. - Enter your Redis container name and click on next. It will take about a minute for the process to finish. - end: "Redis is deployed and available as srv-captain--$$cap_appname:6379 to other apps. For example with NodeJS: const client = redis.createClient(6379, 'srv-captain--$$cap_appname' , {password: '$$cap_redis_password'})" - displayName: "" - isOfficial: true - description: Redis is an in-memory data structure store, used as a database, cache and message broker - documentation: Taken from https://hub.docker.com/_/redis + Enter your Redis container name and click on next. It will take about a minute for the process to finish. + end: "Redis is deployed and available as srv-captain--$$cap_appname:6379 to other apps. For example with NodeJS: const client = redis.createClient(6379, 'srv-captain--$$cap_appname' , {password: '$$cap_redis_password'})" + displayName: '' + isOfficial: true + description: Redis is an in-memory data structure store, used as a database, cache and message broker + documentation: Taken from https://hub.docker.com/_/redis diff --git a/public/v4/apps/resilio-sync.yml b/public/v4/apps/resilio-sync.yml index a6ff02b..71fd80d 100644 --- a/public/v4/apps/resilio-sync.yml +++ b/public/v4/apps/resilio-sync.yml @@ -1,32 +1,32 @@ captainVersion: 4 services: - $$cap_appname: - ports: - - $$cap_port_sync:55555 - image: resilio/sync:$$cap_version - restart: always - volumes: - - $$cap_appname-data:/mnt/sync - caproverExtra: - containerHttpPort: "8888" + $$cap_appname: + ports: + - $$cap_port_sync:55555 + image: resilio/sync:$$cap_version + restart: always + volumes: + - $$cap_appname-data:/mnt/sync + caproverExtra: + containerHttpPort: '8888' caproverOneClickApp: - variables: - - label: Resilio Sync Docker Version - defaultValue: 2.6.4 - description: It's highly recommended that you don't use the latest tag but instead the major version you need. - id: $$cap_version - - label: Listening port for Sync traffic - description: Port that Sync listens on for data synchronization (TCP & UDP). - defaultValue: "55555" - id: $$cap_port_sync - instructions: - end: >- - Your instance of Sync is now starting up. + variables: + - label: Resilio Sync Docker Version + defaultValue: 2.6.4 + description: It's highly recommended that you don't use the latest tag but instead the major version you need. + id: $$cap_version + - label: Listening port for Sync traffic + description: Port that Sync listens on for data synchronization (TCP & UDP). + defaultValue: '55555' + id: $$cap_port_sync + instructions: + end: >- + Your instance of Sync is now starting up. - Note that all sync folders will have to be created under /mnt/sync/folders/ from within the app. - start: Set up Sync to synchronize or share files without having to store your data in the cloud. - displayName: Resilio Sync - isOfficial: true - description: File synchronization and sharing solution based on BitTorrent technology. - documentation: https://hub.docker.com/r/resilio/sync + Note that all sync folders will have to be created under /mnt/sync/folders/ from within the app. + start: Set up Sync to synchronize or share files without having to store your data in the cloud. + displayName: Resilio Sync + isOfficial: true + description: File synchronization and sharing solution based on BitTorrent technology. + documentation: https://hub.docker.com/r/resilio/sync diff --git a/public/v4/apps/rethinkdb.yml b/public/v4/apps/rethinkdb.yml index 856759d..d36ca86 100644 --- a/public/v4/apps/rethinkdb.yml +++ b/public/v4/apps/rethinkdb.yml @@ -1,20 +1,20 @@ captainVersion: 4 services: - $$cap_appname: - image: rethinkdb:2.3.6 - volumes: - - $$cap_appname-data:/data/rethinkdb_data/ - caproverExtra: - containerHttpPort: "8080" + $$cap_appname: + image: rethinkdb:2.3.6 + volumes: + - $$cap_appname-data:/data/rethinkdb_data/ + caproverExtra: + containerHttpPort: '8080' caproverOneClickApp: - variables: [] - instructions: - end: > - RethinkDB is deployed and available as http://$$cap_appname.$$cap_root_domain/. + variables: [] + instructions: + end: > + RethinkDB is deployed and available as http://$$cap_appname.$$cap_root_domain/. - It may take a few minutes for RethinkDB to initialize. - start: RethinkDB is an open-source, distributed database built to store JSON documents and effortlessly scale to multiple machines. - displayName: RethinkDB - isOfficial: true - description: RethinkDB pushes JSON to your apps in realtime - documentation: Taken from https://hub.docker.com/_/rethinkdb. + It may take a few minutes for RethinkDB to initialize. + start: RethinkDB is an open-source, distributed database built to store JSON documents and effortlessly scale to multiple machines. + displayName: RethinkDB + isOfficial: true + description: RethinkDB pushes JSON to your apps in realtime + documentation: Taken from https://hub.docker.com/_/rethinkdb. diff --git a/public/v4/apps/sentry.yml b/public/v4/apps/sentry.yml index c9cdf33..cc9a968 100644 --- a/public/v4/apps/sentry.yml +++ b/public/v4/apps/sentry.yml @@ -1,184 +1,184 @@ captainVersion: 4 services: - $$cap_appname-postgres: - image: postgres:$$cap_postgres_version - volumes: - - $$cap_appname-postgres-data:/var/lib/postgresql/data - restart: always - environment: - POSTGRES_USER: sentry - POSTGRES_PASSWORD: $$cap_pg_pass - POSTGRES_DB: sentry - caproverExtra: - notExposeAsWebApp: "true" - $$cap_appname-redis: - volumes: - - $$cap_appname-redis-data:/data - restart: always - caproverExtra: - dockerfileLines: - - FROM redis:$$cap_redis_version - - CMD exec redis-server - notExposeAsWebApp: "true" - $$cap_appname-cron: - depends_on: - - $$cap_appname - restart: always - environment: - SENTRY_SECRET_KEY: $$cap_sentry_secret - SENTRY_REDIS_HOST: srv-captain--$$cap_appname-redis - caproverExtra: - dockerfileLines: - - FROM sentry:$$cap_sentry_version - - RUN groupadd -r $$cap_appname-cron && useradd -r -g $$cap_appname-cron $$cap_appname-cron - - USER $$cap_appname-cron - - CMD sentry run cron - notExposeAsWebApp: "true" - $$cap_appname-worker: - depends_on: - - $$cap_appname-cron - restart: always - environment: - SENTRY_SECRET_KEY: $$cap_sentry_secret - SENTRY_REDIS_HOST: srv-captain--$$cap_appname-redis - SENTRY_REDIS_PORT: "6379" - SENTRY_POSTGRES_HOST: srv-captain--$$cap_appname-postgres - SENTRY_DB_NAME: sentry - SENTRY_DB_USER: sentry - SENTRY_DB_PASSWORD: $$cap_pg_pass - caproverExtra: - dockerfileLines: - - FROM sentry:$$cap_sentry_version - - RUN groupadd -r $$cap_appname-worker && useradd -r -g $$cap_appname-worker $$cap_appname-worker - - USER $$cap_appname-worker - - CMD sentry run worker - notExposeAsWebApp: "true" - $$cap_appname: - depends_on: - - $$cap_appname-postgres - - $$cap_appname-redis - volumes: - - $$cap_appname-data:/var/lib/sentry/files - restart: always - environment: - CAP_SENTRY_VERSION: $$cap_sentry_version - CAP_SENTRY_SUPERUSER_EMAIL: $$cap_sentry_superuser_email - CAP_SENTRY_SUPERUSER_PASSWORD: $$cap_sentry_superuser_password - SENTRY_POSTGRES_HOST: srv-captain--$$cap_appname-postgres - SENTRY_REDIS_HOST: srv-captain--$$cap_appname-redis - SENTRY_REDIS_PORT: "6379" - SENTRY_DB_NAME: sentry - SENTRY_DB_USER: sentry - SENTRY_DB_PASSWORD: $$cap_pg_pass - SENTRY_SECRET_KEY: $$cap_sentry_secret - SENTRY_MAILGUN_API_KEY: $$cap_mailgun_apikey - SENTRY_SERVER_EMAIL: $$cap_sentry_server_mail - SENTRY_EMAIL_HOST: $$cap_sentry_email_host - SENTRY_EMAIL_PORT: $$cap_sentry_email_port - SENTRY_EMAIL_USER: $$cap_sentry_email_user - SENTRY_EMAIL_PASSWORD: $$cap_sentry_email_password - SENTRY_EMAIL_USE_TLS: $$cap_sentry_email_use_tls - caproverExtra: - containerHttpPort: "9000" - dockerfileLines: - - FROM sentry:$$cap_sentry_version - - "RUN echo 'auth.allow-registration: false' > /etc/sentry/config.yml" - - "RUN echo 'beacon.anonymous: true' >> /etc/sentry/config.yml" - - "RUN echo 'mail.from: \"\"' >> /etc/sentry/config.yml" - - "RUN echo 'mail.host: \"\"' >> /etc/sentry/config.yml" - - "RUN echo 'mail.password: \"\"' >> /etc/sentry/config.yml" - - "RUN echo 'mail.port: 465' >> /etc/sentry/config.yml" - - "RUN echo 'mail.use-tls: true' >> /etc/sentry/config.yml" - - "RUN echo 'mail.username: \"\"' >> /etc/sentry/config.yml" - - "RUN echo 'system.admin-email: \"\"' >> /etc/sentry/config.yml" - - "RUN echo 'system.url-prefix: \"\"' >> /etc/sentry/config.yml" - - RUN echo '#!/bin/bash' >> ./init.sh - - RUN echo 'echo Starting configuration. The App will restart multiple times.' >> ./init.sh - - "RUN echo 'echo 1 of 4 : running upgrade' >> ./init.sh" - - RUN echo 'sentry upgrade --noinput --traceback --no-repair' >> ./init.sh - - "RUN echo 'echo 2 of 4 : set sentry:version-configured' >> ./init.sh" - - RUN echo 'sentry config set sentry:version-configured ${CAP_SENTRY_VERSION}' >> ./init.sh - - "RUN echo 'echo 3 of 4 : creating user' >> ./init.sh" - - RUN echo 'sentry createuser --email=${CAP_SENTRY_SUPERUSER_EMAIL} --password=${CAP_SENTRY_SUPERUSER_PASSWORD} --superuser --no-input' >> ./init.sh - - RUN echo 'echo Configuration completed!' >> ./init.sh - - "RUN echo 'echo 4 of 4 : starting application' >> ./init.sh" - - RUN echo 'sentry run web' >> ./init.sh - - RUN chmod +x init.sh - - RUN groupadd -r $$cap_appname-sentry && useradd -r -g $$cap_appname-sentry $$cap_appname-sentry - - USER $$cap_appname-sentry - - CMD ["./init.sh"] + $$cap_appname-postgres: + image: postgres:$$cap_postgres_version + volumes: + - $$cap_appname-postgres-data:/var/lib/postgresql/data + restart: always + environment: + POSTGRES_USER: sentry + POSTGRES_PASSWORD: $$cap_pg_pass + POSTGRES_DB: sentry + caproverExtra: + notExposeAsWebApp: 'true' + $$cap_appname-redis: + volumes: + - $$cap_appname-redis-data:/data + restart: always + caproverExtra: + dockerfileLines: + - FROM redis:$$cap_redis_version + - CMD exec redis-server + notExposeAsWebApp: 'true' + $$cap_appname-cron: + depends_on: + - $$cap_appname + restart: always + environment: + SENTRY_SECRET_KEY: $$cap_sentry_secret + SENTRY_REDIS_HOST: srv-captain--$$cap_appname-redis + caproverExtra: + dockerfileLines: + - FROM sentry:$$cap_sentry_version + - RUN groupadd -r $$cap_appname-cron && useradd -r -g $$cap_appname-cron $$cap_appname-cron + - USER $$cap_appname-cron + - CMD sentry run cron + notExposeAsWebApp: 'true' + $$cap_appname-worker: + depends_on: + - $$cap_appname-cron + restart: always + environment: + SENTRY_SECRET_KEY: $$cap_sentry_secret + SENTRY_REDIS_HOST: srv-captain--$$cap_appname-redis + SENTRY_REDIS_PORT: '6379' + SENTRY_POSTGRES_HOST: srv-captain--$$cap_appname-postgres + SENTRY_DB_NAME: sentry + SENTRY_DB_USER: sentry + SENTRY_DB_PASSWORD: $$cap_pg_pass + caproverExtra: + dockerfileLines: + - FROM sentry:$$cap_sentry_version + - RUN groupadd -r $$cap_appname-worker && useradd -r -g $$cap_appname-worker $$cap_appname-worker + - USER $$cap_appname-worker + - CMD sentry run worker + notExposeAsWebApp: 'true' + $$cap_appname: + depends_on: + - $$cap_appname-postgres + - $$cap_appname-redis + volumes: + - $$cap_appname-data:/var/lib/sentry/files + restart: always + environment: + CAP_SENTRY_VERSION: $$cap_sentry_version + CAP_SENTRY_SUPERUSER_EMAIL: $$cap_sentry_superuser_email + CAP_SENTRY_SUPERUSER_PASSWORD: $$cap_sentry_superuser_password + SENTRY_POSTGRES_HOST: srv-captain--$$cap_appname-postgres + SENTRY_REDIS_HOST: srv-captain--$$cap_appname-redis + SENTRY_REDIS_PORT: '6379' + SENTRY_DB_NAME: sentry + SENTRY_DB_USER: sentry + SENTRY_DB_PASSWORD: $$cap_pg_pass + SENTRY_SECRET_KEY: $$cap_sentry_secret + SENTRY_MAILGUN_API_KEY: $$cap_mailgun_apikey + SENTRY_SERVER_EMAIL: $$cap_sentry_server_mail + SENTRY_EMAIL_HOST: $$cap_sentry_email_host + SENTRY_EMAIL_PORT: $$cap_sentry_email_port + SENTRY_EMAIL_USER: $$cap_sentry_email_user + SENTRY_EMAIL_PASSWORD: $$cap_sentry_email_password + SENTRY_EMAIL_USE_TLS: $$cap_sentry_email_use_tls + caproverExtra: + containerHttpPort: '9000' + dockerfileLines: + - FROM sentry:$$cap_sentry_version + - "RUN echo 'auth.allow-registration: false' > /etc/sentry/config.yml" + - "RUN echo 'beacon.anonymous: true' >> /etc/sentry/config.yml" + - 'RUN echo ''mail.from: ""'' >> /etc/sentry/config.yml' + - 'RUN echo ''mail.host: ""'' >> /etc/sentry/config.yml' + - 'RUN echo ''mail.password: ""'' >> /etc/sentry/config.yml' + - "RUN echo 'mail.port: 465' >> /etc/sentry/config.yml" + - "RUN echo 'mail.use-tls: true' >> /etc/sentry/config.yml" + - 'RUN echo ''mail.username: ""'' >> /etc/sentry/config.yml' + - 'RUN echo ''system.admin-email: ""'' >> /etc/sentry/config.yml' + - 'RUN echo ''system.url-prefix: ""'' >> /etc/sentry/config.yml' + - RUN echo '#!/bin/bash' >> ./init.sh + - RUN echo 'echo Starting configuration. The App will restart multiple times.' >> ./init.sh + - "RUN echo 'echo 1 of 4 : running upgrade' >> ./init.sh" + - RUN echo 'sentry upgrade --noinput --traceback --no-repair' >> ./init.sh + - "RUN echo 'echo 2 of 4 : set sentry:version-configured' >> ./init.sh" + - RUN echo 'sentry config set sentry:version-configured ${CAP_SENTRY_VERSION}' >> ./init.sh + - "RUN echo 'echo 3 of 4 : creating user' >> ./init.sh" + - RUN echo 'sentry createuser --email=${CAP_SENTRY_SUPERUSER_EMAIL} --password=${CAP_SENTRY_SUPERUSER_PASSWORD} --superuser --no-input' >> ./init.sh + - RUN echo 'echo Configuration completed!' >> ./init.sh + - "RUN echo 'echo 4 of 4 : starting application' >> ./init.sh" + - RUN echo 'sentry run web' >> ./init.sh + - RUN chmod +x init.sh + - RUN groupadd -r $$cap_appname-sentry && useradd -r -g $$cap_appname-sentry $$cap_appname-sentry + - USER $$cap_appname-sentry + - CMD ["./init.sh"] caproverOneClickApp: - variables: - - id: $$cap_postgres_version - label: Postgres Version Tag - defaultValue: "9.6" - description: Check out their Docker page for the valid tags https://hub.docker.com/r/library/postgres/tags/ - validRegex: /^([^\s^\/])+$/ - - id: $$cap_redis_version - label: Redis Version Tag - description: Check out their Docker page for the valid tags https://hub.docker.com/r/library/redis/tags/ - defaultValue: 3.2-alpine - validRegex: /^([^\s^\/])+$/ - - id: $$cap_sentry_version - label: Sentry Version Tag - description: Check out their Docker page for the valid tags https://hub.docker.com/_/sentry/ - defaultValue: 9.1.0 - validRegex: /^([^\s^\/])+$/ - - id: $$cap_pg_pass - label: Postgres Password - description: "Password strength minimal requeriments: Should contain at least one digit, one lower case, one upper case, one special character and at least 12 from the mentioned characters." - validRegex: /^(?=.*[A-Z])(?=.*[/!?@±#§$€%^&*()\\-_=+{}~+´ºª`^"';:,<.>\|\]\[])(?=.*[0-9])(?=.*[a-z]).{12,}$/ - - id: $$cap_sentry_secret - label: Sentry Secret - description: "A secret key used for cryptographic functions within Sentry. This key should be unique and consistent across all running instances. Password strength minimal requeriments: Should contain at least one digit, one lower case, one special character and at least 50 from the mentioned characters. You can generate a new secret key doing something like: docker run --rm sentry config generate-secret-key" - validRegex: /^(?=.*[/!?@±#§$€%^&*()\\-_=+{}~+´ºª`^"';:,<.>\|\]\[])(?=.*[0-9])(?=.*[a-z]).{50,}$/ - - id: $$cap_sentry_superuser_email - label: Sentry Superuser Email - validRegex: /.{1,}/ - - id: $$cap_sentry_superuser_password - label: Sentry Superuser Password - description: "Password strength minimal requeriments: Should contain at least one digit, one lower case, one upper case, one special character and at least 12 from the mentioned characters." - validRegex: /^(?=.*[A-Z])(?=.*[/!?@±#§$€%^&*()\\-_=+{}~+´ºª`^"';:,<.>\|\]\[])(?=.*[0-9])(?=.*[a-z]).{12,}$/ - - id: $$cap_sentry_server_mail - label: Sentry Server Email (optional) - description: "The email address used for From: in outbound emails." - defaultValue: root@localhost - validRegex: /.{1,}/ - - id: $$cap_sentry_email_host - label: SMTP email host (optional) - - id: $$cap_sentry_email_port - label: SMTP email port (optional) - defaultValue: 465 - - id: $$cap_sentry_email_user - label: SMTP email user (optional) - - id: $$cap_sentry_email_password - label: SMTP email password (optional) - - id: $$cap_sentry_email_use_tls - label: SMTP use tls (optional) - defaultValue: true - - id: $$cap_mailgun_apikey - label: Mailgun Api key (optional) - description: If you're using Mailgun for inbound mail, set your API key and configure a route to forward to /api/hooks/mailgun/inbound/ - instructions: - start: >- - Open-source error tracking that helps developers monitor and fix crashes in real time. + variables: + - id: $$cap_postgres_version + label: Postgres Version Tag + defaultValue: '9.6' + description: Check out their Docker page for the valid tags https://hub.docker.com/r/library/postgres/tags/ + validRegex: /^([^\s^\/])+$/ + - id: $$cap_redis_version + label: Redis Version Tag + description: Check out their Docker page for the valid tags https://hub.docker.com/r/library/redis/tags/ + defaultValue: 3.2-alpine + validRegex: /^([^\s^\/])+$/ + - id: $$cap_sentry_version + label: Sentry Version Tag + description: Check out their Docker page for the valid tags https://hub.docker.com/_/sentry/ + defaultValue: 9.1.0 + validRegex: /^([^\s^\/])+$/ + - id: $$cap_pg_pass + label: Postgres Password + description: 'Password strength minimal requeriments: Should contain at least one digit, one lower case, one upper case, one special character and at least 12 from the mentioned characters.' + validRegex: /^(?=.*[A-Z])(?=.*[/!?@±#§$€%^&*()\\-_=+{}~+´ºª`^"';:,<.>\|\]\[])(?=.*[0-9])(?=.*[a-z]).{12,}$/ + - id: $$cap_sentry_secret + label: Sentry Secret + description: 'A secret key used for cryptographic functions within Sentry. This key should be unique and consistent across all running instances. Password strength minimal requeriments: Should contain at least one digit, one lower case, one special character and at least 50 from the mentioned characters. You can generate a new secret key doing something like: docker run --rm sentry config generate-secret-key' + validRegex: /^(?=.*[/!?@±#§$€%^&*()\\-_=+{}~+´ºª`^"';:,<.>\|\]\[])(?=.*[0-9])(?=.*[a-z]).{50,}$/ + - id: $$cap_sentry_superuser_email + label: Sentry Superuser Email + validRegex: /.{1,}/ + - id: $$cap_sentry_superuser_password + label: Sentry Superuser Password + description: 'Password strength minimal requeriments: Should contain at least one digit, one lower case, one upper case, one special character and at least 12 from the mentioned characters.' + validRegex: /^(?=.*[A-Z])(?=.*[/!?@±#§$€%^&*()\\-_=+{}~+´ºª`^"';:,<.>\|\]\[])(?=.*[0-9])(?=.*[a-z]).{12,}$/ + - id: $$cap_sentry_server_mail + label: Sentry Server Email (optional) + description: 'The email address used for From: in outbound emails.' + defaultValue: root@localhost + validRegex: /.{1,}/ + - id: $$cap_sentry_email_host + label: SMTP email host (optional) + - id: $$cap_sentry_email_port + label: SMTP email port (optional) + defaultValue: 465 + - id: $$cap_sentry_email_user + label: SMTP email user (optional) + - id: $$cap_sentry_email_password + label: SMTP email password (optional) + - id: $$cap_sentry_email_use_tls + label: SMTP use tls (optional) + defaultValue: true + - id: $$cap_mailgun_apikey + label: Mailgun Api key (optional) + description: If you're using Mailgun for inbound mail, set your API key and configure a route to forward to /api/hooks/mailgun/inbound/ + instructions: + start: >- + Open-source error tracking that helps developers monitor and fix crashes in real time. - Information about this container: - https://hub.docker.com/_/sentry/ + Information about this container: + https://hub.docker.com/_/sentry/ - Documentation: - https://docs.sentry.io/server/ + Documentation: + https://docs.sentry.io/server/ - Minimum Hardware Requirements: At least 3GB Ram + Minimum Hardware Requirements: At least 3GB Ram - Not filling this requirement may cause some errors during the initial configuration when running the database migrations. + Not filling this requirement may cause some errors during the initial configuration when running the database migrations. - Enter your Sentry Configuration parameters and click on next. The initial installation will take about 5 minutes for the process to finish. - end: > - Sentry is deployed and available as srv-captain--$$cap_appname:9000. + Enter your Sentry Configuration parameters and click on next. The initial installation will take about 5 minutes for the process to finish. + end: > + Sentry is deployed and available as srv-captain--$$cap_appname:9000. - IMPORTANT: It will take up to 10 minutes for Sentry to be ready. Before that, you might see 502 error page. - displayName: "" - isOfficial: true - description: Open-source error tracking with full stacktraces & asynchronous context - documentation: Taken from https://hub.docker.com/_/sentry/ and https://docs.sentry.io/server/ + IMPORTANT: It will take up to 10 minutes for Sentry to be ready. Before that, you might see 502 error page. + displayName: '' + isOfficial: true + description: Open-source error tracking with full stacktraces & asynchronous context + documentation: Taken from https://hub.docker.com/_/sentry/ and https://docs.sentry.io/server/ diff --git a/public/v4/apps/shopware.yml b/public/v4/apps/shopware.yml index 81025a4..ff73228 100644 --- a/public/v4/apps/shopware.yml +++ b/public/v4/apps/shopware.yml @@ -1,83 +1,83 @@ captainVersion: 4 services: - $$cap_appname-db: - image: mysql:5.7 - volumes: - - $$cap_appname-db-data:/var/lib/mysql - restart: always - environment: - MYSQL_ROOT_PASSWORD: $$cap_db_pass - MYSQL_DATABASE: shopware - MYSQL_USER: $$cap_db_user - MYSQL_PASSWORD: $$cap_db_pass - caproverExtra: - notExposeAsWebApp: "true" - $$cap_appname-shopware: - depends_on: - - $$cap_appname-db - image: shyim/shopware:$$cap_sw_version - restart: always - environment: - DATABASE_HOST: srv-captain--$$cap_appname-db:3306 - DATABASE_URL: mysql://$$cap_db_user:$$cap_db_pass@srv-captain--$$cap_appname-db:3306/shopware - DB_USER: $$cap_db_user - DB_PASSWORD: $$cap_db_pass - APP_URL: http://$$cap_appname-shopware.$$cap_root_domain - APP_SECRET: $$cap_app_scret - INSTANCE_ID: $$cap_instance_id - MAILER_URL: $$cap_mailer_url - INSTALL_LOCALE: $$cap_sw_locale - INSTALL_CURRENCY: $$cap_sw_currency - INSTALL_ADMIN_USERNAME: $$cap_sw_admin_username - INSTALL_ADMIN_PASSWORD: $$cap_sw_admin_password - volumes: - - $$cap_appname-state:/state - - $$cap_appname-custom-plugins:/var/www/html/custom/plugins - - $$cap_appname-files:/var/www/html/files - - $$cap_appname-logs:/var/www/html/var/logs - - $$cap_appname-theme:/var/www/html/public/theme - - $$cap_appname-media:/var/www/html/public/media - - $$cap_appname-bundles:/var/www/html/public/bundles - - $$cap_appname-sitemap:/var/www/html/public/sitemap - - $$cap_appname-thumbnail:/var/www/html/public/thumbnail - - $$cap_appname-jwt:/var/www/html/config/jwt + $$cap_appname-db: + image: mysql:5.7 + volumes: + - $$cap_appname-db-data:/var/lib/mysql + restart: always + environment: + MYSQL_ROOT_PASSWORD: $$cap_db_pass + MYSQL_DATABASE: shopware + MYSQL_USER: $$cap_db_user + MYSQL_PASSWORD: $$cap_db_pass + caproverExtra: + notExposeAsWebApp: 'true' + $$cap_appname-shopware: + depends_on: + - $$cap_appname-db + image: shyim/shopware:$$cap_sw_version + restart: always + environment: + DATABASE_HOST: srv-captain--$$cap_appname-db:3306 + DATABASE_URL: mysql://$$cap_db_user:$$cap_db_pass@srv-captain--$$cap_appname-db:3306/shopware + DB_USER: $$cap_db_user + DB_PASSWORD: $$cap_db_pass + APP_URL: http://$$cap_appname-shopware.$$cap_root_domain + APP_SECRET: $$cap_app_scret + INSTANCE_ID: $$cap_instance_id + MAILER_URL: $$cap_mailer_url + INSTALL_LOCALE: $$cap_sw_locale + INSTALL_CURRENCY: $$cap_sw_currency + INSTALL_ADMIN_USERNAME: $$cap_sw_admin_username + INSTALL_ADMIN_PASSWORD: $$cap_sw_admin_password + volumes: + - $$cap_appname-state:/state + - $$cap_appname-custom-plugins:/var/www/html/custom/plugins + - $$cap_appname-files:/var/www/html/files + - $$cap_appname-logs:/var/www/html/var/logs + - $$cap_appname-theme:/var/www/html/public/theme + - $$cap_appname-media:/var/www/html/public/media + - $$cap_appname-bundles:/var/www/html/public/bundles + - $$cap_appname-sitemap:/var/www/html/public/sitemap + - $$cap_appname-thumbnail:/var/www/html/public/thumbnail + - $$cap_appname-jwt:/var/www/html/config/jwt caproverOneClickApp: - variables: - - id: $$cap_instance_id - label: Instance ID (Can be generated with openssl rand -hex 32) - defaultValue: 10612e3916e153dd3447850e944a03fabe89440970295447a30a75b151bd844e - - id: $$cap_app_scret - label: App Secret (Can be generated with openssl rand -hex 32) - defaultValue: 440dec3766de53010c5ccf6231c182acfc90bd25cff82e771245f736fd276518 - - id: $$cap_db_user - label: Database user - defaultValue: shopwareuser - validRegex: /^([a-zA-Z0-9])+$/ - - id: $$cap_db_pass - label: Database password - description: "" - - id: $$cap_sw_version - label: Shopware Version - defaultValue: 6.2.0 - description: Check out their Docker page for the valid tags https://hub.docker.com/r/shyim/shopware/tags/ - - id: $$cap_mailer_url - label: Mailer URL - defaultValue: null://localhost - - id: $$cap_sw_locale - label: Locale - defaultValue: en-GB - - id: $$cap_sw_currency - label: Currency - defaultValue: EUR - - id: $$cap_sw_admin_username - label: Admin Username - defaultValue: admin - - id: $$cap_sw_admin_password - label: Admin Password - defaultValue: shopware - instructions: - start: Shopware is a trendsetting ecommerce platform to power your online business. - end: Shopware is successfully deployed. Please wait a minute before accessing the shop. For help and support checkout https://github.com/shyim/shopware-image - displayName: Shopware - description: Shopware is a trendsetting ecommerce platform to power your online business. - documentation: See https://hub.docker.com/r/shyim/shopware for tags and other variables + variables: + - id: $$cap_instance_id + label: Instance ID (Can be generated with openssl rand -hex 32) + defaultValue: 10612e3916e153dd3447850e944a03fabe89440970295447a30a75b151bd844e + - id: $$cap_app_scret + label: App Secret (Can be generated with openssl rand -hex 32) + defaultValue: 440dec3766de53010c5ccf6231c182acfc90bd25cff82e771245f736fd276518 + - id: $$cap_db_user + label: Database user + defaultValue: shopwareuser + validRegex: /^([a-zA-Z0-9])+$/ + - id: $$cap_db_pass + label: Database password + description: '' + - id: $$cap_sw_version + label: Shopware Version + defaultValue: 6.2.0 + description: Check out their Docker page for the valid tags https://hub.docker.com/r/shyim/shopware/tags/ + - id: $$cap_mailer_url + label: Mailer URL + defaultValue: null://localhost + - id: $$cap_sw_locale + label: Locale + defaultValue: en-GB + - id: $$cap_sw_currency + label: Currency + defaultValue: EUR + - id: $$cap_sw_admin_username + label: Admin Username + defaultValue: admin + - id: $$cap_sw_admin_password + label: Admin Password + defaultValue: shopware + instructions: + start: Shopware is a trendsetting ecommerce platform to power your online business. + end: Shopware is successfully deployed. Please wait a minute before accessing the shop. For help and support checkout https://github.com/shyim/shopware-image + displayName: Shopware + description: Shopware is a trendsetting ecommerce platform to power your online business. + documentation: See https://hub.docker.com/r/shyim/shopware for tags and other variables diff --git a/public/v4/apps/sinusbot.yml b/public/v4/apps/sinusbot.yml index 66b47fd..b39055a 100644 --- a/public/v4/apps/sinusbot.yml +++ b/public/v4/apps/sinusbot.yml @@ -1,34 +1,34 @@ captainVersion: 4 services: - $$cap_appname: - environment: - UID: $$cap_uid - GID: $$cap_gid - image: sinusbot/docker:$$cap_version - restart: always - volumes: - - $$cap_appname-data:/opt/sinusbot/data - - $$cap_appname-scripts:/opt/sinusbot/scripts - caproverExtra: - containerHttpPort: "8087" + $$cap_appname: + environment: + UID: $$cap_uid + GID: $$cap_gid + image: sinusbot/docker:$$cap_version + restart: always + volumes: + - $$cap_appname-data:/opt/sinusbot/data + - $$cap_appname-scripts:/opt/sinusbot/scripts + caproverExtra: + containerHttpPort: '8087' caproverOneClickApp: - variables: - - label: SinusBot Docker Version - defaultValue: 1.0.0-beta.10-202ee4d - description: It's highly recommended that you don't use the latest tag but instead the major version you need. - id: $$cap_version - - label: UID - description: User ID to run the service as (using root is not recommended), see https://github.com/SinusBot/docker#unprivileged-user - defaultValue: "1000" - id: $$cap_uid - - label: GID - description: Group ID to run the service as (using root is not recommended), see https://github.com/SinusBot/docker#unprivileged-user - defaultValue: "1000" - id: $$cap_gid - instructions: - end: Your instance of SinusBot is now starting up and should be ready within five minutes. Check the deployment logs for the initial password and open the web interface to set up your media library and bot connection. - start: "You have to read and agree to the terms in the disclaimer: https://github.com/SinusBot/docker#disclaimer" - displayName: SinusBot - isOfficial: true - description: Music bot for TS3 and Discord. - documentation: https://hub.docker.com/r/sinusbot/docker + variables: + - label: SinusBot Docker Version + defaultValue: 1.0.0-beta.10-202ee4d + description: It's highly recommended that you don't use the latest tag but instead the major version you need. + id: $$cap_version + - label: UID + description: User ID to run the service as (using root is not recommended), see https://github.com/SinusBot/docker#unprivileged-user + defaultValue: '1000' + id: $$cap_uid + - label: GID + description: Group ID to run the service as (using root is not recommended), see https://github.com/SinusBot/docker#unprivileged-user + defaultValue: '1000' + id: $$cap_gid + instructions: + end: Your instance of SinusBot is now starting up and should be ready within five minutes. Check the deployment logs for the initial password and open the web interface to set up your media library and bot connection. + start: 'You have to read and agree to the terms in the disclaimer: https://github.com/SinusBot/docker#disclaimer' + displayName: SinusBot + isOfficial: true + description: Music bot for TS3 and Discord. + documentation: https://hub.docker.com/r/sinusbot/docker diff --git a/public/v4/apps/sonarqube.yml b/public/v4/apps/sonarqube.yml index d328bf1..b92bdc2 100644 --- a/public/v4/apps/sonarqube.yml +++ b/public/v4/apps/sonarqube.yml @@ -1,69 +1,69 @@ captainVersion: 4 services: - $$cap_appname-db: - image: postgres:$$cap_postgres_version - volumes: - - $$cap_appname-db-data:/var/lib/postgresql/data - restart: always - environment: - POSTGRES_USER: sonarqube - POSTGRES_PASSWORD: $$cap_pg_pass - POSTGRES_DB: sonarqube - POSTGRES_INITDB_ARGS: $$cap_pg_initdb_args - caproverExtra: - notExposeAsWebApp: "true" - $$cap_appname: - image: sonarqube:$$cap_sonar_version - depends_on: - - $$cap_appname-db - volumes: - - $$cap_appname-conf:/opt/sonarqube/conf - - $$cap_appname-data:/opt/sonarqube/data - - $$cap_appname-logs:/opt/sonarqube/logs - - $$cap_appname-extensions:/opt/sonarqube/extensions - restart: always - environment: - sonar.jdbc.username: sonarqube - sonar.jdbc.password: $$cap_pg_pass - sonar.jdbc.url: jdbc:postgresql://srv-captain--$$cap_appname-db/sonarqube - caproverExtra: - containerHttpPort: "9000" + $$cap_appname-db: + image: postgres:$$cap_postgres_version + volumes: + - $$cap_appname-db-data:/var/lib/postgresql/data + restart: always + environment: + POSTGRES_USER: sonarqube + POSTGRES_PASSWORD: $$cap_pg_pass + POSTGRES_DB: sonarqube + POSTGRES_INITDB_ARGS: $$cap_pg_initdb_args + caproverExtra: + notExposeAsWebApp: 'true' + $$cap_appname: + image: sonarqube:$$cap_sonar_version + depends_on: + - $$cap_appname-db + volumes: + - $$cap_appname-conf:/opt/sonarqube/conf + - $$cap_appname-data:/opt/sonarqube/data + - $$cap_appname-logs:/opt/sonarqube/logs + - $$cap_appname-extensions:/opt/sonarqube/extensions + restart: always + environment: + sonar.jdbc.username: sonarqube + sonar.jdbc.password: $$cap_pg_pass + sonar.jdbc.url: jdbc:postgresql://srv-captain--$$cap_appname-db/sonarqube + caproverExtra: + containerHttpPort: '9000' caproverOneClickApp: - variables: - - id: $$cap_postgres_version - label: Postgres Version - defaultValue: "9.6" - description: Check out their Docker page for the valid tags https://hub.docker.com/r/library/postgres/tags/ - validRegex: /^([^\s^\/])+$/ - - id: $$cap_sonar_version - label: Sonarqube Version - defaultValue: 7.7-community - description: Check out their Docker page for the valid tags https://hub.docker.com/_/sonarqube?tab=tags/ - validRegex: /^([^\s^\/])+$/ - - id: $$cap_pg_pass - label: Postgres Password - description: "" - validRegex: /.{1,}/ - - id: $$cap_pg_initdb_args - label: "OPTIONAL: Arguments for 'postgres initdb'" - description: For example, --data-checksums - validRegex: /.{0,}/ - instructions: - start: >- - SonarQube is an open source product for continuous inspection of code quality. - This Docker image contains the Community Edition of SonarQube. + variables: + - id: $$cap_postgres_version + label: Postgres Version + defaultValue: '9.6' + description: Check out their Docker page for the valid tags https://hub.docker.com/r/library/postgres/tags/ + validRegex: /^([^\s^\/])+$/ + - id: $$cap_sonar_version + label: Sonarqube Version + defaultValue: 7.7-community + description: Check out their Docker page for the valid tags https://hub.docker.com/_/sonarqube?tab=tags/ + validRegex: /^([^\s^\/])+$/ + - id: $$cap_pg_pass + label: Postgres Password + description: '' + validRegex: /.{1,}/ + - id: $$cap_pg_initdb_args + label: "OPTIONAL: Arguments for 'postgres initdb'" + description: For example, --data-checksums + validRegex: /.{0,}/ + instructions: + start: >- + SonarQube is an open source product for continuous inspection of code quality. + This Docker image contains the Community Edition of SonarQube. - Enter your Sonarqube Configuration parameters and click on next. + Enter your Sonarqube Configuration parameters and click on next. - More information about this container can be found here: - https://hub.docker.com/_/sonarqube?tab=description + More information about this container can be found here: + https://hub.docker.com/_/sonarqube?tab=description - Default username: admin - Default password: admin + Default username: admin + Default password: admin - It will take about a minute for the process to finish. - end: SonarQube is deployed and available as srv-captain--$$cap_appname:9000 to other apps. - displayName: "" - isOfficial: true - description: Catch bugs and vulnerabilities in your app, with thousands of automated Static Code Analysis rules - documentation: Taken from https://hub.docker.com/_/sonarqube + It will take about a minute for the process to finish. + end: SonarQube is deployed and available as srv-captain--$$cap_appname:9000 to other apps. + displayName: '' + isOfficial: true + description: Catch bugs and vulnerabilities in your app, with thousands of automated Static Code Analysis rules + documentation: Taken from https://hub.docker.com/_/sonarqube diff --git a/public/v4/apps/sourcegraph.yml b/public/v4/apps/sourcegraph.yml index b7e1451..32fee53 100644 --- a/public/v4/apps/sourcegraph.yml +++ b/public/v4/apps/sourcegraph.yml @@ -1,42 +1,42 @@ captainVersion: 4 services: - $$cap_appname: - image: sourcegraph/server:$$cap_container_version - volumes: - - $$cap_appname-config:/etc/sourcegraph - - $$cap_appname-data:/var/opt/sourcegraph - restart: always - caproverExtra: - containerHttpPort: "7080" + $$cap_appname: + image: sourcegraph/server:$$cap_container_version + volumes: + - $$cap_appname-config:/etc/sourcegraph + - $$cap_appname-data:/var/opt/sourcegraph + restart: always + caproverExtra: + containerHttpPort: '7080' caproverOneClickApp: - variables: - - id: $$cap_container_version - label: Version - defaultValue: 3.2.2 - description: Check out their Docker page for the valid tags https://hub.docker.com/r/sourcegraph/server/tags - validRegex: /^([^\s^\/])+$/ - instructions: - start: >- - Sourcegraph is a code search and navigation tool (open-source/self-hosted). + variables: + - id: $$cap_container_version + label: Version + defaultValue: 3.2.2 + description: Check out their Docker page for the valid tags https://hub.docker.com/r/sourcegraph/server/tags + validRegex: /^([^\s^\/])+$/ + instructions: + start: >- + Sourcegraph is a code search and navigation tool (open-source/self-hosted). - More information about this container can be found here: https://hub.docker.com/r/sourcegraph/server/ . + More information about this container can be found here: https://hub.docker.com/r/sourcegraph/server/ . - After installation on CapRover, it will be available as srv-captain--YOUR_CONTAINER_NAME at port 7080 to other CapRover apps. + After installation on CapRover, it will be available as srv-captain--YOUR_CONTAINER_NAME at port 7080 to other CapRover apps. - Enter your Sourcegraph Configuration parameters and click on next. It will take about a minute for the process to finish. - end: >- - Sourcegraph is deployed and available as srv-captain--$$cap_appname:7080 to other apps. Open the application to create the administrator account. + Enter your Sourcegraph Configuration parameters and click on next. It will take about a minute for the process to finish. + end: >- + Sourcegraph is deployed and available as srv-captain--$$cap_appname:7080 to other apps. Open the application to create the administrator account. - SECURITY: If the site has no users (i.e., during initial setup), it will always allow the first user to sign up and become site admin **without any approval** (first user to sign up becomes the admin). + SECURITY: If the site has no users (i.e., during initial setup), it will always allow the first user to sign up and become site admin **without any approval** (first user to sign up becomes the admin). - In order to use administration console, for critical configurations, the port 2633 needs to be mapped on the host. This port is not mapped, by default, for security reasons and because it's required only for special configurations. The administation console requires an admin username and a strong readonly password generated by the application. + In order to use administration console, for critical configurations, the port 2633 needs to be mapped on the host. This port is not mapped, by default, for security reasons and because it's required only for special configurations. The administation console requires an admin username and a strong readonly password generated by the application. - More information about the administration console can be found here: - https://docs.sourcegraph.com/admin/management_console + More information about the administration console can be found here: + https://docs.sourcegraph.com/admin/management_console - To disable the signup option for other users use the administration console and change the boolean property "allowSignup" to false. More information here: https://docs.sourcegraph.com/admin/config/critical_config#builtin-password-authentication - displayName: "" - isOfficial: true - description: Sourcegraph is a free, self-hosted code search and intelligence server that helps developers find, review, understand, and debug code - documentation: Taken from https://hub.docker.com/r/sourcegraph/server/ + To disable the signup option for other users use the administration console and change the boolean property "allowSignup" to false. More information here: https://docs.sourcegraph.com/admin/config/critical_config#builtin-password-authentication + displayName: '' + isOfficial: true + description: Sourcegraph is a free, self-hosted code search and intelligence server that helps developers find, review, understand, and debug code + documentation: Taken from https://hub.docker.com/r/sourcegraph/server/ diff --git a/public/v4/apps/spigot.yml b/public/v4/apps/spigot.yml index 0f33bd3..f3509d0 100644 --- a/public/v4/apps/spigot.yml +++ b/public/v4/apps/spigot.yml @@ -1,53 +1,53 @@ captainVersion: 4 services: - $$cap_appname: - ports: - - $$cap_port:25565 - environment: - EULA: $$cap_eula - SPIGOT_VER: $$cap_spigot_version - MC_MAXMEM: $$cap_maxmem - MC_MINMEM: $$cap_minmem - SPIGOT_AUTORESTART: $$cap_autorestart - image: nimmis/spigot@$$cap_version - restart: always - volumes: - - $$cap_appname-data:/minecraft - caproverExtra: - notExposeAsWebApp: "true" + $$cap_appname: + ports: + - $$cap_port:25565 + environment: + EULA: $$cap_eula + SPIGOT_VER: $$cap_spigot_version + MC_MAXMEM: $$cap_maxmem + MC_MINMEM: $$cap_minmem + SPIGOT_AUTORESTART: $$cap_autorestart + image: nimmis/spigot@$$cap_version + restart: always + volumes: + - $$cap_appname-data:/minecraft + caproverExtra: + notExposeAsWebApp: 'true' caproverOneClickApp: - variables: - - label: EULA - description: "IMPORTANT: Read the EULA at https://account.mojang.com/documents/minecraft_eula and set this field to true if you agree. This is a prerequisite to use this software." - defaultValue: "" - id: $$cap_eula - - label: Docker Image Version - description: The Docker image used does not offer version tags. Since the use of the latest tag is not recommended, refer to the image version by SHA tag. - defaultValue: sha256:b968685fadb79e6dacca8efc030ee53f695441b8d6dfde4b86e027ba1f6796db - id: $$cap_version - - label: Game Server Port (TCP/UDP) - description: This is the port the server will expose for players to join. - defaultValue: "25565" - id: $$cap_port - - label: Spigot Version - description: Versions as available on https://www.spigotmc.org/wiki/buildtools/#versions (e.g. 1.15.2 or latest) - defaultValue: latest - id: $$cap_spigot_version - - label: Maximum Memory - description: Define maximum memory to be used by the server (e.g. 512m or 2g) - defaultValue: 1g - id: $$cap_maxmem - - label: Initial Memory - description: Define initial memory reservation to be used by the server (e.g. 512m or 2g) - defaultValue: 512m - id: $$cap_minmem - - label: Autorestart - description: Define if container should automatically restart after issuing a stop command within the server (yes or no) - defaultValue: yes - id: $$cap_autorestart - instructions: - end: The container will now download and build the Spigot Minecraft server, so you will need a few minutes before you can access it. Check the status in the logs. - start: "This one click app is based on a community created docker image, nimmis/spigot. You have to agree to the Minecraft EULA to be able to use this software: https://account.mojang.com/documents/minecraft_eula" - displayName: Spigot - description: Spigot is a performance optimized server for Minecraft with plugin support. - documentation: https://github.com/nimmis/docker-spigot + variables: + - label: EULA + description: 'IMPORTANT: Read the EULA at https://account.mojang.com/documents/minecraft_eula and set this field to true if you agree. This is a prerequisite to use this software.' + defaultValue: '' + id: $$cap_eula + - label: Docker Image Version + description: The Docker image used does not offer version tags. Since the use of the latest tag is not recommended, refer to the image version by SHA tag. + defaultValue: sha256:b968685fadb79e6dacca8efc030ee53f695441b8d6dfde4b86e027ba1f6796db + id: $$cap_version + - label: Game Server Port (TCP/UDP) + description: This is the port the server will expose for players to join. + defaultValue: '25565' + id: $$cap_port + - label: Spigot Version + description: Versions as available on https://www.spigotmc.org/wiki/buildtools/#versions (e.g. 1.15.2 or latest) + defaultValue: latest + id: $$cap_spigot_version + - label: Maximum Memory + description: Define maximum memory to be used by the server (e.g. 512m or 2g) + defaultValue: 1g + id: $$cap_maxmem + - label: Initial Memory + description: Define initial memory reservation to be used by the server (e.g. 512m or 2g) + defaultValue: 512m + id: $$cap_minmem + - label: Autorestart + description: Define if container should automatically restart after issuing a stop command within the server (yes or no) + defaultValue: yes + id: $$cap_autorestart + instructions: + end: The container will now download and build the Spigot Minecraft server, so you will need a few minutes before you can access it. Check the status in the logs. + start: 'This one click app is based on a community created docker image, nimmis/spigot. You have to agree to the Minecraft EULA to be able to use this software: https://account.mojang.com/documents/minecraft_eula' + displayName: Spigot + description: Spigot is a performance optimized server for Minecraft with plugin support. + documentation: https://github.com/nimmis/docker-spigot diff --git a/public/v4/apps/sshd.yml b/public/v4/apps/sshd.yml index f71f939..f9349bf 100644 --- a/public/v4/apps/sshd.yml +++ b/public/v4/apps/sshd.yml @@ -1,51 +1,51 @@ captainVersion: 4 services: - $$cap_appname: - ports: - - $$cap_sshd_port:22 - volumes: - - $$cap_appname-data:/data - restart: always - environment: {} - caproverExtra: - dockerfileLines: - - FROM ubuntu:16.04 - - RUN apt-get update && apt-get install -y openssh-server - - RUN mkdir /var/run/sshd - - RUN echo 'root:$$cap_sshd_password' | chpasswd - - RUN sed -i 's/PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config - - "# SSH login fix. Otherwise user is kicked off after login" - - RUN sed 's@sessions*requireds*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd - - ENV NOTVISIBLE "in users profile" - - RUN echo "export VISIBLE=now" >> /etc/profile - - EXPOSE 22 - - CMD ["/usr/sbin/sshd", "-D"] + $$cap_appname: + ports: + - $$cap_sshd_port:22 + volumes: + - $$cap_appname-data:/data + restart: always + environment: {} + caproverExtra: + dockerfileLines: + - FROM ubuntu:16.04 + - RUN apt-get update && apt-get install -y openssh-server + - RUN mkdir /var/run/sshd + - RUN echo 'root:$$cap_sshd_password' | chpasswd + - RUN sed -i 's/PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config + - '# SSH login fix. Otherwise user is kicked off after login' + - RUN sed 's@sessions*requireds*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd + - ENV NOTVISIBLE "in users profile" + - RUN echo "export VISIBLE=now" >> /etc/profile + - EXPOSE 22 + - CMD ["/usr/sbin/sshd", "-D"] caproverOneClickApp: - variables: - - id: $$cap_sshd_password - label: Your SSH root password - description: Enter a secure password - defaultValue: pAsSwOrD - validRegex: /.{8,}/ - - id: $$cap_sshd_port - label: Your SSH exposed port - description: Enter a port number - defaultValue: "4646" - validRegex: /^\d+$/ - instructions: - start: >- - The following app sets up an SSHd service in a container that you can use to connect to and inspect other container’s volumes, or to get quick access to a test container. + variables: + - id: $$cap_sshd_password + label: Your SSH root password + description: Enter a secure password + defaultValue: pAsSwOrD + validRegex: /.{8,}/ + - id: $$cap_sshd_port + label: Your SSH exposed port + description: Enter a port number + defaultValue: '4646' + validRegex: /^\d+$/ + instructions: + start: >- + The following app sets up an SSHd service in a container that you can use to connect to and inspect other container’s volumes, or to get quick access to a test container. - IMPORTANT: + IMPORTANT: - This setup uses password login. You can optionally mount your keys and use public/private key to log in. - end: >- - The container is built and deployed. You can now connect to this container from your local machine by running the following command: + This setup uses password login. You can optionally mount your keys and use public/private key to log in. + end: >- + The container is built and deployed. You can now connect to this container from your local machine by running the following command: - ssh root@IpAddressOfServer -p $$cap_sshd_port - displayName: SSH Container - isOfficial: true - description: Just a simple container that has sshd installed so you can SSH directly into this container. - documentation: "Taken from https://docs.docker.com/engine/examples/running_ssh_service/#build-an-eg_sshd-image " + ssh root@IpAddressOfServer -p $$cap_sshd_port + displayName: SSH Container + isOfficial: true + description: Just a simple container that has sshd installed so you can SSH directly into this container. + documentation: 'Taken from https://docs.docker.com/engine/examples/running_ssh_service/#build-an-eg_sshd-image ' diff --git a/public/v4/apps/strapi.yml b/public/v4/apps/strapi.yml index 08a7d39..73ace73 100644 --- a/public/v4/apps/strapi.yml +++ b/public/v4/apps/strapi.yml @@ -1,66 +1,66 @@ captainVersion: 4 services: - $$cap_appname-core: - depends_on: - - $$cap_appname-mongo - image: strapi/strapi:$$cap_strapi_version - volumes: - - $$cap_appname-data:/srv/app - restart: always - environment: - DATABASE_CLIENT: mongo - DATABASE_HOST: srv-captain--$$cap_appname-mongo - DATABASE_PORT: "27017" - DATABASE_NAME: strapi - DATABASE_USERNAME: root - DATABASE_PASSWORD: $$cap_mongo_password - DATABASE_AUTHENTICATION_DATABASE: strapi - caproverExtra: - containerHttpPort: "1337" - $$cap_appname-mongo: - image: mongo:$$cap_mongo_version - volumes: - - $$cap_appname-mongo-data:/data/db - - $$cap_appname-mongo-config:/data/configdb - restart: always - environment: - MONGO_INITDB_DATABASE: strapi - MONGO_INITDB_ROOT_USERNAME: root - MONGO_INITDB_ROOT_PASSWORD: $$cap_mongo_password - caproverExtra: - notExposeAsWebApp: "true" + $$cap_appname-core: + depends_on: + - $$cap_appname-mongo + image: strapi/strapi:$$cap_strapi_version + volumes: + - $$cap_appname-data:/srv/app + restart: always + environment: + DATABASE_CLIENT: mongo + DATABASE_HOST: srv-captain--$$cap_appname-mongo + DATABASE_PORT: '27017' + DATABASE_NAME: strapi + DATABASE_USERNAME: root + DATABASE_PASSWORD: $$cap_mongo_password + DATABASE_AUTHENTICATION_DATABASE: strapi + caproverExtra: + containerHttpPort: '1337' + $$cap_appname-mongo: + image: mongo:$$cap_mongo_version + volumes: + - $$cap_appname-mongo-data:/data/db + - $$cap_appname-mongo-config:/data/configdb + restart: always + environment: + MONGO_INITDB_DATABASE: strapi + MONGO_INITDB_ROOT_USERNAME: root + MONGO_INITDB_ROOT_PASSWORD: $$cap_mongo_password + caproverExtra: + notExposeAsWebApp: 'true' caproverOneClickApp: - variables: - - id: $$cap_strapi_version - label: Strapi Version - defaultValue: 3.0.0-beta.18.6 - description: Check out their page for the valid versions https://hub.docker.com/r/strapi/strapi/tags - validRegex: /^([^\s^\/])+$/ - - id: $$cap_mongo_version - label: MongoDB Version - defaultValue: "4" - description: Check out their Docker page for the valid tags https://hub.docker.com/r/library/mongo/tags/ - validRegex: /^([a-zA-Z0-9])+$/ - - id: $$cap_mongo_password - label: MongoDB password - description: Only use alphanumeric chars. - validRegex: /^([a-zA-Z0-9])+$/ - instructions: - start: >- - API creation made simple, secure and fast. The most advanced open-source Content Management Framework to build powerful API with no effort. Read more here: https://strapi.io + variables: + - id: $$cap_strapi_version + label: Strapi Version + defaultValue: 3.0.0-beta.18.6 + description: Check out their page for the valid versions https://hub.docker.com/r/strapi/strapi/tags + validRegex: /^([^\s^\/])+$/ + - id: $$cap_mongo_version + label: MongoDB Version + defaultValue: '4' + description: Check out their Docker page for the valid tags https://hub.docker.com/r/library/mongo/tags/ + validRegex: /^([a-zA-Z0-9])+$/ + - id: $$cap_mongo_password + label: MongoDB password + description: Only use alphanumeric chars. + validRegex: /^([a-zA-Z0-9])+$/ + instructions: + start: >- + API creation made simple, secure and fast. The most advanced open-source Content Management Framework to build powerful API with no effort. Read more here: https://strapi.io - NOTE: Hardware requirements: + NOTE: Hardware requirements: - 2GB minimum RAM required + 2GB minimum RAM required - 1Ghz minimum CPU clock speed - end: >- - Strapi is deployed and available as $$cap_appname-core - IMPORTANT!! It takes up to 2-5 minutes for Strapi to boot up. You will see a 502 Error until the startup is finished. + 1Ghz minimum CPU clock speed + end: >- + Strapi is deployed and available as $$cap_appname-core + IMPORTANT!! It takes up to 2-5 minutes for Strapi to boot up. You will see a 502 Error until the startup is finished. - IMPORTANT: You need to add a config file manually to support the correct domain name. See this issue for more details: https://github.com/strapi/strapi-docker/issues/173 - displayName: "" - isOfficial: true - description: The Open source Headless CMS Front-End Developers love. Manage your content. Distribute it anywhere - documentation: Taken from https://github.com/strapi/strapi-docker/blob/master/examples/mongo/docker-compose.yml + IMPORTANT: You need to add a config file manually to support the correct domain name. See this issue for more details: https://github.com/strapi/strapi-docker/issues/173 + displayName: '' + isOfficial: true + description: The Open source Headless CMS Front-End Developers love. Manage your content. Distribute it anywhere + documentation: Taken from https://github.com/strapi/strapi-docker/blob/master/examples/mongo/docker-compose.yml diff --git a/public/v4/apps/syncthing.yml b/public/v4/apps/syncthing.yml index 8175da5..0d0f789 100644 --- a/public/v4/apps/syncthing.yml +++ b/public/v4/apps/syncthing.yml @@ -1,28 +1,28 @@ captainVersion: 4 services: - $$cap_appname: - ports: - - $$cap_port_sync:22000 - image: syncthing/syncthing:$$cap_version - restart: always - volumes: - - $$cap_appname-data:/var/syncthing - caproverExtra: - containerHttpPort: "8384" + $$cap_appname: + ports: + - $$cap_port_sync:22000 + image: syncthing/syncthing:$$cap_version + restart: always + volumes: + - $$cap_appname-data:/var/syncthing + caproverExtra: + containerHttpPort: '8384' caproverOneClickApp: - variables: - - label: Syncthing Docker Version - defaultValue: 1.5.0 - description: It's highly recommended that you don't use the latest tag but instead the major version you need. - id: $$cap_version - - label: Sync Protocol Listening Port - description: Port that Syncthing listens on for data synchronization (TCP). - defaultValue: "22000" - id: $$cap_port_sync - instructions: - end: Your instance of Syncthing is now starting up. - start: "Read more about Syncthing's goals: https://github.com/syncthing/syncthing#goals" - displayName: Syncthing - isOfficial: true - description: Open Source Continuous File Synchronization. - documentation: https://hub.docker.com/r/syncthing/syncthing + variables: + - label: Syncthing Docker Version + defaultValue: 1.5.0 + description: It's highly recommended that you don't use the latest tag but instead the major version you need. + id: $$cap_version + - label: Sync Protocol Listening Port + description: Port that Syncthing listens on for data synchronization (TCP). + defaultValue: '22000' + id: $$cap_port_sync + instructions: + end: Your instance of Syncthing is now starting up. + start: "Read more about Syncthing's goals: https://github.com/syncthing/syncthing#goals" + displayName: Syncthing + isOfficial: true + description: Open Source Continuous File Synchronization. + documentation: https://hub.docker.com/r/syncthing/syncthing diff --git a/public/v4/apps/teamspeak.yml b/public/v4/apps/teamspeak.yml index 39a3cd4..f234921 100644 --- a/public/v4/apps/teamspeak.yml +++ b/public/v4/apps/teamspeak.yml @@ -1,40 +1,40 @@ captainVersion: 4 services: - $$cap_appname: - ports: - - $$cap_port_voice:9987 - - $$cap_port_files:30033 - - $$cap_port_query:10011 - environment: - TS3SERVER_LICENSE: accept - image: teamspeak:$$cap_version - restart: always - volumes: - - $$cap_appname-data:/var/ts3server/ - caproverExtra: - notExposeAsWebApp: "true" + $$cap_appname: + ports: + - $$cap_port_voice:9987 + - $$cap_port_files:30033 + - $$cap_port_query:10011 + environment: + TS3SERVER_LICENSE: accept + image: teamspeak:$$cap_version + restart: always + volumes: + - $$cap_appname-data:/var/ts3server/ + caproverExtra: + notExposeAsWebApp: 'true' caproverOneClickApp: - variables: - - label: TeamSpeak Docker Version - defaultValue: 3.12.0 - description: It's highly recommended that you don't use the latest tag but instead the major version you need, e.g. teamspeak:3.12.0 - id: $$cap_version - - label: Voice Port (UDP) - description: Port for voice (UDP) - defaultValue: "9987" - id: $$cap_port_voice - - label: File transfer (TCP) - description: Transferring files. - defaultValue: "30033" - id: $$cap_port_files - - label: Server Query Port (TCP) - description: Port for querying in server discovery - defaultValue: "10011" - id: $$cap_port_query - instructions: - end: Then you can connect to localhost/ip in your TeamSpeak client. Please write down the server query password, and server admin privilege key that were generated. These are needed to administrate the TeamSpeak server. Found in the logs. - start: TeamSpeak is the number one choice VoIP communication system for Online Gaming. - displayName: TeamSpeak - isOfficial: true - description: TeamSpeak is the number one choice VoIP communication system for Online Gaming. - documentation: https://hub.docker.com/_/teamspeak + variables: + - label: TeamSpeak Docker Version + defaultValue: 3.12.0 + description: It's highly recommended that you don't use the latest tag but instead the major version you need, e.g. teamspeak:3.12.0 + id: $$cap_version + - label: Voice Port (UDP) + description: Port for voice (UDP) + defaultValue: '9987' + id: $$cap_port_voice + - label: File transfer (TCP) + description: Transferring files. + defaultValue: '30033' + id: $$cap_port_files + - label: Server Query Port (TCP) + description: Port for querying in server discovery + defaultValue: '10011' + id: $$cap_port_query + instructions: + end: Then you can connect to localhost/ip in your TeamSpeak client. Please write down the server query password, and server admin privilege key that were generated. These are needed to administrate the TeamSpeak server. Found in the logs. + start: TeamSpeak is the number one choice VoIP communication system for Online Gaming. + displayName: TeamSpeak + isOfficial: true + description: TeamSpeak is the number one choice VoIP communication system for Online Gaming. + documentation: https://hub.docker.com/_/teamspeak diff --git a/public/v4/apps/the-lounge.yml b/public/v4/apps/the-lounge.yml index 759a4f0..3609747 100644 --- a/public/v4/apps/the-lounge.yml +++ b/public/v4/apps/the-lounge.yml @@ -1,25 +1,25 @@ captainVersion: 4 services: - $$cap_appname: - image: thelounge/thelounge:$$cap_lounge_version - restart: always - volumes: - - $$cap_appname-data:/var/opt/thelounge - caproverExtra: - containerHttpPort: "9000" + $$cap_appname: + image: thelounge/thelounge:$$cap_lounge_version + restart: always + volumes: + - $$cap_appname-data:/var/opt/thelounge + caproverExtra: + containerHttpPort: '9000' caproverOneClickApp: - variables: - - id: $$cap_lounge_version - label: The Lounge Version Tag - defaultValue: 4.1.0 - description: Check out their Docker page for the valid tags https://hub.docker.com/r/thelounge/thelounge/tags - validRegex: /^([^\s^\/])+$/ - instructions: - start: The Lounge, a self-hosted web IRC client. - end: >- - Your instance is now fully deployed. - To create your user, run `docker exec --user node -it $(docker ps -f name=srv-captain--$$cap_appname --quiet) thelounge add [user]` on your host. - displayName: The Lounge - isOfficial: true - description: The Lounge is a self-hosted web IRC client with modern features, persistent connections, and multi-user support. - documentation: Adapted from https://thelounge.chat/docs/install-and-upgrade#docker. + variables: + - id: $$cap_lounge_version + label: The Lounge Version Tag + defaultValue: 4.1.0 + description: Check out their Docker page for the valid tags https://hub.docker.com/r/thelounge/thelounge/tags + validRegex: /^([^\s^\/])+$/ + instructions: + start: The Lounge, a self-hosted web IRC client. + end: >- + Your instance is now fully deployed. + To create your user, run `docker exec --user node -it $(docker ps -f name=srv-captain--$$cap_appname --quiet) thelounge add [user]` on your host. + displayName: The Lounge + isOfficial: true + description: The Lounge is a self-hosted web IRC client with modern features, persistent connections, and multi-user support. + documentation: Adapted from https://thelounge.chat/docs/install-and-upgrade#docker. diff --git a/public/v4/apps/thumbor.yml b/public/v4/apps/thumbor.yml index 59b97e9..213758a 100644 --- a/public/v4/apps/thumbor.yml +++ b/public/v4/apps/thumbor.yml @@ -1,28 +1,28 @@ captainVersion: 4 services: - $$cap_appname-db: - image: minimalcompact/thumbor:$$cap_thumbor_version - volumes: - - $$cap_appname-thumbor:/data - restart: always - environment: - THUMBOR_PORT: "80" + $$cap_appname-db: + image: minimalcompact/thumbor:$$cap_thumbor_version + volumes: + - $$cap_appname-thumbor:/data + restart: always + environment: + THUMBOR_PORT: '80' caproverOneClickApp: - variables: - - id: $$cap_thumbor_version - label: Thumbor Version - defaultValue: 6.7.0 - description: Checkout their Docker page for the valid tags https://hub.docker.com/r/minimalcompact/thumbor/tags/ - validRegex: /^([^\s^\/])+$/ - instructions: - start: >- - thumbor is a smart imaging service. It enables on-demand crop, resizing and flipping of images. It also features a VERY smart detection of important points in the image for better cropping and resizing, using state-of-the-art face and feature detection algorithms (more on that in Detection Algorithms). Using thumbor is very easy (after it is running). All you have to do is access it using an URL for an image, like this: - http:///300x200/smart/s.glbimg.com/et/bb/f/original/2011/03/24/VN0JiwzmOw0b0lg.jpg + variables: + - id: $$cap_thumbor_version + label: Thumbor Version + defaultValue: 6.7.0 + description: Checkout their Docker page for the valid tags https://hub.docker.com/r/minimalcompact/thumbor/tags/ + validRegex: /^([^\s^\/])+$/ + instructions: + start: >- + thumbor is a smart imaging service. It enables on-demand crop, resizing and flipping of images. It also features a VERY smart detection of important points in the image for better cropping and resizing, using state-of-the-art face and feature detection algorithms (more on that in Detection Algorithms). Using thumbor is very easy (after it is running). All you have to do is access it using an URL for an image, like this: + http:///300x200/smart/s.glbimg.com/et/bb/f/original/2011/03/24/VN0JiwzmOw0b0lg.jpg - See http://thumbor.org for more details. + See http://thumbor.org for more details. - Enter your thumbor Configuration parameters and click on next. It will take about a minute for the process to finish. - end: thumbor is deployed and available as $$cap_appname-db. Go to YOUR_APP_URL/unsafe/200x50/i.imgur.com/bvjzPct.jpg to test thumbor! - displayName: "" - description: Thumbor is a smart imaging service. It enables on-demand crop, resizing and flipping of images - documentation: Taken from https://hub.docker.com/r/minimalcompact/thumbor/tags/ + Enter your thumbor Configuration parameters and click on next. It will take about a minute for the process to finish. + end: thumbor is deployed and available as $$cap_appname-db. Go to YOUR_APP_URL/unsafe/200x50/i.imgur.com/bvjzPct.jpg to test thumbor! + displayName: '' + description: Thumbor is a smart imaging service. It enables on-demand crop, resizing and flipping of images + documentation: Taken from https://hub.docker.com/r/minimalcompact/thumbor/tags/ diff --git a/public/v4/apps/tiddlywiki.yml b/public/v4/apps/tiddlywiki.yml index d319235..1e991ca 100644 --- a/public/v4/apps/tiddlywiki.yml +++ b/public/v4/apps/tiddlywiki.yml @@ -1,33 +1,33 @@ captainVersion: 4 services: - $$cap_appname: - image: nicolaw/tiddlywiki - restart: always - volumes: - - $$cap_appname-data:/var/lib/tiddlywiki - environment: - TW_USERNAME: $$cap_wikusername - TW_PASSWORD: $$cap_wikipassword - NODE_MEM: $$cap_nodemem - caproverExtra: - containerHttpPort: "8080" + $$cap_appname: + image: nicolaw/tiddlywiki + restart: always + volumes: + - $$cap_appname-data:/var/lib/tiddlywiki + environment: + TW_USERNAME: $$cap_wikusername + TW_PASSWORD: $$cap_wikipassword + NODE_MEM: $$cap_nodemem + caproverExtra: + containerHttpPort: '8080' caproverOneClickApp: - variables: - - id: $$cap_wikusername - label: Username - defaultValue: anonymous - description: Username for authentication (leave blank for a public wiki) - - id: $$cap_wikipassword - label: Password - description: Password for authentication (leave blank for a public wiki) - - id: $$cap_nodemem - label: Max Memory - defaultValue: "400" - validRegex: /^[0-9]+$/ - description: Limit the memory that the server can consume - instructions: - start: TiddlyWiki is a personal wiki and a non-linear notebook for organising and sharing complex information. It is an open-source single page application wiki in the form of a single HTML file that includes CSS, JavaScript, and the content. It is designed to be easy to customize and re-shape depending on application. It facilitates re-use of content by dividing it into small pieces called Tiddlers. - end: You TiddlyWiki is deployed; it might take a minute to be ready. See https://$$cap_appname.$$cap_root_domain/#HelloThere to get started. - displayName: TiddlyWiki - description: TiddlyWiki is a personal wiki and a non-linear notebook for organising and sharing complex information - documentation: Based on https://hub.docker.com/r/nicolaw/tiddlywiki + variables: + - id: $$cap_wikusername + label: Username + defaultValue: anonymous + description: Username for authentication (leave blank for a public wiki) + - id: $$cap_wikipassword + label: Password + description: Password for authentication (leave blank for a public wiki) + - id: $$cap_nodemem + label: Max Memory + defaultValue: '400' + validRegex: /^[0-9]+$/ + description: Limit the memory that the server can consume + instructions: + start: TiddlyWiki is a personal wiki and a non-linear notebook for organising and sharing complex information. It is an open-source single page application wiki in the form of a single HTML file that includes CSS, JavaScript, and the content. It is designed to be easy to customize and re-shape depending on application. It facilitates re-use of content by dividing it into small pieces called Tiddlers. + end: You TiddlyWiki is deployed; it might take a minute to be ready. See https://$$cap_appname.$$cap_root_domain/#HelloThere to get started. + displayName: TiddlyWiki + description: TiddlyWiki is a personal wiki and a non-linear notebook for organising and sharing complex information + documentation: Based on https://hub.docker.com/r/nicolaw/tiddlywiki diff --git a/public/v4/apps/verdaccio.yml b/public/v4/apps/verdaccio.yml index 3a09078..ef4506d 100644 --- a/public/v4/apps/verdaccio.yml +++ b/public/v4/apps/verdaccio.yml @@ -1,32 +1,32 @@ captainVersion: 4 services: - $$cap_appname: - image: verdaccio/verdaccio:$$cap__verdaccio_version - volumes: - - $$cap_appname-storage:/verdaccio/storage - - $$cap_appname-conf:/verdaccio/conf - - $$cap_appname-plugins:/verdaccio/plugins - restart: always - environment: {} - caproverExtra: - containerHttpPort: "4873" + $$cap_appname: + image: verdaccio/verdaccio:$$cap__verdaccio_version + volumes: + - $$cap_appname-storage:/verdaccio/storage + - $$cap_appname-conf:/verdaccio/conf + - $$cap_appname-plugins:/verdaccio/plugins + restart: always + environment: {} + caproverExtra: + containerHttpPort: '4873' caproverOneClickApp: - variables: - - id: $$cap__verdaccio_version - label: Verdaccio Version - defaultValue: 3.11.6 - description: "Additional tags can be found here: https://hub.docker.com/r/verdaccio/verdaccio/tags" - instructions: - start: >- - Verdaccio is a simple, zero-config-required local private npm registry. + variables: + - id: $$cap__verdaccio_version + label: Verdaccio Version + defaultValue: 3.11.6 + description: 'Additional tags can be found here: https://hub.docker.com/r/verdaccio/verdaccio/tags' + instructions: + start: >- + Verdaccio is a simple, zero-config-required local private npm registry. - No need for an entire database just to get started! Verdaccio comes out of the box with its own tiny database, and the ability to proxy other registries (eg. npmjs.org), caching the downloaded modules along the way. For those looking to extend their storage capabilities, Verdaccio supports various community-made plugins to hook into services such as Amazon's S3, Google Cloud Storage, or create your own plugin. + No need for an entire database just to get started! Verdaccio comes out of the box with its own tiny database, and the ability to proxy other registries (eg. npmjs.org), caching the downloaded modules along the way. For those looking to extend their storage capabilities, Verdaccio supports various community-made plugins to hook into services such as Amazon's S3, Google Cloud Storage, or create your own plugin. - For more details, see: https://hub.docker.com/r/verdaccio/verdaccio + For more details, see: https://hub.docker.com/r/verdaccio/verdaccio - Enter your verdaccio Configuration parameters and click on next. It will take about a minute for the process to finish. - end: Verdaccio is deployed and available as srv-captain--$$cap_appname:4873 to other apps.. - displayName: "" - isOfficial: true - description: Verdaccio is a lightweight private npm proxy registry that allows you to have your own npm registry for free - documentation: Taken from https://hub.docker.com/r/verdaccio/verdaccio/ + Enter your verdaccio Configuration parameters and click on next. It will take about a minute for the process to finish. + end: Verdaccio is deployed and available as srv-captain--$$cap_appname:4873 to other apps.. + displayName: '' + isOfficial: true + description: Verdaccio is a lightweight private npm proxy registry that allows you to have your own npm registry for free + documentation: Taken from https://hub.docker.com/r/verdaccio/verdaccio/ diff --git a/public/v4/apps/vscode-coder.yml b/public/v4/apps/vscode-coder.yml index 482b69a..94baf05 100644 --- a/public/v4/apps/vscode-coder.yml +++ b/public/v4/apps/vscode-coder.yml @@ -1,36 +1,36 @@ captainVersion: 4 services: - $$cap_appname: - environment: - PASSWORD: $$cap_coder_password - image: "" - restart: always - volumes: - - $$cap_appname-config-data:/home/coder/.local/share/code-server - - $$cap_appname-project-directory:/home/coder/project - caproverExtra: - containerHttpPort: "8080" - dockerfileLines: - - FROM codercom/code-server:2.1697-vsc1.39.2 - - "# Similar to the original file, except setting the user to root to prevent permission issues." - - USER root + $$cap_appname: + environment: + PASSWORD: $$cap_coder_password + image: '' + restart: always + volumes: + - $$cap_appname-config-data:/home/coder/.local/share/code-server + - $$cap_appname-project-directory:/home/coder/project + caproverExtra: + containerHttpPort: '8080' + dockerfileLines: + - FROM codercom/code-server:2.1697-vsc1.39.2 + - '# Similar to the original file, except setting the user to root to prevent permission issues.' + - USER root caproverOneClickApp: - variables: - - description: Password for accessing VS Code - id: $$cap_coder_password - label: Password - validRegex: /^[^"]*$/ - instructions: - end: >- - Code server is deployed and is available as $$cap_appname. + variables: + - description: Password for accessing VS Code + id: $$cap_coder_password + label: Password + validRegex: /^[^"]*$/ + instructions: + end: >- + Code server is deployed and is available as $$cap_appname. - IMPORTANT: Make sure to enable websocket capability in the app config on CapRover dashboard! - start: >- - This installation will install a Visual Studio Code that's accessible through browser! + IMPORTANT: Make sure to enable websocket capability in the app config on CapRover dashboard! + start: >- + This installation will install a Visual Studio Code that's accessible through browser! - IMPORTANT: Make sure you have at least 2GB of RAM when you run code-server. - displayName: vscode via code-server - isOfficial: true - description: code-server by Coder is VS Code running on a remote server, accessible through the browser. - documentation: Taken from https://github.com/cdr/code-server/ . Except the image version (tag) is fixed to a specific version rather than generic 'v2' as this will ensure consistency of deployments. + IMPORTANT: Make sure you have at least 2GB of RAM when you run code-server. + displayName: vscode via code-server + isOfficial: true + description: code-server by Coder is VS Code running on a remote server, accessible through the browser. + documentation: Taken from https://github.com/cdr/code-server/ . Except the image version (tag) is fixed to a specific version rather than generic 'v2' as this will ensure consistency of deployments. diff --git a/public/v4/apps/vsts.yml b/public/v4/apps/vsts.yml index 2c35245..b6e222f 100644 --- a/public/v4/apps/vsts.yml +++ b/public/v4/apps/vsts.yml @@ -1,38 +1,38 @@ captainVersion: 4 services: - $$cap_appname: - image: microsoft/vsts-agent:$$cap_vsts_version - restart: always - environment: - VSTS_ACCOUNT: $$cap_vsts_account - VSTS_TOKEN: $$cap_vsts_token - VSTS_AGENT: $$cap_vsts_name - VSTS_POOL: $$cap_vsts_pool + $$cap_appname: + image: microsoft/vsts-agent:$$cap_vsts_version + restart: always + environment: + VSTS_ACCOUNT: $$cap_vsts_account + VSTS_TOKEN: $$cap_vsts_token + VSTS_AGENT: $$cap_vsts_name + VSTS_POOL: $$cap_vsts_pool caproverOneClickApp: - variables: - - id: $$cap_vsts_version - label: VSTS Version Tag - description: Check out their Docker page for the valid tags https://hub.docker.com/r/microsoft/vsts-agent/tags/ - defaultValue: ubuntu-16.04-standard - validRegex: /^([^\s^\/])+$/ - - id: $$cap_vsts_account - label: VSTS Account - description: The name of the Visual Studio account. Take only the account part from your address, e.g. http://{account}.visualstudio.com - validRegex: /.{1,}/ - - id: $$cap_vsts_token - label: VSTS Token - description: A personal access token (PAT) for the Visual Studio account that has been given at least the Agent Pools (read, manage) scope. - validRegex: /.{1,}/ - - id: $$cap_vsts_name - label: VSTS Agent Name - validRegex: /.{1,}/ - - id: $$cap_vsts_pool - label: VSTS Pool - validRegex: /.{1,}/ - instructions: - start: Official image for the Visual Studio Team Services (VSTS) agent. - end: VSTS Agent is deployed and available as $$cap_appname - displayName: VSTS - isOfficial: true - description: VSTS is an integrated development environment (IDE) developed as a software product by Microsoft Corp - documentation: Taken from https://hub.docker.com/r/microsoft/vsts-agent/ + variables: + - id: $$cap_vsts_version + label: VSTS Version Tag + description: Check out their Docker page for the valid tags https://hub.docker.com/r/microsoft/vsts-agent/tags/ + defaultValue: ubuntu-16.04-standard + validRegex: /^([^\s^\/])+$/ + - id: $$cap_vsts_account + label: VSTS Account + description: The name of the Visual Studio account. Take only the account part from your address, e.g. http://{account}.visualstudio.com + validRegex: /.{1,}/ + - id: $$cap_vsts_token + label: VSTS Token + description: A personal access token (PAT) for the Visual Studio account that has been given at least the Agent Pools (read, manage) scope. + validRegex: /.{1,}/ + - id: $$cap_vsts_name + label: VSTS Agent Name + validRegex: /.{1,}/ + - id: $$cap_vsts_pool + label: VSTS Pool + validRegex: /.{1,}/ + instructions: + start: Official image for the Visual Studio Team Services (VSTS) agent. + end: VSTS Agent is deployed and available as $$cap_appname + displayName: VSTS + isOfficial: true + description: VSTS is an integrated development environment (IDE) developed as a software product by Microsoft Corp + documentation: Taken from https://hub.docker.com/r/microsoft/vsts-agent/ diff --git a/public/v4/apps/wiki-js.yml b/public/v4/apps/wiki-js.yml index 64166de..7a666eb 100644 --- a/public/v4/apps/wiki-js.yml +++ b/public/v4/apps/wiki-js.yml @@ -1,47 +1,47 @@ captainVersion: 4 services: - $$cap_appname-postgres: - image: postgres:$$cap_postgres_version - environment: - POSTGRES_DB: wiki - POSTGRES_PASSWORD: $$cap_DB_PASS - POSTGRES_USER: wikijs - volumes: - - $$cap_appname-db-data:/var/lib/postgresql/data - $$cap_appname: - environment: - DB_TYPE: postgres - DB_HOST: srv-captain--$$cap_appname-postgres - DB_PORT: "5432" - DB_USER: wikijs - DB_PASS: $$cap_DB_PASS - DB_NAME: wiki - image: requarks/wiki:$$cap_version - restart: always - volumes: - - $$cap_appname-data:/wiki - caproverExtra: - containerHttpPort: "3000" + $$cap_appname-postgres: + image: postgres:$$cap_postgres_version + environment: + POSTGRES_DB: wiki + POSTGRES_PASSWORD: $$cap_DB_PASS + POSTGRES_USER: wikijs + volumes: + - $$cap_appname-db-data:/var/lib/postgresql/data + $$cap_appname: + environment: + DB_TYPE: postgres + DB_HOST: srv-captain--$$cap_appname-postgres + DB_PORT: '5432' + DB_USER: wikijs + DB_PASS: $$cap_DB_PASS + DB_NAME: wiki + image: requarks/wiki:$$cap_version + restart: always + volumes: + - $$cap_appname-data:/wiki + caproverExtra: + containerHttpPort: '3000' caproverOneClickApp: - variables: - - label: Wiki.js Version - defaultValue: "2" - description: It's highly recommended that you don't use the latest tag but instead the major version you need, e.g. requarks/wiki:2 - id: $$cap_version - - label: Postgres Version - defaultValue: 11-alpine - id: $$cap_postgres_version - - label: Database Password - description: Password to connect to the database - defaultValue: daTaBaSePaSsWorD - id: $$cap_DB_PASS - instructions: - end: > - Wiki.js is deployed and available as $$cap_appname. + variables: + - label: Wiki.js Version + defaultValue: '2' + description: It's highly recommended that you don't use the latest tag but instead the major version you need, e.g. requarks/wiki:2 + id: $$cap_version + - label: Postgres Version + defaultValue: 11-alpine + id: $$cap_postgres_version + - label: Database Password + description: Password to connect to the database + defaultValue: daTaBaSePaSsWorD + id: $$cap_DB_PASS + instructions: + end: > + Wiki.js is deployed and available as $$cap_appname. - IMPORTANT: It will take up to 2 minutes for Wiki.js to be ready. Before that, you might see 502 error page. - start: Wiki.js is a fully open source, adaptable platform for building and running a Wiki. - displayName: wiki.js - isOfficial: true - description: The most powerful and extensible open source Wiki software - documentation: https://docs.requarks.io/ + IMPORTANT: It will take up to 2 minutes for Wiki.js to be ready. Before that, you might see 502 error page. + start: Wiki.js is a fully open source, adaptable platform for building and running a Wiki. + displayName: wiki.js + isOfficial: true + description: The most powerful and extensible open source Wiki software + documentation: https://docs.requarks.io/ diff --git a/public/v4/apps/wordpress-only.yml b/public/v4/apps/wordpress-only.yml index f85369d..b8b6df9 100644 --- a/public/v4/apps/wordpress-only.yml +++ b/public/v4/apps/wordpress-only.yml @@ -1,56 +1,56 @@ captainVersion: 4 services: - $$cap_appname-wordpress: - image: wordpress:$$cap_wp_version - volumes: - - $$cap_appname-wp-data:/var/www/html - restart: always - environment: - WORDPRESS_DB_HOST: $$cap_db_host:3306 - WORDPRESS_DB_NAME: $$cap_db_name - WORDPRESS_TABLE_PREFIX: $$cap_db_prefix - WORDPRESS_DB_USER: $$cap_db_user - WORDPRESS_DB_PASSWORD: $$cap_db_pass + $$cap_appname-wordpress: + image: wordpress:$$cap_wp_version + volumes: + - $$cap_appname-wp-data:/var/www/html + restart: always + environment: + WORDPRESS_DB_HOST: $$cap_db_host:3306 + WORDPRESS_DB_NAME: $$cap_db_name + WORDPRESS_TABLE_PREFIX: $$cap_db_prefix + WORDPRESS_DB_USER: $$cap_db_user + WORDPRESS_DB_PASSWORD: $$cap_db_pass caproverOneClickApp: - variables: - - description: Database host - defaultValue: srv-captain--xxx - id: $$cap_db_host - label: Database Host - - description: Database name - defaultValue: wordpress - id: $$cap_db_name - label: DB Name - - description: Table prefix used by this Wordpress - defaultValue: WP_ - id: $$cap_db_prefix - label: Table Prefix - - id: $$cap_db_user - label: Database user - defaultValue: wordpressuser - - id: $$cap_db_pass - label: Database password - description: "" - validRegex: /.{1,}/ - - id: $$cap_wp_version - label: WordPress Version - defaultValue: 5.4.0 - description: Check out their Docker page for the valid tags https://hub.docker.com/r/library/wordpress/tags/ - validRegex: /^([^\s^\/])+$/ - instructions: - start: >- - WordPress is an online, open source website creation tool written in PHP. But in non-geek speak, it’s probably the easiest and most powerful blogging and website content management system (or CMS) in existence today. + variables: + - description: Database host + defaultValue: srv-captain--xxx + id: $$cap_db_host + label: Database Host + - description: Database name + defaultValue: wordpress + id: $$cap_db_name + label: DB Name + - description: Table prefix used by this Wordpress + defaultValue: WP_ + id: $$cap_db_prefix + label: Table Prefix + - id: $$cap_db_user + label: Database user + defaultValue: wordpressuser + - id: $$cap_db_pass + label: Database password + description: '' + validRegex: /.{1,}/ + - id: $$cap_wp_version + label: WordPress Version + defaultValue: 5.4.0 + description: Check out their Docker page for the valid tags https://hub.docker.com/r/library/wordpress/tags/ + validRegex: /^([^\s^\/])+$/ + instructions: + start: >- + WordPress is an online, open source website creation tool written in PHP. But in non-geek speak, it’s probably the easiest and most powerful blogging and website content management system (or CMS) in existence today. - Enter your WordPress Configuration parameters and click on next. A WordPress container will be created for you. The process will take about a minute for the process to finish. + Enter your WordPress Configuration parameters and click on next. A WordPress container will be created for you. The process will take about a minute for the process to finish. - Note: This app is intended for advanced users who'd like to have a central DB in a single container for multiple WP's. You should start by configuring your DB first and then comeback with all the DB Information. - end: >- - Wordpress is deployed and available as $$cap_appname-wordpress . + Note: This app is intended for advanced users who'd like to have a central DB in a single container for multiple WP's. You should start by configuring your DB first and then comeback with all the DB Information. + end: >- + Wordpress is deployed and available as $$cap_appname-wordpress . - IMPORTANT: It will take up to 2 minutes for WordPress to be ready. Before that, you might see a 502 error page. + IMPORTANT: It will take up to 2 minutes for WordPress to be ready. Before that, you might see a 502 error page. - . Remember that this app will not create a Database by itself. You need to provide all that information. - displayName: WordPress - No Database - isOfficial: true - description: This will create a WordPress only. You will need to create and configure the database information manually. Intended for advanced users. - documentation: Taken from https://docs.docker.com/compose/wordpress/. Port mapping removed from WP as it is no longer needed + . Remember that this app will not create a Database by itself. You need to provide all that information. + displayName: WordPress - No Database + isOfficial: true + description: This will create a WordPress only. You will need to create and configure the database information manually. Intended for advanced users. + documentation: Taken from https://docs.docker.com/compose/wordpress/. Port mapping removed from WP as it is no longer needed diff --git a/public/v4/apps/wordpress.yml b/public/v4/apps/wordpress.yml index 79a72f5..60408b2 100644 --- a/public/v4/apps/wordpress.yml +++ b/public/v4/apps/wordpress.yml @@ -1,63 +1,63 @@ captainVersion: 4 services: - $$cap_appname-db: - image: $$cap_db_type:$$cap_database_version - volumes: - - $$cap_appname-db-data:/var/lib/mysql - restart: always - environment: - MYSQL_ROOT_PASSWORD: $$cap_db_pass - MYSQL_DATABASE: wordpress - MYSQL_USER: $$cap_db_user - MYSQL_PASSWORD: $$cap_db_pass - caproverExtra: - notExposeAsWebApp: "true" - $$cap_appname-wordpress: - depends_on: - - $$cap_appname-db - image: wordpress:$$cap_wp_version - volumes: - - $$cap_appname-wp-data:/var/www/html - restart: always - environment: - WORDPRESS_DB_HOST: srv-captain--$$cap_appname-db:3306 - WORDPRESS_DB_USER: $$cap_db_user - WORDPRESS_DB_PASSWORD: $$cap_db_pass + $$cap_appname-db: + image: $$cap_db_type:$$cap_database_version + volumes: + - $$cap_appname-db-data:/var/lib/mysql + restart: always + environment: + MYSQL_ROOT_PASSWORD: $$cap_db_pass + MYSQL_DATABASE: wordpress + MYSQL_USER: $$cap_db_user + MYSQL_PASSWORD: $$cap_db_pass + caproverExtra: + notExposeAsWebApp: 'true' + $$cap_appname-wordpress: + depends_on: + - $$cap_appname-db + image: wordpress:$$cap_wp_version + volumes: + - $$cap_appname-wp-data:/var/www/html + restart: always + environment: + WORDPRESS_DB_HOST: srv-captain--$$cap_appname-db:3306 + WORDPRESS_DB_USER: $$cap_db_user + WORDPRESS_DB_PASSWORD: $$cap_db_pass caproverOneClickApp: - variables: - - id: $$cap_db_user - label: Database user - defaultValue: wordpressuser - validRegex: /^([a-zA-Z0-9])+$/ - - id: $$cap_db_pass - label: Database password - description: "" - validRegex: /.{1,}/ - - id: $$cap_wp_version - label: WordPress Version - defaultValue: "4.9" - description: Check out their Docker page for the valid tags https://hub.docker.com/r/library/wordpress/tags/ - validRegex: /^([^\s^\/])+$/ - - id: $$cap_db_type - label: Database Type - defaultValue: mysql - description: You can either choose mariadb or mysql, you need to change the version according to which DB is selected. It is case sensitive. - validRegex: /^(mysql|mariadb)$/ - - id: $$cap_database_version - label: Database Version, default is MySQL - defaultValue: "5.7" - description: Check out the Docker pages for the valid tags https://hub.docker.com/r/library/mysql/tags/ or https://hub.docker.com/_/mariadb?tab=tags - validRegex: /^([^\s^\/])+$/ - instructions: - start: >- - WordPress is an online, open source website creation tool written in PHP. But in non-geek speak, it’s probably the easiest and most powerful blogging and website content management system (or CMS) in existence today. + variables: + - id: $$cap_db_user + label: Database user + defaultValue: wordpressuser + validRegex: /^([a-zA-Z0-9])+$/ + - id: $$cap_db_pass + label: Database password + description: '' + validRegex: /.{1,}/ + - id: $$cap_wp_version + label: WordPress Version + defaultValue: '4.9' + description: Check out their Docker page for the valid tags https://hub.docker.com/r/library/wordpress/tags/ + validRegex: /^([^\s^\/])+$/ + - id: $$cap_db_type + label: Database Type + defaultValue: mysql + description: You can either choose mariadb or mysql, you need to change the version according to which DB is selected. It is case sensitive. + validRegex: /^(mysql|mariadb)$/ + - id: $$cap_database_version + label: Database Version, default is MySQL + defaultValue: '5.7' + description: Check out the Docker pages for the valid tags https://hub.docker.com/r/library/mysql/tags/ or https://hub.docker.com/_/mariadb?tab=tags + validRegex: /^([^\s^\/])+$/ + instructions: + start: >- + WordPress is an online, open source website creation tool written in PHP. But in non-geek speak, it’s probably the easiest and most powerful blogging and website content management system (or CMS) in existence today. - Enter your WordPress Configuration parameters and click on next. A MySQL (database) and a WordPress container will be created for you. The process will take about a minute for the process to finish. - end: > - Wordpress is deployed and available as $$cap_appname-wordpress . + Enter your WordPress Configuration parameters and click on next. A MySQL (database) and a WordPress container will be created for you. The process will take about a minute for the process to finish. + end: > + Wordpress is deployed and available as $$cap_appname-wordpress . - IMPORTANT: It will take up to 2 minutes for WordPress to be ready. Before that, you might see a 502 error page. - displayName: WordPress - isOfficial: true - description: WordPress is a content management system based on PHP and MySQL that is usually used with the MySQL or MariaDB database - documentation: Taken from https://docs.docker.com/compose/wordpress/. Port mapping removed from WP as it is no longer needed + IMPORTANT: It will take up to 2 minutes for WordPress to be ready. Before that, you might see a 502 error page. + displayName: WordPress + isOfficial: true + description: WordPress is a content management system based on PHP and MySQL that is usually used with the MySQL or MariaDB database + documentation: Taken from https://docs.docker.com/compose/wordpress/. Port mapping removed from WP as it is no longer needed