diff --git a/public/v4/apps/ackee.yml b/public/v4/apps/ackee.yml deleted file mode 100644 index 15517b3..0000000 --- a/public/v4/apps/ackee.yml +++ /dev/null @@ -1,59 +0,0 @@ -captainVersion: 4 -services: - # Ackee - $$cap_appname: - depends_on: - - $$cap_appname-mongodb - image: electerious/ackee:$$cap_ackee_version - restart: always - environment: - WAIT_HOSTS: srv-captain--$$cap_appname-mongodb:27017 - ACKEE_MONGODB: mongodb://srv-captain--$$cap_appname-mongodb/ackee - ACKEE_USERNAME: $$cap_ackee_username - ACKEE_PASSWORD: $$cap_ackee_passwd - ACKEE_ALLOW_ORIGIN: $$cap_ackee_access_origin - caproverExtra: - containerHttpPort: '3000' - # MongoDB - $$cap_appname-mongodb: - image: mongo:$$cap_mongo_version - volumes: - - $$cap_appname-db-data:/data/db - restart: always - caproverExtra: - notExposeAsWebApp: 'true' -caproverOneClickApp: - variables: - - id: $$cap_ackee_version - label: Ackee Version - defaultValue: '2.3.0' - description: Check out their docker page for the valid tags https://hub.docker.com/r/electerious/ackee/tags - validRegex: /^([^\s^\/])+$/ - - id: $$cap_ackee_username - label: Ackee Admin User - defaultValue: '' - description: 'Username for Ackee' - - id: $$cap_ackee_passwd - label: Ackee Admin Password - defaultValue: '' - description: 'Your super secret Password for Ackee' - validRegex: /^([^\s^\/])+$/ - - id: $$cap_ackee_access_origin - label: CORS headers - defaultValue: 'https://example.com,https://example2.com' - description: 'Ackee requires correct CORS headers. Please read https://docs.ackee.electerious.com/#/docs/CORS%20headers#heroku-or-platforms-as-a-service-configuration' - - id: $$cap_mongo_version - label: MongoDB Version - defaultValue: '4.0.20' - description: Check out their docker page for the valid tags https://hub.docker.com/r/library/mongo/tags/ - validRegex: /^([^\s^\/])+$/ - instructions: - start: >- - Ackee is a self-hosted analytics tool that cares about privacy. We believe that you don't need to track every aspect of your visitors. Ackee keeps tracked data anonymized to avoid that users are identifiable, while still providing helpful insights. It's the right tool for everyone who doesn't need a full-featured marketing analytics platform like Google Analytics or Matomo. - end: >- - Aaaand you're done! πŸ˜„ - Your service is available at http://$$cap_appname.$$cap_root_domain - displayName: 'Ackee' - isOfficial: true - description: Self-hosted, Node.js based analytics tool for those who care about privacy. - documentation: Taken from https://hub.docker.com/r/electerious/ackee diff --git a/public/v4/apps/adguard-home.yml b/public/v4/apps/adguard-home.yml deleted file mode 100644 index c1ed230..0000000 --- a/public/v4/apps/adguard-home.yml +++ /dev/null @@ -1,40 +0,0 @@ -captainVersion: 4 -services: - # AdGuard - $$cap_appname: - image: adguard/adguardhome:$$cap_adguard_version - restart: always - ports: - - 53:53 - - 67:67 - - 68:68 - - 853:853 - volumes: - - $$cap_appname-work:/opt/adguardhome/work - - $$cap_appname-conf:/opt/adguardhome/conf - caproverExtra: - containerHttpPort: '3000' -caproverOneClickApp: - variables: - - id: $$cap_adguard_version - label: AdGuard Home Version - defaultValue: 'v0.104.3' - description: Check out their docker page for the valid tags https://hub.docker.com/r/adguard/adguardhome/tags - instructions: - start: >- - AdGuard Home is a fast and easy way to block ads on any device and protect kids online! - end: >- - Aaaand you're done! πŸ˜„ - - Now enable https and force https from HTTP Settings tabs - After that visit https://$$cap_appname.$$cap_root_domain - And follow the installation steps - Make sure to change port 80 to 3000 in the installation steps - - After you are done you will be redirected to $$cap_appname.$$cap_root_domain:3000 - Just remove 3000 from the url and visit $$cap_appname.$$cap_root_domain - You will be redirected to https://$$cap_appname.$$cap_root_domain/login.html - displayName: 'AdGuard Home' - isOfficial: true - description: AdGuard Home is a fast and easy way to block ads on any device and protect kids online! - documentation: Taken from https://hub.docker.com/r/adguard/adguardhome diff --git a/public/v4/apps/adminer.yml b/public/v4/apps/adminer.yml deleted file mode 100644 index 660e745..0000000 --- a/public/v4/apps/adminer.yml +++ /dev/null @@ -1,37 +0,0 @@ -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' -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. - - 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 ' diff --git a/public/v4/apps/akaunting.yml b/public/v4/apps/akaunting.yml deleted file mode 100644 index 5541026..0000000 --- a/public/v4/apps/akaunting.yml +++ /dev/null @@ -1,81 +0,0 @@ -captainVersion: 4 -services: - # Akaunting - $$cap_appname: - depends_on: - - $$cap_appname-db - image: akaunting/akaunting:$$cap_app_version - restart: always - environment: - APP_URL: http://$$cap_appname.$$cap_root_domain - LOCALE: en-US - AKAUNTING_SETUP: true - DB_HOST: srv-captain--$$cap_appname-db - DB_PORT: 3306 - DB_USERNAME: akaunting - DB_DATABASE: akaunting - DB_PASSWORD: $$cap_db_pass - DB_PREFIX: $$cap_db_prefix - COMPANY_NAME: $$cap_company_name - COMPANY_EMAIL: $$cap_company_email - ADMIN_EMAIL: $$cap_admin_email - ADMIN_PASSWORD: $$cap_admin_password - volumes: - - $$cap_appname-data:/akaunting-data - - $$cap_appname-modules:/akaunting-modules - # Database - $$cap_appname-db: - image: mariadb:10.5.9 - volumes: - - $$cap_appname-db:/var/lib/mysql/data - restart: always - environment: - MYSQL_ROOT_PASSWORD: $$cap_db_pass - MYSQL_USER: akaunting - MYSQL_PASSWORD: $$cap_db_pass - MYSQL_DATABASE: akaunting - caproverExtra: - notExposeAsWebApp: 'true' -caproverOneClickApp: - variables: - - id: $$cap_app_version - label: Akaunting Version - defaultValue: '2.1.8' - description: Check out their docker page for the valid tags https://hub.docker.com/r/akaunting/akaunting/tags - - - id: $$cap_db_pass - label: Database Password - defaultValue: $$cap_gen_random_hex(16) - - - id: $$cap_db_prefix - label: Database Prefix - defaultValue: 'aka_' - - - id: $$cap_company_name - label: Company Name - description: OPTIONAL - - - id: $$cap_company_email - label: Company Email - description: OPTIONAL - - - id: $$cap_admin_email - label: Admin Email - defaultValue: 'admin@company.com' - description: This will be your default login username - - - id: $$cap_admin_password - label: Admin Password - defaultValue: $$cap_gen_random_hex(16) - description: This will be your default login password - - instructions: - start: >- - From invoicing to expense tracking to accounting, Akaunting has all the tools you need to manage your money online, for free. - end: >- - Done! πŸ˜„ - Your service is available at http://$$cap_appname.$$cap_root_domain - displayName: 'Akaunting' - isOfficial: true - description: From invoicing to expense tracking to accounting, Akaunting has all the tools you need to manage your money online, for free. - documentation: https://akaunting.com/docs diff --git a/public/v4/apps/appsmith-only.yml b/public/v4/apps/appsmith-only.yml deleted file mode 100644 index 76bf4f7..0000000 --- a/public/v4/apps/appsmith-only.yml +++ /dev/null @@ -1,73 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname-editor: - restart: always - environment: - APPSMITH_REDIS_URL: srv-captain--$$cap_appname-redis - APPSMITH_MONGODB_URI: $$cap_db_uri - depends_on: - - $$cap_appname-server - caproverExtra: - dockerfileLines: - - FROM index.docker.io/appsmith/appsmith-editor:$$cap_appsmith_editor_version - - # modifying default appsmith (localhost install) nginx configuration for caprover - - CMD [ "sh", "-c", "wget https://gist.githubusercontent.com/aqidd/6fc0a369a268d89ccf8c21408c4f6169/raw/11e3167d339f9ecfd017ae5748fb079e66cab0a1/appsmith-local.conf && sed 's/appsmith-internal-server/srv-captain--$$cap_appname-server/g' appsmith-local.conf > /nginx.conf.template && /start-nginx.sh" ] - $$cap_appname-server: - image: index.docker.io/appsmith/appsmith-server:$$cap_appsmith_server_version - restart: always - environment: - APPSMITH_REDIS_URL: redis://srv-captain--$$cap_appname-redis:6379 - APPSMITH_MONGODB_URI: $$cap_db_uri - APPSMITH_ENCRYPTION_PASSWORD: $$cap_ENCRYPTION_PASSWORD - APPSMITH_ENCRYPTION_SALT: $$cap_ENCRYPTION_SALT - caproverExtra: - containerHttpPort: '8080' - notExposeAsWebApp: 'true' - $$cap_appname-redis: - image: redis:3.2 - volumes: - - $$cap_appname-redis:/data - caproverExtra: - notExposeAsWebApp: 'true' -caproverOneClickApp: - variables: - - description: Your previous mongodb with Appsmith data - id: $$cap_db_uri - label: MongoDB URI - - id: $$cap_appsmith_server_version - label: Appsmith Server Version - defaultValue: v1.2.22 - description: Check out their Docker page for the valid tags https://hub.docker.com/r/appsmith/appsmith-server/tags - validRegex: /^([^\s^\/])+$/ - - id: $$cap_appsmith_editor_version - label: Appsmith Editor Version - defaultValue: v1.2.22 - description: Check out their Docker page for the valid tags https://hub.docker.com/r/appsmith/appsmith-editor/tags - validRegex: /^([^\s^\/])+$/ - - id: $$cap_ENCRYPTION_PASSWORD - label: APPSMITH ENCRYPTION PASSWORD - description: Appsmith encryption password - defaultValue: $$cap_gen_random_hex(16) - - id: $$cap_ENCRYPTION_SALT - label: APPSMITH ENCRYPTION SALT - description: Appsmith encryption salt - defaultValue: $$cap_gen_random_hex(16) - instructions: - start: >- - Appsmith is the fastest way to build internal apps over any database or API. - - This app is intended for an installation without database. - - PREREQUISITE: - - MongoDB database with initial appsmith installation data. - end: >- - Appsmith is deployed and available as $$cap_appname. - - Remember that this app will not create a Database by itself. You need to provide all that information. - - Don't forget to also sync the encryption values and other configuration from the previous appsmith installation https://github.com/appsmithorg/appsmith/blob/release/deploy/template/docker.env.sh. - displayName: Appsmith - No Database - isOfficial: true - description: This will create an Appsmith instance only. You will need to create and configure the database information manually. Intended for advanced users. - documentation: Modified from https://github.com/appsmithorg/appsmith/tree/release/deploy/template. diff --git a/public/v4/apps/arangodb.yml b/public/v4/apps/arangodb.yml deleted file mode 100644 index 59d4872..0000000 --- a/public/v4/apps/arangodb.yml +++ /dev/null @@ -1,30 +0,0 @@ -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' -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 diff --git a/public/v4/apps/bitwardenrs.yml b/public/v4/apps/bitwardenrs.yml deleted file mode 100644 index e34c15d..0000000 --- a/public/v4/apps/bitwardenrs.yml +++ /dev/null @@ -1,47 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - image: bitwardenrs/server:$$cap_bitwardenrs_version - environment: - DOMAIN: https://$$cap_appname.$$cap_root_domain - WEBSOCKET_ENABLED: true - SIGNUPS_ALLOWED: $$cap_register_enabled - ADMIN_TOKEN: $$cap_admin_token - ports: - - 3012:3012 - volumes: - - $$cap_appname-data:/data - restart: unless-stopped -caproverOneClickApp: - variables: - - id: $$cap_bitwardenrs_version - label: Bitwarden_rs Version - defaultValue: 1.20.0 - description: Check out their Docker page for the valid tags https://hub.docker.com/r/bitwardenrs/server/tags - validRegex: /^([^\s^\/])+$/ - - id: $$cap_register_enabled - label: enabled open registration - defaultValue: true - description: If field is true, all visitors can create an account. If false, only the administrator can invite other users. - validRegex: /^(true|false)$/ - - id: $$cap_admin_token - label: admin password - defaultValue: - description: this password enables the admin zone on /admin. If you let this password empty, the admin interface will be disabled and it will be the best safety option. - 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. - - This project is not associated with the Bitwarden project nor 8bit Solutions LLC. - - if you want more details please go to https://www.reddit.com/r/selfhosted/comments/fvld0n/bitwarden_vs_bitwarden_rs/ - 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 (even if the logs say it's working). - - Please activate https and https redirect otherwise you will have an error on account creation. You need to enable websocket too. - - If you enabled the admin token please go to https://$$cap_appname.$$cap_root_domain/admin to begin - 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/bookstack.yml b/public/v4/apps/bookstack.yml deleted file mode 100644 index 095b56d..0000000 --- a/public/v4/apps/bookstack.yml +++ /dev/null @@ -1,60 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname-mariadb: - image: linuxserver/mariadb:110.4.14mariabionic-ls77 - environment: - MYSQL_ROOT_PASSWORD: $$cap_DB_PASS - MYSQL_DATABASE: bookstack - MYSQL_USER: bookstack - MYSQL_PASSWORD: $$cap_DB_PASS - PGID: 1000 - PUID: 1000 - TZ: $$cap_timezone - volumes: - - $$cap_appname-mariadb-config:/config - caproverExtra: - notExposeAsWebApp: 'true' - $$cap_appname: - environment: - DB_HOST: srv-captain--$$cap_appname-mariadb - DB_USER: bookstack - DB_PASS: $$cap_DB_PASS - DB_DATABASE: bookstack - DB_PORT: 3306 - PGID: 1000 - PUID: 1000 - TZ: $$cap_timezone - APP_URL: http://$$cap_appname.$$cap_root_domain - image: linuxserver/bookstack:$$cap_bookstack_version - restart: always - volumes: - - $$cap_appname-config:/config -caproverOneClickApp: - variables: - - label: Database Password - description: Password to connect to the database - defaultValue: $$cap_gen_random_hex(16) - id: $$cap_DB_PASS - - label: Timezone - description: This is the timezone for the application, find yours at https://en.wikipedia.org/wiki/List_of_tz_database_time_zones - defaultValue: Europe/London - id: $$cap_timezone - - id: $$cap_bookstack_version - label: Version Tag - description: Check out their Docker page for the valid tags https://hub.docker.com/r/linuxserver/bookstack/tags - defaultValue: 'v0.29.3-ls99' - instructions: - start: |- - A platform to create documentation/wiki content built with PHP & Laravel. - - GitHub: https://github.com/BookStackApp/BookStack - end: |- - Aaaand you're done! πŸ˜„ - - Your service is available at http://$$cap_appname.$$cap_root_domain - - The default username is admin@admin.com with the password of password. - displayName: BookStack - isOfficial: true - description: A platform to create documentation/wiki content built with PHP & Laravel - documentation: https://www.bookstackapp.com/docs/ diff --git a/public/v4/apps/cachet.yml b/public/v4/apps/cachet.yml deleted file mode 100644 index d70808e..0000000 --- a/public/v4/apps/cachet.yml +++ /dev/null @@ -1,54 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname-postgres: - image: postgres:12-alpine - environment: - POSTGRES_USER: postgres - POSTGRES_PASSWORD: $$cap_DB_PASS - volumes: - - $$cap_appname-postgres-data:/var/lib/postgresql/data - caproverExtra: - notExposeAsWebApp: 'true' - $$cap_appname: - image: cachethq/docker:$$cap_cachet_version - environment: - DB_DRIVER: pgsql - DB_HOST: srv-captain--$$cap_appname-postgres - DB_PORT: 5432 - DB_DATABASE: postgres - DB_USERNAME: postgres - DB_PASSWORD: $$cap_DB_PASS - DB_PREFIX: chq_ - APP_KEY: $$cap_gen_random_hex(32) - APP_LOG: errorlog - APP_ENV: production - APP_DEBUG: false - DEBUG: false - restart: always - caproverExtra: - containerHttpPort: '8000' -caproverOneClickApp: - variables: - - label: Database Password - description: Password to connect to the database - defaultValue: $$cap_gen_random_hex(16) - id: $$cap_DB_PASS - - id: $$cap_cachet_version - label: Version Tag - description: Check out their Docker page for the valid tags https://hub.docker.com/r/cachethq/docker/tags - defaultValue: '2.3.15' - instructions: - start: |- - πŸ“› An open source status page system for everyone. - - GitHub: https://github.com/CachetHQ/Cachet - end: |- - Aaaand you're done! πŸ˜„ - - Your service is available at http://$$cap_appname.$$cap_root_domain - - If you need help with installation check out the docs! https://docs.cachethq.io/docs - displayName: Cachet - isOfficial: true - description: An open source status page system for everyone. - documentation: https://docs.cachethq.io/docs diff --git a/public/v4/apps/changedetection.yml b/public/v4/apps/changedetection.yml deleted file mode 100644 index 5cb0478..0000000 --- a/public/v4/apps/changedetection.yml +++ /dev/null @@ -1,28 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - image: dgtlmoon/changedetection.io:$$cap_version - volumes: - - '$$cap_appname-data:/datastore' - caproverExtra: - containerHttpPort: '5000' -caproverOneClickApp: - variables: - - id: $$cap_version - label: ChangeDetection.io version - defaultValue: 0.27 - description: 'Check out their docker page for the valid tags https://hub.docker.com/r/dgtlmoon/changedetection.io/tags' - instructions: - start: >- - Self-hosted website change detection monitoring. - For more info visit https://github.com/dgtlmoon/changedetection.io - end: |- - ChangeDetection.io has been successfully deployed! - App is available as http://$$cap_appname.$$cap_root_domain. - Don't forget to use Caprover's HTTP Basic Auth to protect your app. - displayName: ChangeDetection.io - isOfficial: false - description: >- - ChangeDetection.io is the self-hosted website change detection monitoring. - documentation: >- - This docker-compose is taken from https://github.com/dgtlmoon/changedetection.io diff --git a/public/v4/apps/chaskiq.yml b/public/v4/apps/chaskiq.yml deleted file mode 100644 index 0d05a62..0000000 --- a/public/v4/apps/chaskiq.yml +++ /dev/null @@ -1,158 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname-postgres: - image: postgres:12 - volumes: - - $$cap_appname-postgres-data:/var/lib/postgresql/data - restart: always - environment: - POSTGRES_USER: chaskiq - POSTGRES_PASSWORD: $$cap_chaskiq_postgres_password - POSTGRES_DB: chaskiq - caproverExtra: - notExposeAsWebApp: 'true' - $$cap_appname-redis: - volumes: - - $$cap_appname-redis-data:/data - restart: always - environment: - REDIS_PASSWORD: $$cap_chaskiq_redis_password - caproverExtra: - dockerfileLines: - - FROM redis:alpine - - CMD exec redis-server --requirepass "$$cap_chaskiq_redis_password" - notExposeAsWebApp: 'true' - $$cap_appname-web: - restart: always - environment: - HOST: https://$$cap_appname-web.$$cap_root_domain - WS: wss://$$cap_appname-web.$$cap_root_domain/cable - RAILS_ENV: production - RAILS_LOG_TO_STDOUT: 'true' - RAILS_SERVE_STATIC_FILES: 'true' - SECRET_KEY_BASE: $$cap_chaskiq_secret_key_base - ADMIN_EMAIL: $$cap_ADMIN_USER_EMAIL - ADMIN_PASSWORD: $$cap_ADMIN_PASSWORD - DATABASE_URL: postgres://chaskiq:$$cap_chaskiq_postgres_password@srv-captain--$$cap_appname-postgres:5432/chaskiq - REDIS_URL: redis://default:$$cap_chaskiq_redis_password@srv-captain--$$cap_appname-redis:6379 - AWS_ACCESS_KEY_ID: $$cap_chaskiq_aws_key_id - AWS_SECRET_ACCESS_KEY: $$cap_chaskiq_aws_access_key - AWS_S3_BUCKET: $$cap_chaskiq_aws_s3_bucket - AWS_S3_REGION: $$cap_chaskiq_aws_s3_region - GEOCODER_API_KEY: $$cap_chaskiq_geocoder_api_key - DEFAULT_GEOCODER_SERVICE: $$cap_chaskiq_geocoder_service - SCOUT_KEY: $$cap_chaskiq_scoutapp_key - DEFAULT_OUTGOING_EMAIL_DOMAIN: $$cap_chaskiq_default_ongoing_domain - DEFAULT_SENDER_EMAIL: $$cap_chaskiq_default_sender_email - - caproverExtra: - containerHttpPort: '3000' - dockerfileLines: - - FROM chaskiq/chaskiq:$$cap_chaskiq_version - - EXPOSE 3000 - - CMD bundle exec rails db:setup; bundle exec rails admin_generator; bundle exec rails s -b 0.0.0.0 -p 3000 - $$cap_appname-worker: - restart: always - environment: - HOST: https://$$cap_appname.$$cap_root_domain - WS: wss://$$cap_appname.$$cap_root_domain/cable - RAILS_ENV: production - RAILS_LOG_TO_STDOUT: 'true' - SECRET_KEY_BASE: $$cap_chaskiq_secret_key_base - ADMIN_EMAIL: $$cap_ADMIN_USER_EMAIL - ADMIN_PASSWORD: $$cap_ADMIN_PASSWORD - DATABASE_URL: postgres://chaskiq:$$cap_chaskiq_postgres_password@srv-captain--$$cap_appname-postgres:5432/chaskiq - REDIS_URL: redis://default:$$cap_chaskiq_redis_password@srv-captain--$$cap_appname-redis:6379 - AWS_ACCESS_KEY_ID: $$cap_chaskiq_aws_key_id - AWS_SECRET_ACCESS_KEY: $$cap_chaskiq_aws_access_key - AWS_S3_BUCKET: $$cap_chaskiq_aws_s3_bucket - AWS_S3_REGION: $$cap_chaskiq_aws_s3_region - GEOCODER_API_KEY: $$cap_chaskiq_geocoder_api_key - DEFAULT_GEOCODER_SERVICE: $$cap_chaskiq_geocoder_service - SCOUT_KEY: $$cap_chaskiq_scoutapp_key - DEFAULT_OUTGOING_EMAIL_DOMAIN: $$cap_chaskiq_default_ongoing_domain - DEFAULT_SENDER_EMAIL: $$cap_chaskiq_default_sender_email - - caproverExtra: - dockerfileLines: - - FROM chaskiq/chaskiq:$$cap_chaskiq_version - - CMD bundle exec sidekiq -C config/sidekiq.yml - notExposeAsWebApp: 'true' -caproverOneClickApp: - variables: - - id: $$cap_chaskiq_version - label: Chaskiq Version Tag - description: You can use latest tag or check version builds on https://hub.docker.com/r/chaskiq/chaskiq/tags - defaultValue: 9009088 - - defaultValue: 'admin@example.com' - description: This is the admin email. Please change it. - id: $$cap_ADMIN_USER_EMAIL - label: Admin Email - validRegex: /^([^\s^\/])+$/ - - id: $$cap_ADMIN_PASSWORD - description: This is the admin password. Change it if you will. - defaultValue: $$cap_gen_random_hex(12) - label: Admin Password - validRegex: /^[^\@]{12,}$/ - - id: $$cap_chaskiq_default_sender_email - label: Default sender email - description: 'Default email sender, like: notifications@mail.yourapp.com' - validRegex: /^([^\s^\/])+$/ - - id: $$cap_chaskiq_default_ongoing_domain - label: Default deliver domain - description: For multiple email deliver tasks, like mail.yourdomain.com - - id: $$cap_chaskiq_secret_key_base - defaultValue: $$cap_gen_random_hex(64) - label: Chaskiq 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_chaskiq_postgres_password - defaultValue: $$cap_gen_random_hex(12) - label: Postgres Password - description: Password must be at least 12 characters. Please use a random string. - validRegex: /^[^\@]{12,}$/ - - id: $$cap_chaskiq_redis_password - defaultValue: $$cap_gen_random_hex(12) - label: Redis Password - description: Password must be at least 12 characters. Please use a random string. - validRegex: /^[^\@]{12,}$/ - - id: $$cap_chaskiq_aws_key_id - label: AWS access key id - description: Amazon access key id (for file storage and email dispatching S3 / SES / SNS) - - id: $$cap_chaskiq_aws_access_key - label: AWS access key - description: Amazon access key (for file storage and email dispatching S3 / SES / SNS) - - id: $$cap_chaskiq_aws_s3_bucket - label: AWS S3 bucket - description: Amazon S3 bucket name - - id: $$cap_chaskiq_aws_s3_region - label: AWS bucket region - description: 'AWS S3 bucket region like: us-east-1' - - id: $$cap_chaskiq_aws_sns_configuration_set - label: SNS configuration set - description: This is important for chaskiq to receive emails (optional) - - id: $$cap_chaskiq_scoutapp_key - label: Scout app key - description: Scout AMP key, for performance & error monitoring (optional) - - id: $$cap_chaskiq_bugsnag_key - label: Bugsnag API key - description: Bugsnag API key for error reporting (optional) - - id: $$cap_chaskiq_geocoder_service - defaultValue: maxmind_local - label: Geocoder service name, like (maxmind, ip_info, baidu, yandex) - description: The complete list of services can be found at https://github.com/alexreisner/geocoder/tree/master/lib/geocoder/lookups - - id: $$cap_chaskiq_geocoder_api_key - label: Geocoder API key - description: leave this empty if maxmind_local service is set - - instructions: - start: A full featured Live Chat, Support & Marketing platform https://chaskiq.io - end: >- - Your Chaskiq instance is now successfully deployed. - The admin account was created, just log in with those credentials. - The app will need to be served over SSL, activate HTTPS on the domain and websocket support. - - displayName: Chaskiq - isOfficial: true - description: A full-featured Live Chat, Support & Marketing platform - documentation: 'Read more at: https://dev.chaskiq.io' diff --git a/public/v4/apps/chatwoot.yml b/public/v4/apps/chatwoot.yml deleted file mode 100644 index 7a2b230..0000000 --- a/public/v4/apps/chatwoot.yml +++ /dev/null @@ -1,91 +0,0 @@ -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: - RAILS_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:chatwoot_prepare; bundle exec rails s -b 0.0.0.0 -p 3000 - $$cap_appname-worker: - restart: always - environment: - RAILS_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: Choose the latest version from https://hub.docker.com/r/chatwoot/chatwoot/tags - defaultValue: v1.13.1 - - 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. - - 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/chevereto.yml b/public/v4/apps/chevereto.yml deleted file mode 100644 index 9c93550..0000000 --- a/public/v4/apps/chevereto.yml +++ /dev/null @@ -1,76 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - depends_on: - - $$cap_appname-mariadb - image: nmtan/chevereto:$$cap_chevereto_version - restart: 'always' - environment: - TZ: $$cap_tz - PUID: $$cap_puid - PGID: $$cap_guid - CHEVERETO_DB_HOST: srv-captain--$$cap_appname-mariadb - CHEVERETO_DB_USERNAME: $$cap_mariadb-user - CHEVERETO_DB_PASSWORD: $$cap_mariadb-pass - CHEVERETO_DB_NAME: $$cap_mariadb-db - volumes: - - $$cap_appname-images:/var/www/html/images - # MariaDB - $$cap_appname-mariadb: - image: mariadb:$$cap_mariadb_version - environment: - MYSQL_RANDOM_ROOT_PASSWORD: '1' - MYSQL_DATABASE: $$cap_mariadb-db - MYSQL_USER: $$cap_mariadb-user - MYSQL_PASSWORD: $$cap_mariadb-pass - volumes: - - $$cap_appname-mariadb-data:/var/lib/mysql - restart: unless-stopped - caproverExtra: - notExposeAsWebApp: 'true' -caproverOneClickApp: - variables: - - id: $$cap_tz - label: Timezone - description: This is the timezone for the application, find yours at https://en.wikipedia.org/wiki/List_of_tz_database_time_zones - defaultValue: Europe/Brussels - - id: $$cap_chevereto_version - label: Version Tag - description: Check out their Docker page for the valid tags https://hub.docker.com/r/nmtan/chevereto/tags - defaultValue: 'installer' - - id: $$cap_puid - label: User ID - defaultValue: '1000' - description: User ID that the process uses, run (id $user) in your instance to see the id - validRegex: /.{1,}/ - - id: $$cap_guid - label: Group ID - defaultValue: '1000' - description: Group ID that the process uses, run (id $user) in your instance to see the id - validRegex: /.{1,}/ - - id: $$cap_mariadb_version - label: MariaDB Version - defaultValue: '10.5.6' - description: Check out their docker page for the valid tags https://hub.docker.com/r/library/mariadb/tags/ - validRegex: /^([^\s^\/])+$/ - - id: $$cap_mariadb-db - label: MariaDB Database - description: Database name for Chevereto - defaultValue: 'chevereto' - - id: $$cap_mariadb-user - label: MariaDB User - description: Database User for Chevereto - defaultValue: 'chevereto' - - id: $$cap_mariadb-pass - label: MariaDB database user password - description: Super secret database user password - instructions: - start: |- - Chevereto is a powerful and fast image hosting script that allows you to create your very own full featured image hosting website in just minutes. - end: |- - Aaaand you're done! πŸ˜„ - Your service is available at http://$$cap_appname.$$cap_root_domain - displayName: Chevereto - isOfficial: false - description: Chevereto is a powerful and fast image hosting script that allows you to create your very own full featured image hosting website in just minutes. - documentation: https://github.com/tanmng/docker-chevereto diff --git a/public/v4/apps/cockpit.yml b/public/v4/apps/cockpit.yml deleted file mode 100644 index c3226bc..0000000 --- a/public/v4/apps/cockpit.yml +++ /dev/null @@ -1,23 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - image: agentejo/cockpit:$$cap_cockpit_version - volumes: - - $$cap_appname-storage:/var/www/html/storage - restart: always -caproverOneClickApp: - variables: - - id: $$cap_cockpit_version - label: cockpit version tag - description: Check out 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 diff --git a/public/v4/apps/codimd.yml b/public/v4/apps/codimd.yml deleted file mode 100644 index f88dd76..0000000 --- a/public/v4/apps/codimd.yml +++ /dev/null @@ -1,55 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname-mariadb: - image: linuxserver/mariadb:110.4.14mariabionic-ls77 - environment: - MYSQL_ROOT_PASSWORD: $$cap_DB_PASS - MYSQL_DATABASE: codimd - MYSQL_USER: codimd - MYSQL_PASSWORD: $$cap_DB_PASS - PGID: 1000 - PUID: 1000 - TZ: $$cap_timezone - volumes: - - $$cap_appname-mariadb-config:/config - caproverExtra: - notExposeAsWebApp: 'true' - $$cap_appname: - environment: - DB_HOST: srv-captain--$$cap_appname-mariadb - DB_USER: codimd - DB_PASS: $$cap_DB_PASS - DB_NAME: codimd - DB_PORT: 3306 - PGID: 1000 - PUID: 1000 - TZ: $$cap_timezone - image: linuxserver/codimd:1.6.0-ls44 - restart: always - volumes: - - $$cap_appname-config:/config - caproverExtra: - containerHttpPort: '3000' -caproverOneClickApp: - variables: - - label: Database Password - description: Password to connect to the database - defaultValue: $$cap_gen_random_hex(16) - id: $$cap_DB_PASS - - label: Timezone - description: This is the timezone for the application, find yours at https://en.wikipedia.org/wiki/List_of_tz_database_time_zones - defaultValue: Europe/London - id: $$cap_timezone - instructions: - start: |- - Realtime collaborative Markdown notes on all platforms. - - GitHub: https://github.com/hackmdio/codimd - end: |- - Aaaand you're done! πŸ˜„ - - Your service is available as $$cap_appname - displayName: CodiMD - isOfficial: true - description: Realtime collaborative Markdown notes on all platforms - documentation: https://hackmd.io/c/codimd-documentation diff --git a/public/v4/apps/collabora-online.yml b/public/v4/apps/collabora-online.yml deleted file mode 100644 index 42d247d..0000000 --- a/public/v4/apps/collabora-online.yml +++ /dev/null @@ -1,65 +0,0 @@ -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' -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: Check out 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. - - 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. - - - IMPORTANT: You need do 5 manual steps before access. - - 1 - Enable websocket on HTTP settings tab - - 2 - Add the "proxy_read_timeout 36000s;" instruction below "proxy_http_version 1.1;" - - 3 - Enable and force HTTPS and wait few minutes. - - 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 - - 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/commento.yml b/public/v4/apps/commento.yml deleted file mode 100644 index 66fee86..0000000 --- a/public/v4/apps/commento.yml +++ /dev/null @@ -1,44 +0,0 @@ -captainVersion: 4 -services: - # Commento - $$cap_appname: - image: registry.gitlab.com/commento/commento@$$cap_commento_version - restart: always - environment: - COMMENTO_ORIGIN: https://$$cap_appname.$$cap_root_domain - COMMENTO_POSTGRES: postgres://commento:$$cap_commento_postgres_password@srv-captain--$$cap_appname-postgres:5432/commento?sslmode=disable - caproverExtra: - containerHttpPort: '8080' - # Postgres - $$cap_appname-postgres: - image: postgres:12 - volumes: - - $$cap_appname-postgres-data:/var/lib/postgresql/data - restart: always - environment: - POSTGRES_USER: commento - POSTGRES_PASSWORD: $$cap_commento_postgres_password - POSTGRES_DB: commento - caproverExtra: - notExposeAsWebApp: 'true' -caproverOneClickApp: - variables: - - id: $$cap_commento_version - label: Commento Manifest digest - defaultValue: 'sha256:e792ac5c384ca7d45bfc228ef6ec3084a54af98847ee75a8aac7aa720f4f87a2' - description: Starts with 'sha256:'. Find on https://gitlab.com/commento/commento/container_registry/337942 - - id: $$cap_commento_postgres_password - label: Postgres Password - description: Password must be at least 12 characters. Please use a random string. - validRegex: /^[^\@]{12,}$/ - instructions: - start: >- - Commento is a fast, privacy-focused commenting platform. - end: >- - Aaaand you're done! πŸ˜„ - Your service is available at http://$$cap_appname.$$cap_root_domain - More environment variables can be found at https://docs.commento.io/configuration/backend/ - displayName: 'Commento' - isOfficial: true - description: Commento is a fast, privacy-focused commenting platform. - documentation: https://docs.commento.io/ diff --git a/public/v4/apps/coral.yml b/public/v4/apps/coral.yml deleted file mode 100644 index 426bb5a..0000000 --- a/public/v4/apps/coral.yml +++ /dev/null @@ -1,50 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname-mongo: - image: mongo:4.2 - volumes: - - $$cap_appname-mongo:/data/db - caproverExtra: - notExposeAsWebApp: 'true' - $$cap_appname-redis: - image: redis:3.2 - volumes: - - $$cap_appname-redis:/data - caproverExtra: - notExposeAsWebApp: 'true' - $$cap_appname-talk: - depends_on: - - $$cap_appname-mongo - - $$cap_appname-redis - image: coralproject/talk:$$cap_talk_version - restart: always - caproverExtra: - containerHttpPort: '5000' - environment: - MONGODB_URI: 'mongodb://srv-captain--$$cap_appname-mongo:27017/coral' - REDIS_URI: 'redis://srv-captain--$$cap_appname-redis:6379' - SIGNING_SECRET: $$cap_signing_secret -caproverOneClickApp: - variables: - - id: $$cap_signing_secret - label: Signing Secret - defaultValue: $$cap_gen_random_hex(32) - description: '' - validRegex: /.{1,}/ - - id: $$cap_talk_version - label: Coral Talk Version - defaultValue: '6' - description: Check out their Docker page for the valid tags https://hub.docker.com/r/coralproject/talk/tags - validRegex: /^([^\s^\/])+$/ - instructions: - start: >- - Online comments are broken. Our open-source commenting platform, Coral, rethinks how moderation, comment display, and conversation function, creating the opportunity for safer, smarter discussions around your work. - - end: > - Coral is deployed and available as $$cap_appname-talk . - - IMPORTANT: It will take up to 2 minutes for the application to be ready. Before that, you might see a 502 error page. - displayName: Coral Talk - isOfficial: true - description: Coral is an open-source commenting platform with a full suite of tools helps moderators easily identify disruptive comments. - documentation: Taken from https://docs.coralproject.net/coral/installation-from-docker/ diff --git a/public/v4/apps/couchdb.yml b/public/v4/apps/couchdb.yml deleted file mode 100644 index 60b9997..0000000 --- a/public/v4/apps/couchdb.yml +++ /dev/null @@ -1,40 +0,0 @@ -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' -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. - - 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/ diff --git a/public/v4/apps/countly.yml b/public/v4/apps/countly.yml deleted file mode 100644 index ac9520a..0000000 --- a/public/v4/apps/countly.yml +++ /dev/null @@ -1,22 +0,0 @@ -captainVersion: 4 -services: - $$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 will only work over HTTPS, so please enable it. | 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 deleted file mode 100644 index 661f445..0000000 --- a/public/v4/apps/directus.yml +++ /dev/null @@ -1,99 +0,0 @@ -captainVersion: 4 -services: - # Postgres - $$cap_appname-postgres: - image: postgres:13 - volumes: - - $$cap_appname-data:/var/lib/postgresql/data - environment: - POSTGRES_DB: $$cap_postgres_database_name - POSTGRES_USER: $$cap_postgres_user - POSTGRES_PASSWORD: $$cap_postgres_passwd - caproverExtra: - notExposeAsWebApp: 'true' - # Cache - $$cap_appname-redis: - image: redis:6 - volumes: - - $$cap_appname-redis:/data - caproverExtra: - notExposeAsWebApp: 'true' - # Directus - $$cap_appname: - depends_on: - - $$cap_appname-postgres - - $$cap_appname-redis - image: directus/directus:$$cap_directus_tag - volumes: - - $$cap_appname-uploads:/directus/uploads - - $$cap_appname-extensions:/directus/extensions - restart: always - environment: - KEY: $$cap_directus_auth_public_key - SECRET: $$cap_directus_auth_secret_key - DB_CLIENT: 'pg' - DB_HOST: srv-captain--$$cap_appname-postgres - DB_PORT: '5432' - DB_DATABASE: $$cap_postgres_database_name - DB_USER: $$cap_postgres_user - DB_PASSWORD: $$cap_postgres_passwd - CACHE_ENABLED: 'true' - CACHE_STORE: 'redis' - CACHE_REDIS: redis://srv-captain--$$cap_appname-redis:6379 - ADMIN_EMAIL: $$cap_admin_email - ADMIN_PASSWORD: $$cap_admin_password - caproverExtra: - containerHttpPort: '8055' -caproverOneClickApp: - variables: - - description: Tag of Directus image on https://hub.docker.com/r/directus/directus/tags - defaultValue: v9.0.0-rc.64 - id: $$cap_directus_tag - label: Directus image tag - validRegex: /.{1,}/ - - description: Name of the Directus database instance. - defaultValue: directus - id: $$cap_postgres_database_name - label: Postgres database name - validRegex: /.{1,}/ - - description: User for the Directus database instance. - defaultValue: directus - id: $$cap_postgres_user - label: Postgres user - validRegex: /.{1,}/ - - description: User password for the Directus database instance. - defaultValue: $$cap_gen_random_hex(16) - id: $$cap_postgres_passwd - label: Postgres user password - validRegex: /^(?=.*\d).{10,}$/ - - description: Directus Auth Secret Key (must not be the same as Directus Auth Public Key) - defaultValue: $$cap_gen_random_hex(16) - 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: $$cap_gen_random_hex(16) - 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_admin_email - label: Directus admin user email - validRegex: /.{1,}/ - - description: Directus admin user password - defaultValue: $$cap_gen_random_hex(8) - id: $$cap_admin_password - label: Directus admin user password - validRegex: /^(?=.*\d).{8,}$/ - instructions: - end: > - Aaaand you're done! πŸ˜„ - Your service is available at http://$$cap_appname.$$cap_root_domain - 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: 'Directus' - isOfficial: true - description: Directus is an open-source tool for managing content across all your omni-channel digital experiences - documentation: Taken from https://docs.directus.io/guides/installation/docker/. diff --git a/public/v4/apps/discourse.yml b/public/v4/apps/discourse.yml deleted file mode 100644 index d6df6ad..0000000 --- a/public/v4/apps/discourse.yml +++ /dev/null @@ -1,149 +0,0 @@ -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' -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 diff --git a/public/v4/apps/dokuwiki.yml b/public/v4/apps/dokuwiki.yml deleted file mode 100644 index c35622a..0000000 --- a/public/v4/apps/dokuwiki.yml +++ /dev/null @@ -1,55 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - image: bitnami/dokuwiki:$$cap_dokuwiki_version - environment: - DOKUWIKI_USERNAME: $$DOKUWIKI_USERNAME - DOKUWIKI_EMAIL: $$DOKUWIKI_EMAIL - DOKUWIKI_FULL_NAME: $$DOKUWIKI_FULL_NAME - DOKUWIKI_PASSWORD: $$DOKUWIKI_PASSWORD - DOKUWIKI_WIKI_NAME: $$DOKUWIKI_WIKI_NAME - caproverExtra: - containerHttpPort: '8080' - volumes: - - $$cap_appname:/bitnami/dokuwiki -caproverOneClickApp: - variables: - - id: $$cap_dokuwiki_version - label: DokuWiki Version - defaultValue: 20200729-debian-10 - description: Check out their Docker page for the valid tags https://hub.docker.com/r/bitnami/dokuwiki/tags - validRegex: /^([^\s^\/])+$/ - - id: $$DOKUWIKI_USERNAME - label: username - defaultValue: 'user' - description: Dokuwiki application username - validRegex: /.{1,}/ - - id: $$DOKUWIKI_EMAIL - label: email - defaultValue: 'noreply@gmail.com' - description: Dokuwiki application user email - validRegex: /.{1,}/ - - id: $$DOKUWIKI_FULL_NAME - label: full name - defaultValue: 'full name' - description: Dokuwiki application user full name - validRegex: /.{1,}/ - - id: $$DOKUWIKI_PASSWORD - label: password - defaultValue: 'password' - description: Dokuwiki application password - validRegex: /.{1,}/ - - id: $$DOKUWIKI_WIKI_NAME - label: Dokuwiki - defaultValue: 'Dokuwiki wiki name' - description: Dokuwiki wiki name - 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. - - 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/bitnami/dokuwiki/tags diff --git a/public/v4/apps/dolibarr.yml b/public/v4/apps/dolibarr.yml deleted file mode 100644 index 02fd168..0000000 --- a/public/v4/apps/dolibarr.yml +++ /dev/null @@ -1,64 +0,0 @@ -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 -caproverOneClickApp: - variables: - - id: $$cap_postgres-version - label: Postgres Version - defaultValue: 9.6-alpine - description: Check out 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: Check out 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 deleted file mode 100644 index a534c22..0000000 --- a/public/v4/apps/drone-gitea.yml +++ /dev/null @@ -1,109 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname-agent: - image: drone/drone-runner-docker:$$cap_drone_runner_version - volumes: - - /var/run/docker.sock:/var/run/docker.sock - restart: always - environment: - DRONE_RPC_HOST: srv-captain--$$cap_appname:80 - DRONE_RPC_SECRET: $$cap_drone_secret - DRONE_RPC_PROTO: http - DRONE_RUNNER_CAPACITY: $$cap_drone_runner_capacity - caproverExtra: - notExposeAsWebApp: 'true' - $$cap_appname: - 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_GITEA_CLIENT_ID: $$cap_drone_gitea_client_id - DRONE_GITEA_CLIENT_SECRET: $$cap_drone_gitea_client_secret - DRONE_RPC_SECRET: $$cap_drone_secret -caproverOneClickApp: - variables: - - id: $$cap_drone_version - label: Drone Version - defaultValue: 1.9.0 - description: Check out their Docker page for the valid tags https://hub.docker.com/r/drone/drone/tags - validRegex: '' - - id: $$cap_drone_runner_version - label: Drone Docker runner Version - defaultValue: 1.5.1 - description: Check out their Docker page for the valid tags https://hub.docker.com/r/drone/drone-runner-docker/tags - validRegex: '' - - id: $$cap_drone_gitea_server - label: DRONE_GITEA_SERVER - defaultValue: https://git.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: '4' - 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_server_port - label: DRONE_RPC_PORT - defaultValue: 80 - description: The port number on which your drone server will be running (for runner communication). As we use internal access, this should be 80 - 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,}/ - - id: $$cap_drone_gitea_client_id - label: client ID created previously in Gitea - description: Get from gitea settings -> Applications -> Oauth2 Applications - defaultValue: '' - validRegex: '' - - id: $$cap_drone_gitea_client_secret - label: Client Secret created previously in Gitea - description: Get from gitea settings -> Applications -> Oauth2 Applications - defaultValue: '' - validRegex: '' - 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). - - You must generate an OAuth2 application in Gitea (Settings->Applications->Create a new OAuth2 Application) with the "Redirect URI" https:///login. Make a note of the Client ID and the Client Secret and use them in the appropriate fields below. - - Enter your Drone for Gitea configuration parameters and click on next. The process will take about a minute to finish. - - Please make sure that after deployment you add HTTPS to your $$cap_appname application or communication with the runner will fail. - end: > - Drone is deployed and available as $$cap_appname. - 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 deleted file mode 100644 index fac0331..0000000 --- a/public/v4/apps/droppy.yml +++ /dev/null @@ -1,25 +0,0 @@ -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' -caproverOneClickApp: - variables: - - id: $$cap_droppy_version - label: droppy version tag - description: Check out 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 diff --git a/public/v4/apps/duplicati.yml b/public/v4/apps/duplicati.yml deleted file mode 100644 index 8c2bcef..0000000 --- a/public/v4/apps/duplicati.yml +++ /dev/null @@ -1,54 +0,0 @@ -captainVersion: 4 -services: - # Duplicati - $$cap_appname: - image: linuxserver/duplicati:$$cap_duplicati_version - environment: - TZ: $$cap_tz - PUID: $$cap_puid - PGID: $$cap_guid - CLI_ARGS: $$cap_cli_args - volumes: - - $$cap_appname-config:/config # Contains all relevant configuration files. - - $$cap_localpath:/backups # Path to store local backups. - - $$cap_sourcepath:/source # Path to source for files to backup. - caproverExtra: - containerHttpPort: '8200' -caproverOneClickApp: - variables: - - id: $$cap_tz - label: Timezone - description: Specify a timezone to use EG Europe/London, find yours at https://en.wikipedia.org/wiki/List_of_tz_database_time_zones - defaultValue: Europe/Brussels - - id: $$cap_duplicati_version - label: Version Tag - description: Check out their Docker page for the valid tags https://hub.docker.com/r/linuxserver/duplicati/tags - defaultValue: 'version-v2.0.5.1-2.0.5.1_beta_2020-01-18' - - id: $$cap_puid - label: User ID - defaultValue: '1000' - description: User ID that the process uses, run (id $user) in your instance to see the id - validRegex: /.{1,}/ - - id: $$cap_guid - label: Group ID - defaultValue: '1000' - description: Group ID that the process uses, run (id $user) in your instance to see the id - validRegex: /.{1,}/ - - id: $$cap_localpath - label: Path to store local backups. - - id: $$cap_sourcepath - label: Path to source for files to backup. - description: 'eg: /var/lib/docker/volumes or just / So you can select the folders you want to backup' - - id: $$cap_cli_args - label: Command line arguments - description: Optionally specify any CLI variables you want to launch the app with, see https://duplicati.readthedocs.io/en/latest/07-other-command-line-utilities/ - instructions: - start: |- - Duplicati works with standard protocols like FTP, SSH, WebDAV as well as popular services like Microsoft OneDrive, Amazon Cloud Drive & S3, Google Drive, box.com, Mega, hubiC and many others. - end: |- - Aaaand you're done! πŸ˜„ - Your service is available at http://$$cap_appname.$$cap_root_domain - displayName: Duplicati - isOfficial: true - description: Free backup software to store encrypted backups online For Windows, macOS and Linux - documentation: https://docs.linuxserver.io/images/docker-duplicati diff --git a/public/v4/apps/eclipse-mosquitto.yml b/public/v4/apps/eclipse-mosquitto.yml deleted file mode 100644 index 0722408..0000000 --- a/public/v4/apps/eclipse-mosquitto.yml +++ /dev/null @@ -1,25 +0,0 @@ -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' -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. diff --git a/public/v4/apps/elasticsearch.yml b/public/v4/apps/elasticsearch.yml deleted file mode 100644 index 8224a5e..0000000 --- a/public/v4/apps/elasticsearch.yml +++ /dev/null @@ -1,62 +0,0 @@ -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 -caproverOneClickApp: - variables: - - id: $$cap_elasticsearch_version - label: 'Elasticsearch Version Tag ' - description: 'Check out 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 deleted file mode 100644 index d414120..0000000 --- a/public/v4/apps/etesync.yml +++ /dev/null @@ -1,37 +0,0 @@ -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' -caproverOneClickApp: - variables: - - id: $$cap_version - label: version tag - description: Check out 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 focused 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 syncing 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 deleted file mode 100644 index 655356d..0000000 --- a/public/v4/apps/etherpad.yml +++ /dev/null @@ -1,52 +0,0 @@ -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' -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 ' diff --git a/public/v4/apps/fider.yml b/public/v4/apps/fider.yml deleted file mode 100644 index 42cc6d9..0000000 --- a/public/v4/apps/fider.yml +++ /dev/null @@ -1,51 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - documentation: Taken from https://hub.docker.com/r/getfider/fider/ - image: getfider/fider:$$cap_fider_version - restart: always - environment: - HOST_DOMAIN: '$$cap_appname.$$cap_root_domain' - DATABASE_URL: $$cap_db_url - JWT_SECRET: $$cap_gen_random_hex(16) - EMAIL_NOREPLY: $$cap_email_noreply - EMAIL_SMTP_HOST: $$cap_smtp_host - EMAIL_SMTP_PORT: $$cap_smtp_port - EMAIL_SMTP_USERNAME: $$cap_smtp_user - EMAIL_SMTP_PASSWORD: $$cap_smtp_pass - caproverExtra: - containerHttpPort: '3000' -caproverOneClickApp: - variables: - - id: $$cap_db_url - label: Fider database URL - description: Postgres database connection URL for Fider, for example "postgres://username:password@srv-captain--mypostgres:5432/fider?sslmode=disable" - - id: $$cap_fider_version - label: Fider Version - defaultValue: 0.18.1 - description: https://hub.docker.com/r/getfider/fider/tags - validRegex: /^([^\s^\/])+$/ - - id: $$cap_email_noreply - label: SMTP sender email - description: The sender email address for your outgoing mail - - id: $$cap_smtp_host - label: SMPT host - description: The host for your smtp server - - id: $$cap_smtp_port - label: SMTP port - description: The port for your smtp server - - id: $$cap_smtp_user - label: SMTP user - description: The user for your smtp server - - id: $$cap_smtp_pass - label: SMTP password - description: The password for your smtp server - instructions: - start: |- - Fider is a platform to collect and organize customer feedback. Let your customers share, vote and discuss on suggestions they have to make your product even better. - end: |- - Fider has been successfully deployed! Enable HTTPS after installation. - displayName: Fider - No Database - isOfficial: true - description: Fider is a platform to collect and organize customer feedback. - documentation: See https://getfider.com/docs/hosting-instance diff --git a/public/v4/apps/filebrowser.yml b/public/v4/apps/filebrowser.yml deleted file mode 100644 index 025f7d5..0000000 --- a/public/v4/apps/filebrowser.yml +++ /dev/null @@ -1,57 +0,0 @@ -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 -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. - - - 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! - - - 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: - - - 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 - - 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. - - 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 diff --git a/public/v4/apps/filestash.yml b/public/v4/apps/filestash.yml deleted file mode 100644 index 8addd00..0000000 --- a/public/v4/apps/filestash.yml +++ /dev/null @@ -1,21 +0,0 @@ -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' -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 diff --git a/public/v4/apps/firefly-iii.yml b/public/v4/apps/firefly-iii.yml deleted file mode 100644 index 54d8460..0000000 --- a/public/v4/apps/firefly-iii.yml +++ /dev/null @@ -1,71 +0,0 @@ -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' -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 diff --git a/public/v4/apps/focalboard.yml b/public/v4/apps/focalboard.yml deleted file mode 100644 index f041acc..0000000 --- a/public/v4/apps/focalboard.yml +++ /dev/null @@ -1,66 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname-db: - image: postgres:$$cap_postgres_version - environment: - POSTGRES_DB: $$cap_postgres_db - POSTGRES_USER: $$cap_postgres_user - POSTGRES_PASSWORD: $$cap_postgres_password - volumes: - - '$$cap_appname-db-data:/var/lib/postgresql/data' - caproverExtra: - notExposeAsWebApp: 'true' - - $$cap_appname: - environment: - CONFIG_JSON: '{"serverRoot":"http://srv-captain--$$cap_appname:8000","port":8000,"dbtype":"postgres","dbconfig":"postgres://$$cap_postgres_user:$$cap_postgres_password@srv-captain--$$cap_appname-db/$$cap_postgres_db?sslmode=disable&connect_timeout=10","postgres_dbconfig":"dbname=$$cap_postgres_db sslmode=disable","useSSL":false,"webpath":"./pack","filespath":"./files","telemetry":false,"session_expire_time":2592000,"session_refresh_time":18000,"localOnly":false,"enableLocalMode":true,"localModeSocketLocation":"/var/tmp/focalboard_local.socket"}' - depends_on: - - $$cap_appname-db - caproverExtra: - containerHttpPort: '8000' - dockerfileLines: - - FROM mattermost/focalboard:$$cap_focalboard_version - - CMD printenv CONFIG_JSON > /opt/focalboard/config.json && /opt/focalboard/bin/focalboard-server - -caproverOneClickApp: - variables: - - id: $$cap_focalboard_version - label: Focalboard Version - defaultValue: 0.6.5 - description: 'Check out their docker page for the valid tags https://hub.docker.com/r/mattermost/focalboard/tags' - - id: $$cap_postgres_version - label: Postgres Version - defaultValue: 9.6.21 - description: 'Check out their docker page for the valid tags https://hub.docker.com/_/postgres?tab=tags' - - id: $$cap_postgres_db - label: Postgres Database - defaultValue: boards - - id: $$cap_postgres_user - label: Postgres User - defaultValue: boardsuser - - id: $$cap_postgres_password - label: Postgres Password - defaultValue: $$cap_gen_random_hex(16) - - instructions: - start: >- - Focalboard is an open source, self-hosted alternative to Trello, Notion, and Asana. - For more info visit https://www.focalboard.com/ - end: |- - Focalboard has been successfully deployed! - - -------------------------------------------- - - Before you proceed, please enable Websocket Support - https://$$cap_root_domain/#/apps/details/$$cap_appname - - -------------------------------------------- - - App is available as http://$$cap_appname.$$cap_root_domain - displayName: Focalboard - isOfficial: false - description: >- - Focalboard is an open source, self-hosted alternative to Trello, Notion, and Asana. - documentation: >- - This docker-compose is taken from - https://github.com/mattermost/focalboard/blob/main/docker/docker-compose-db-nginx.yml diff --git a/public/v4/apps/formio.yml b/public/v4/apps/formio.yml deleted file mode 100644 index 594d8a2..0000000 --- a/public/v4/apps/formio.yml +++ /dev/null @@ -1,73 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname-mongodb: - documentation: Taken from https://hub.docker.com/_/mongo - image: mongo:$$cap_mongo_version - volumes: - - $$cap_appname-db-data:/data/db - restart: always - caproverExtra: - notExposeAsWebApp: 'true' - $$cap_appname: - documentation: Taken from https://hub.docker.com/r/calipseo/formio - depends_on: - - $$cap_appname-mongodb - image: calipseo/formio:$$cap_formio_version - volumes: - - $$cap_appname-data:/app - restart: always - environment: - APP_URL: 'https://$$cap_appname.$$cap_root_domain' - API_URL: 'https://$$cap_appname.$$cap_root_domain' - MONGO: mongodb://srv-captain--$$cap_appname-mongodb:27017/formio - ROOT_EMAIL: $$cap_admin_email - ROOT_PASSWORD: $$cap_admin_pass - SMTP_HOST: $$cap_smtp_host - SMTP_PORT: $$cap_smtp_port - SMTP_USERNAME: $$cap_smtp_user - SMTP_PASSWORD: $$cap_smtp_pass - caproverExtra: - containerHttpPort: '3001' -caproverOneClickApp: - variables: - - id: $$cap_admin_email - label: Formio default admin email - defaultValue: admin@example.com - description: Admin email for Formio. - validRegex: /.{1,}/ - - id: $$cap_admin_pass - label: admin password - description: Password for the admin user. - validRegex: /.{1,}/ - - id: $$cap_formio_version - label: Formio Version - defaultValue: 1.90.7 - description: https://hub.docker.com/r/calipseo/formio/tags - validRegex: /^([^\s^\/])+$/ - - id: $$cap_mongo_version - label: Mongo (database) version - defaultValue: 4.1 - description: Check out their Docker page for the valid tags https://hub.docker.com/_/mongo?tab=tags - validRegex: /^([^\s^\/])+$/ - - id: $$cap_smtp_host - label: SMPT host - description: The host for your smtp server - - id: $$cap_smtp_port - label: SMTP port - description: The port for your smtp server - - id: $$cap_smtp_user - label: SMTP user - description: The user for your smtp server - - id: $$cap_smtp_pass - label: SMTP password - description: The password for your smtp server - instructions: - start: |- - is a combined Form and Data Management platform for form-based Progressive web applications. - The process will deploy a database, the API and form manager. - end: |- - Formio has been successfully deployed! - displayName: Formio - isOfficial: false - description: is a combined Form and Data Management platform for form-based Progressive web applications. - documentation: See https://github.com/formio/formio diff --git a/public/v4/apps/fusionauth.yml b/public/v4/apps/fusionauth.yml deleted file mode 100644 index 9443c8b..0000000 --- a/public/v4/apps/fusionauth.yml +++ /dev/null @@ -1,124 +0,0 @@ -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 -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: 'Check out 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' diff --git a/public/v4/apps/ghost-only.yml b/public/v4/apps/ghost-only.yml deleted file mode 100644 index 56f4cfb..0000000 --- a/public/v4/apps/ghost-only.yml +++ /dev/null @@ -1,110 +0,0 @@ -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' -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. - - 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 deleted file mode 100644 index 68b9943..0000000 --- a/public/v4/apps/ghost.yml +++ /dev/null @@ -1,115 +0,0 @@ -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' -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. - - 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 deleted file mode 100644 index 1cfcc6d..0000000 --- a/public/v4/apps/gitea.yml +++ /dev/null @@ -1,60 +0,0 @@ -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: - 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. - - 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. - - 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/ diff --git a/public/v4/apps/gitlab-ce.yml b/public/v4/apps/gitlab-ce.yml deleted file mode 100644 index 936e13d..0000000 --- a/public/v4/apps/gitlab-ce.yml +++ /dev/null @@ -1,46 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - image: gitlab/gitlab-ce:$$cap_gitlab_version - hostname: $$cap_appname.$$cap_root_domain - 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 -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. - - 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 - - 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 - - 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 deleted file mode 100644 index 5a2ad9a..0000000 --- a/public/v4/apps/gitlab-runner.yml +++ /dev/null @@ -1,24 +0,0 @@ -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' -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/ diff --git a/public/v4/apps/grafana.yml b/public/v4/apps/grafana.yml deleted file mode 100644 index 61acf86..0000000 --- a/public/v4/apps/grafana.yml +++ /dev/null @@ -1,23 +0,0 @@ -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' -caproverOneClickApp: - variables: - - label: Grafana Docker Hash - defaultValue: 7.4.3 - description: Find versions on DockerHub https://hub.docker.com/r/grafana/grafana/tags - 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 deleted file mode 100644 index d085f1c..0000000 --- a/public/v4/apps/graylog.yml +++ /dev/null @@ -1,110 +0,0 @@ -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' -caproverOneClickApp: - variables: - - id: $$cap_graylog_version - label: Graylog Version - defaultValue: '3.1' - description: Check out 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: Check out 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: 'Check out 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. - - IMPORTANT! Do not forget to map port 12201 and 12202 in your app config. Without port mapping, Graylog will not work. - - 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 deleted file mode 100644 index 5bcbe8f..0000000 --- a/public/v4/apps/grocy.yml +++ /dev/null @@ -1,43 +0,0 @@ -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 -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 utility. 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 utility. - 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 deleted file mode 100644 index 15f80f7..0000000 --- a/public/v4/apps/hasura-only.yml +++ /dev/null @@ -1,37 +0,0 @@ -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' -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. - - 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 deleted file mode 100644 index 92b589b..0000000 --- a/public/v4/apps/hasura.yml +++ /dev/null @@ -1,67 +0,0 @@ -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' -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. - - 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/hedgedoc.yml b/public/v4/apps/hedgedoc.yml deleted file mode 100644 index 15606e4..0000000 --- a/public/v4/apps/hedgedoc.yml +++ /dev/null @@ -1,63 +0,0 @@ -captainVersion: 4 -services: - '$$cap_appname': - depends_on: - - $$cap_appname-db - image: quay.io/hedgedoc/hedgedoc:$$cap_version - environment: - CMD_DB_URL: postgres://$$cap_dbuser:$$cap_dbpass@srv-captain--$$cap_appname-db:5432/$$cap_dbname - CMD_DOMAIN: $$cap_appname.$$cap_root_domain - CMD_URL_ADDPORT: false - PLUGIN_INSTALLER: $$cap_plugin_installer - volumes: - - '$$cap_appname-uploads:/hedgedoc/public/uploads' - caproverExtra: - containerHttpPort: '3000' - $$cap_appname-db: - image: postgres:$$cap_pgversion - volumes: - - $$cap_appname-db:/var/lib/postgresql/data - restart: always - environment: - POSTGRES_DB: $$cap_dbname - POSTGRES_USER: $$cap_dbuser - POSTGRES_PASSWORD: $$cap_dbpass - caproverExtra: - notExposeAsWebApp: 'true' - -caproverOneClickApp: - variables: - # app variables - - id: '$$cap_version' - label: HedgeDoc Version - defaultValue: '1.7.2' - description: Make sure to use the latest release from https://hedgedoc.org/latest-release - validRegex: '/^([^\\s^\\/])+$/' - # db variables - - id: '$$cap_pgversion' - label: Postgresql Version - defaultValue: '9.6-alpine' - description: Check out their Docker page for the valid tags https://hub.docker.com/r/library/postgres/tags/ - validRegex: '/^([^\\s^\\/])+$/' - - id: $$cap_dbname - label: Database Name - defaultValue: 'joplin' - validRegex: /.{1,}/ - - id: $$cap_dbuser - label: Database User - defaultValue: 'joplin' - validRegex: /.{1,}/ - - id: $$cap_dbpass - label: Database Password - defaultValue: $$cap_gen_random_hex(64) - validRegex: /.{10,}/ - instructions: - start: |- - HedgeDoc lets you create real-time collaborative markdown notes. For more info visit https://docs.hedgedoc.org/ - end: |- - HedgeDoc has been successfully deployed! - App is available as http://$$cap_appname.$$cap_root_domain - displayName: HedgeDoc - isOfficial: true - description: HedgeDoc lets you create real-time collaborative markdown notes - documentation: See https://docs.hedgedoc.org/ diff --git a/public/v4/apps/heimdall.yml b/public/v4/apps/heimdall.yml deleted file mode 100644 index 513403b..0000000 --- a/public/v4/apps/heimdall.yml +++ /dev/null @@ -1,31 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - image: linuxserver/heimdall:$$cap_heimdall_version - environment: - TZ: $$cap_tz - hostname: $$cap_appname.$$cap_root_domain - volumes: - - $$cap_appname-config:/config -caproverOneClickApp: - variables: - - id: $$cap_tz - label: Timezone - description: This is the timezone for the application, find yours at https://en.wikipedia.org/wiki/List_of_tz_database_time_zones - defaultValue: Europe/Brussels - - id: $$cap_heimdall_version - label: Version Tag - description: Check out their Docker page for the valid tags https://hub.docker.com/r/linuxserver/heimdall/tags - defaultValue: 'version-2.2.2' - instructions: - start: |- - Heimdall is a way to organise all those links to your most used web sites and web applications in a simple way. - - Simplicity is the key to Heimdall. Why not use it as your browser start page? It even has the ability to include a search bar using either Google, Bing or DuckDuckGo. - end: |- - Aaaand you're done! πŸ˜„ - Your service is available at http://$$cap_appname.$$cap_root_domain - displayName: Heimdall - isOfficial: true - description: Heimdall is a way to organise all those links to your most used web sites and web applications in a simple way. - documentation: https://docs.linuxserver.io/images/docker-heimdall diff --git a/public/v4/apps/humhub.yml b/public/v4/apps/humhub.yml deleted file mode 100644 index dfa5ada..0000000 --- a/public/v4/apps/humhub.yml +++ /dev/null @@ -1,73 +0,0 @@ -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 - restart: always - caproverExtra: - notExposeAsWebApp: 'true' - $$cap_appname: - environment: - # The DB vars are only used if HUMHUB_AUTO_INSTALL is enabled - # However this is a shady feature so we choose to disable it by default - HUMHUB_AUTO_INSTALL: $$cap_humhub_auto_install - HUMHUB_DB_HOST: srv-captain--$$cap_appname-db - HUMHUB_DB_NAME: $$cap_mysql_database_name - HUMHUB_DB_USER: $$cap_mysql_user - HUMHUB_DB_PASSWORD: $$cap_mysql_passwd - HUMHUB_HOST: $$cap_appname.$$cap_root_domain - HUMHUB_PROTO: https - image: mriedmann/humhub:$$cap_humhub_version - restart: always - volumes: - - '$$cap_appname-config:/var/www/localhost/htdocs/protected/config' - - '$$cap_appname-uploads:/var/www/localhost/htdocs/uploads' - - '$$cap_appname-modules:/var/www/localhost/htdocs/protected/modules' -caproverOneClickApp: - variables: - - label: Database Root Password - description: Password to manage to the database - defaultValue: $$cap_gen_random_hex(16) - id: $$cap_mysql_root_passwd - - label: Database Name - description: The name of humhub db - defaultValue: humhub - id: $$cap_mysql_database_name - - label: Database User - description: The username to for humhub to connect to database - defaultValue: humhub - id: $$cap_mysql_user - - label: Database Password - description: Password to connect to the database - defaultValue: $$cap_gen_random_hex(16) - id: $$cap_mysql_passwd - - id: $$cap_humhub_version - label: Version Tag - description: Check out their Docker page for the valid tags https://hub.docker.com/r/mriedmann/humhub/tags - defaultValue: '1.6.2' - - id: $$cap_humhub_protocol - label: Server protocol - description: Use http if you don't want to enable secure connection - defaultValue: 'https' - - id: $$cap_humhub_auto_install - label: AutoSetup - description: If this is set to false (advised) you will have to provide the DB creds on first run. - defaultValue: 'false' - instructions: - start: |- - HumHub is an open source social network - GitHub: https://github.com/humhub/humhub - end: |- - All done. The first time you access the instance you will be requested to input the db details. - The database host is srv-captain--$$cap_appname-db and the password and user will be the ones you chose - IMPORTANT: The default protocol is HTTPS, so please turn on HTTPS! - displayName: HumHub - isOfficial: false - description: A open source social media network - documentation: https://github.com/humhub/humhub diff --git a/public/v4/apps/influxdb.yml b/public/v4/apps/influxdb.yml deleted file mode 100644 index bbed29a..0000000 --- a/public/v4/apps/influxdb.yml +++ /dev/null @@ -1,88 +0,0 @@ -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' -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. - - 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/influxdb2.yml b/public/v4/apps/influxdb2.yml deleted file mode 100644 index fda668c..0000000 --- a/public/v4/apps/influxdb2.yml +++ /dev/null @@ -1,55 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - image: influxdb:$$cap_influx_version - volumes: - - $$cap_appname-data:/var/lib/influxdb2 - - $$cap_appname-configs:/etc/influxdb2 - environment: - DOCKER_INFLUXDB_INIT_USERNAME: $$cap_influx_init_username - DOCKER_INFLUXDB_INIT_PASSWORD: $$cap_influx_init_password - DOCKER_INFLUXDB_INIT_ORG: $$cap_influx_init_org - DOCKER_INFLUXDB_INIT_BUCKET: $$cap_influx_bucket - DOCKER_INFLUXDB_INIT_RETENTION: $$cap_influx_retention - DOCKER_INFLUXDB_INIT_MODE: setup - DOCKER_INFLUXDB_INIT_ADMIN_TOKEN: $$cap_influx_token - caproverExtra: - containerHttpPort: '8086' -caproverOneClickApp: - variables: - - id: $$cap_influx_version - label: InfluxDb Version - defaultValue: '2.0' - description: Check out their Docker page for the valid tags https://hub.docker.com/r/library/influxdb/tags/ - validRegex: /^([^\s^\/])+$/ - - label: Influx Bucket - description: Automatically initializes a database with this bucket ID. - defaultValue: 'my-bucket' - id: $$cap_influx_bucket - - label: Username for initialization - defaultValue: 'username' - id: $$cap_influx_init_username - - label: Password for initialization - defaultValue: $$cap_gen_random_hex(12) - id: $$cap_influx_init_password - - label: Admin Access Token - defaultValue: $$cap_gen_random_hex(24) - id: $$cap_influx_token - - label: Organization for intialization - defaultValue: 'my-org' - id: $$cap_influx_init_org - - label: Retention for data - description: The duration the system's initial bucket should retain data. If not set, the initial bucket will retain data forever. - defaultValue: '52w' - id: $$cap_influx_retention - instructions: - start: >- - Influxdb2 is a time series database, and part of the tickstack. After installation on CapRover, it will be available as srv-captain--YOUR_CONTAINER_NAME 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:8086 to other apps. Externally you can access it via HTTP like a regular app. Make sure you enable SSL. - displayName: InfluxDb2 - isOfficial: true - description: InfluxDB2 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/invoiceninja.yml b/public/v4/apps/invoiceninja.yml deleted file mode 100644 index 9c89ac3..0000000 --- a/public/v4/apps/invoiceninja.yml +++ /dev/null @@ -1,126 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname-php: - restart: always - networks: invoiceninja - volumes: - - $$cap_appname-data:/var/www/app - depends_on: - - $$cap_appname-db - environment: - APP_NAME: $$cap_appname - APP_URL: $$cap_appname.$$cap_root_domain - APP_KEY: $$cap_app_key - APP_DEBUG: $$cap_app_debug - MULTI_DB_ENABLED: 'false' - DB_CONNECTION: mysql - DB_HOST1: srv-captain--$$cap_appname-db - DB_PORT1: '3306' - DB_USERNAME1: $$cap_db_user - DB_PASSWORD1: $$cap_db_pass - DB_DATABASE1: $$cap_db_name - IS_DOCKER: 'true' - PHANTOMJS_PDF_GENERATION: $$cap_phantomjs_cloud_enable - PHANTOMJS_CLOUD_KEY: $$cap_phantomjs_cloud_key - BAK_PUBLIC_PATH: '/var/www/app/docker-backup-public' - NINJA_PROD: 'true' - ENV_LIST: 'NINJA_PROD,APP_NAME,APP_URL,APP_KEY,APP_DEBUG,MULTI_DB_ENABLED,DB_CONNECTION,DB_HOST1,DB_PORT1,DB_USERNAME1,DB_PASSWORD1,DB_DATABASE1,IS_DOCKER,PHANTOMJS_PDF_GENERATION,PHANTOMJS_CLOUD_KEY' - caproverExtra: - notExposeAsWebApp: 'true' - dockerfileLines: - - FROM invoiceninja/invoiceninja:$$cap_app_tag - - RUN curl -o create-env-file-from-sys-env.sh https://gist.githubusercontent.com/olragon/e2f3ececd70b8c513ce6f768b47b6e5f/raw/0ce9188a0cbf1a9e6a7be4128419282b30492f49/create-env-file-from-sys-env.sh - - RUN chmod +x create-env-file-from-sys-env.sh - - ENTRYPOINT ["docker-entrypoint"] - - CMD /var/www/app/create-env-file-from-sys-env.sh && laravel-init.sh && php artisan db:seed --force && php artisan ninja:create-account --email=$$cap_user_email --password=$$cap_user_password&& supervisord - - $$cap_appname: - restart: always - networks: invoiceninja - volumes: - - $$cap_appname-data:/var/www/app - depends_on: - - $$cap_appname-php - caproverExtra: - dockerfileLines: - - FROM nginx:$$cap_nginx_tag - - RUN curl -o /etc/nginx/conf.d/in-vhost.conf https://raw.githubusercontent.com/invoiceninja/dockerfiles/$$cap_app_tag/config/nginx/in-vhost.conf - - RUN sed -i "s/app:9000/srv-captain--$$cap_appname-php:9000/g" /etc/nginx/conf.d/in-vhost.conf - - ENTRYPOINT ["/docker-entrypoint.sh"] - - EXPOSE 80 - - CMD mkdir -p /var/www/app/docker-backup-public && nginx -g 'daemon off;' - - $$cap_appname-db: - image: mariadb:$$cap_mariadb_tag - networks: invoiceninja - restart: always - volumes: - - $$cap_appname-db-data:/var/lib/mysql - environment: - MYSQL_ROOT_PASSWORD: $$cap_db_root_pass - MYSQL_USER: $$cap_db_user - MYSQL_PASSWORD: $$cap_db_pass - MYSQL_DATABASE: $$cap_db_name - caproverExtra: - notExposeAsWebApp: 'true' - -caproverOneClickApp: - variables: - - id: $$cap_app_tag - label: Invoice Ninja Tag - defaultValue: '5.1.53' - description: 'Check out their docker page for the valid tags https://hub.docker.com/r/invoiceninja/invoiceninja/tags' - - id: $$cap_user_email - label: User Email - defaultValue: user@example.com - - id: $$cap_user_password - label: User Password (write this down as you won't be able to see it after deployment) - defaultValue: $$cap_gen_random_hex(8) - - id: $$cap_app_key - label: App Key - defaultValue: $$cap_gen_random_hex(32) - - id: $$cap_app_debug - label: App Debug - defaultValue: 'false' - - id: $$cap_phantomjs_cloud_enable - label: Enable PhantomJS Cloud to generate PDF - defaultValue: 'false' - description: By default Invoice Ninja using local Chromimum to generate PDF - - id: $$cap_phantomjs_cloud_key - label: PhantomJS Cloud Key - defaultValue: 'a-demo-key-with-low-quota-per-ip-address' - description: 'For some reason, if you cannot run Chromium, enable PhantomJS Cloud and grab your PhantomJS Cloud key at https://phantomjscloud.com/' - - id: $$cap_nginx_tag - label: Nginx Tag - defaultValue: '1.20.0-alpine' - description: 'Check out their docker page for the valid tags https://hub.docker.com/_/nginx?tab=tags' - - id: $$cap_mariadb_tag - label: MariaDB Version - defaultValue: 10.4 - description: 'Check out their docker page for the valid tags https://hub.docker.com/_/mariadb?tab=tags' - - id: $$cap_db_root_pass - label: MariaDB Root Password - defaultValue: $$cap_gen_random_hex(32) - - id: $$cap_db_user - label: MariaDB Database User - defaultValue: 'ninja' - - id: $$cap_db_name - label: MariaDB Database Name - defaultValue: 'ninja' - - id: $$cap_db_pass - label: MariaDB Database Password - defaultValue: $$cap_gen_random_hex(32) - instructions: - start: >- - Invoice Clients, Track Work-Time, Get Paid Online. - For more info visit https://www.invoiceninja.com/ - end: |- - InvoiceNinja has been successfully deployed! - App is available as http://$$cap_appname.$$cap_root_domain - displayName: InvoiceNinja - isOfficial: false - description: >- - Invoice Ninja was built to serve freelancers and business owners with a complete suite of invoicing & payment tools to advance your business. - documentation: >- - This docker-compose is taken from - https://github.com/invoiceninja/dockerfiles diff --git a/public/v4/apps/invoiceplane.yml b/public/v4/apps/invoiceplane.yml deleted file mode 100644 index 92075f7..0000000 --- a/public/v4/apps/invoiceplane.yml +++ /dev/null @@ -1,67 +0,0 @@ -captainVersion: 4 - -services: - $$cap_appname-db: - image: mysql:5.7.32 - volumes: - - $$cap_appname-mysql-data:/var/lib/mysql - environment: - MYSQL_ROOT_PASSWORD: $$cap_MYSQL_ROOT_PWD - MYSQL_USER: $$cap_DB_USERNAME - MYSQL_PASSWORD: $$cap_DB_PASSWORD - MYSQL_DATABASE: $$cap_DB_DATABASE - caproverExtra: - notExposeAsWebApp: 'true' - - $$cap_appname: - image: 'thomascenni/alpine-invoiceplane:v1.5.11' - volumes: - - $$cap_appname-storage:/storage - - $$cap_appname-config:/config - environment: - IP_URL: 'http://$$cap_appname.$$cap_root_domain' - DB_HOSTNAME: 'srv-captain--$$cap_appname-db' - DB_USERNAME: $$cap_DB_USERNAME - DB_PASSWORD: $$cap_DB_PASSWORD - DB_DATABASE: $$cap_DB_DATABASE - DB_PORT: '3306' - -caproverOneClickApp: - variables: - - defaultValue: $$cap_gen_random_hex(20) - description: This is the MySQL root password. Randomly generated. Can be changed also. - id: $$cap_MYSQL_ROOT_PWD - label: MYSQL_ROOT_PWD - validRegex: /^([^\s^\/])+$/ - - defaultValue: 'invoiceplane' - description: This is the username to access the invoiceplane db. Can use the default provided. - id: $$cap_DB_USERNAME - label: DB_USERNAME - validRegex: /^([^\s^\/])+$/ - - defaultValue: $$cap_gen_random_hex(16) - description: This is password for the user accessing the invoiceplane db. Randomly generated. Can be changed also. - id: $$cap_DB_PASSWORD - label: DB_PASSWORD - validRegex: /^([^\s^\/])+$/ - - defaultValue: 'invoiceplane' - description: This is name for the database hosting InvoicePlane application. Can use the default provided. - id: $$cap_DB_DATABASE - label: DB_DATABASE - validRegex: /^([^\s^\/])+$/ - instructions: - start: >- - InvoicePlane is a self-hosted open source application for managing invoices. - - See https://www.invoiceplane.com/. - - This one click app is based on: - - woahbase/alpine-mysql image - - thomascenni/alpine-invoiceplane, based on woahbase/alpine-php and the official InvoicePlane sources from their Github repository. - end: >- - InvoicePlane is deployed and available as $$cap_appname. - IMPORTANT: It will take up to 1 minute for InvoicePlane to be ready. - Before that, you might see 502 error page. - displayName: InvoicePlane - isOfficial: false - description: InvoicePlane is a self-hosted open source application for managing your quotes, invoices, clients and payments. - documentation: Taken from https://www.invoiceplane.com/. diff --git a/public/v4/apps/jellyfin.yml b/public/v4/apps/jellyfin.yml deleted file mode 100644 index 258597a..0000000 --- a/public/v4/apps/jellyfin.yml +++ /dev/null @@ -1,49 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - image: ghcr.io/linuxserver/jellyfin - environment: - PUID: $$cap_puid - PGID: $$cap_pgid - TZ: $$cap_tz - JELLYFIN_PublishedServerUrl: '$$cap_appname.$$cap_root_domain' - volumes: - - $$cap_appname-config:/config - - $$cap_appname-tvshows:/data/tvshows - - $$cap_appname-movies:/data/movies - caproverExtra: - containerHttpPort: '8096' - ports: - - 7359:7359 - - 1900:1900 -caproverOneClickApp: - variables: - - id: '$$cap_puid' - label: Jellyfin UserID - defaultValue: 1000 - description: UserID used by JellyFin to avoid permission problems, please refer to docs- https://github.com/linuxserver/docker-jellyfin#Parameters - validRegex: /[0-9]/ - - id: '$$cap_pgid' - label: Jellyfin GroupID - defaultValue: 1000 - description: GroupID used by JellyFin to avoid permission problems, please refer to docs- https://github.com/linuxserver/docker-jellyfin#Parameters - validRegex: /[0-9]/ - - id: '$$cap_tz' - label: Time Zone - defaultValue: Asia/Kolkata - description: Get yours from https://en.wikipedia.org/wiki/List_of_tz_database_time_zones - validRegex: /.{1,}/ - instructions: - start: |- - Jellyfin is a Free Software Media System that puts you in control of managing and streaming your media. - It is an alternative to the proprietary Emby and Plex, to provide media from a dedicated server to end-user devices via multiple apps. - - For more details visit- https://github.com/jellyfin/jellyfin - - PS. It might not work with RPi, or atleast, you wont be able to use OpenMax or V4L2 because Caprover ignores 'devices' parameters of docker-compose - end: |- - Jellyfin has been successfully deployed! Please wait atleast 2-4 mins before trying to connect. To enable HTTPS, enable it inside app config from caprover dashboard. 'Enable HTTPS' setting inside of Jellyfin might not work. - displayName: Jellyfin - isOfficial: false - description: A free media streaming alternative to Plesk. Also supports group sync. - documentation: See https://github.com/linuxserver/docker-jellyfin diff --git a/public/v4/apps/jenkins.yml b/public/v4/apps/jenkins.yml deleted file mode 100644 index 818fbdd..0000000 --- a/public/v4/apps/jenkins.yml +++ /dev/null @@ -1,34 +0,0 @@ -captainVersion: 4 -services: - $$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. - - It's documentation is available at: https://jenkins.io/doc/ - - For more details about this container, see: https://hub.docker.com/r/jenkins/jenkins/ - - 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. - - 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 deleted file mode 100644 index e6e0d77..0000000 --- a/public/v4/apps/jitsi.yml +++ /dev/null @@ -1,240 +0,0 @@ -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' -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 diff --git a/public/v4/apps/joomla.yml b/public/v4/apps/joomla.yml deleted file mode 100644 index 323b5d5..0000000 --- a/public/v4/apps/joomla.yml +++ /dev/null @@ -1,51 +0,0 @@ -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 -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. - - 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 . - - 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. diff --git a/public/v4/apps/joplin.yml b/public/v4/apps/joplin.yml deleted file mode 100644 index bc4003d..0000000 --- a/public/v4/apps/joplin.yml +++ /dev/null @@ -1,65 +0,0 @@ -captainVersion: 4 - -services: - $$cap_appname-db: - image: postgres:$$cap_postgres_version - volumes: - - '$$cap_appname-db-data:/var/lib/postgresql/data' - restart: unless-stopped - environment: - APP_PORT: 22300 - POSTGRES_PASSWORD: $$cap_postgres_password - POSTGRES_USER: $$cap_postgres_user - POSTGRES_DB: $$cap_postgres_db - caproverExtra: - notExposeAsWebApp: true - - $$cap_appname: - image: joplin/server:$$cap_joplin_tag - depends_on: - - $$cap_appname-db - restart: unless-stopped - environment: - APP_BASE_URL: http://$$cap_appname.$$cap_root_domain - DB_CLIENT: pg - POSTGRES_PASSWORD: $$cap_postgres_password - POSTGRES_DATABASE: $$cap_postgres_db - POSTGRES_USER: $$cap_postgres_user - POSTGRES_HOST: srv-captain--$$cap_appname-db - caproverExtra: - containerHttpPort: '22300' - -caproverOneClickApp: - variables: - - id: $$cap_postgres_version - label: Postgres Version - defaultValue: '13.1' - - id: $$cap_postgres_db - label: Postgres DB - defaultValue: 'joplin' - - id: $$cap_postgres_user - label: Postgres User - defaultValue: 'joplin' - - id: $$cap_postgres_password - label: Postgres Password - defaultValue: cA3rS2oK - - id: $$cap_joplin_tag - label: Joplin Version - defaultValue: '1.7.2' - description: Check out their docker page for the valid tags https://hub.docker.com/r/joplin/server/tags - instructions: - start: >- - Joplin - an open source note taking and to-do application with synchronization capabilities for Windows, macOS, Linux, Android and iOS. - For more info visit https://joplinapp.org/ - end: |- - Joplin has been successfully deployed! - App is available as http://$$cap_appname.$$cap_root_domain - Login at http://$$cap_appname.$$cap_root_domain/login & change default email / password - Default email: admin@localhost - Default password: admin - displayName: Joplin - isOfficial: false - description: >- - Joplin - an open source note taking and to-do application with synchronization capabilities for Windows, macOS, Linux, Android and iOS. - documentation: >- - This docker-compose is taken from https://github.com/laurent22/joplin/blob/adad4cab75/docker-compose.server.yml diff --git a/public/v4/apps/jsreport.yml b/public/v4/apps/jsreport.yml deleted file mode 100644 index 41d50c1..0000000 --- a/public/v4/apps/jsreport.yml +++ /dev/null @@ -1,39 +0,0 @@ -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' -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/ diff --git a/public/v4/apps/jupyter-lab.yml b/public/v4/apps/jupyter-lab.yml deleted file mode 100644 index 7e4c018..0000000 --- a/public/v4/apps/jupyter-lab.yml +++ /dev/null @@ -1,31 +0,0 @@ -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 -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. - - 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/jupyter-tensorflow.yml b/public/v4/apps/jupyter-tensorflow.yml deleted file mode 100644 index fea2ac3..0000000 --- a/public/v4/apps/jupyter-tensorflow.yml +++ /dev/null @@ -1,36 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - restart: always - environment: - JUPYTER_ENABLE_LAB: $$cap_jupyterlab - RESTARTABLE: yes - volumes: - - $$cap_appname:/home/jovyan/ - caproverExtra: - containerHttpPort: '8888' - dockerfileLines: - - FROM jupyter/tensorflow-notebook:36d857bb0121 - - RUN pip install lxml - - RUN jupyter notebook --generate-config -y - - 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. - - id: $$cap_jupyterlab - label: Jupyter Lab - defaultValue: yes - description: Enter "yes" to enable JupyterLab and leave empty otherwise - 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: Jupyter Tensorflow - isOfficial: true - description: Jupyter Notebook with built in Tensorflow and Keras for your data analysis and machine learning work - documentation: 'Read more at: https://jupyter-docker-stacks.readthedocs.io/' diff --git a/public/v4/apps/kanboard-sqlite.yml b/public/v4/apps/kanboard-sqlite.yml deleted file mode 100644 index 2f4b67e..0000000 --- a/public/v4/apps/kanboard-sqlite.yml +++ /dev/null @@ -1,32 +0,0 @@ -captainVersion: 4 -services: - '$$cap_appname': - image: kanboard/kanboard:$$cap_version - environment: - PLUGIN_INSTALLER: $$cap_plugin_installer - volumes: - - '$$cap_appname-data:/var/www/app/data' - - '$$cap_appname-plugins:/var/www/app/plugins' - - '$$cap_appname-ssl:/etc/nginx/ssl' -caproverOneClickApp: - variables: - - id: '$$cap_version' - label: Kanboard Version - defaultValue: 'v1.2.15' - description: Check out their Docker page for the valid tags https://hub.docker.com/r/kanboard/kanboard/tags - validRegex: '/^([^\\s^\\/])+$/' - - id: $$cap_plugin_installer - label: Plugin installer - defaultValue: 'true' - description: Allow plugin installer - validRegex: '/^(true|false)$/' - instructions: - start: |- - Kanboard is a free and open source Kanban project management software. For more info visit https://kanboard.org/ - end: |- - Kanboard has been successfully deployed! - You can connect to http://$$cap_appname.$$cap_root_domain with the user admin and password admin. Do not forget to update it with something more secure. - displayName: Kanboard SQLite - isOfficial: true - description: Kanboard is a free and open source Kanban project management software. - documentation: See https://kanboard.org/ diff --git a/public/v4/apps/keycloak.yml b/public/v4/apps/keycloak.yml deleted file mode 100644 index 7e98ba2..0000000 --- a/public/v4/apps/keycloak.yml +++ /dev/null @@ -1,69 +0,0 @@ -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' -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. - - For documentation, see: https://www.keycloak.org/documentation.html - - For source code, see: https://github.com/keycloak/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 diff --git a/public/v4/apps/kibana.yml b/public/v4/apps/kibana.yml deleted file mode 100644 index 0476cd9..0000000 --- a/public/v4/apps/kibana.yml +++ /dev/null @@ -1,41 +0,0 @@ -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' -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. - - 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 deleted file mode 100644 index 2669935..0000000 --- a/public/v4/apps/leantime.yml +++ /dev/null @@ -1,43 +0,0 @@ -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 -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 diff --git a/public/v4/apps/limesurvey.yml b/public/v4/apps/limesurvey.yml deleted file mode 100644 index 2a2f9ef..0000000 --- a/public/v4/apps/limesurvey.yml +++ /dev/null @@ -1,69 +0,0 @@ -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 -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. - - 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. - - - Please use srv-captain--$$cap_appname-db as database host on your online configuration. - - $$cap_db_user as user name - - $$cap_db_pass as password - - $$cap_db_name as database name - displayName: Limesurvey - description: Limesurvey is an open source online survey tool. diff --git a/public/v4/apps/lychee.yml b/public/v4/apps/lychee.yml deleted file mode 100644 index a7e0524..0000000 --- a/public/v4/apps/lychee.yml +++ /dev/null @@ -1,83 +0,0 @@ -captainVersion: 4 -services: - # Lychee - $$cap_appname: - depends_on: - - $$cap_appname-mariadb - image: lycheeorg/lychee:$$cap_lychee_version - restart: unless-stopped - environment: - TZ: $$cap_tz - PUID: $$cap_puid - PGID: $$cap_guid - DB_CONNECTION: mysql - DB_HOST: srv-captain--$$cap_appname-mariadb - DB_PORT: '3306' - DB_DATABASE: $$cap_mariadb-db - DB_USERNAME: $$cap_mariadb-user - DB_PASSWORD: $$cap_mariadb-password - STARTUP_DELAY: '30' - volumes: - - $$cap_appname-conf:/conf - - $$cap_appname-uploads:/uploads - - $$cap_appname-sym:/sym - # MariaDB - $$cap_appname-mariadb: - image: mariadb:$$cap_mariadb_version - environment: - MYSQL_RANDOM_ROOT_PASSWORD: '1' - MYSQL_DATABASE: $$cap_mariadb-db - MYSQL_USER: $$cap_mariadb-user - MYSQL_PASSWORD: $$cap_mariadb-password - volumes: - - $$cap_appname-db-data:/var/lib/mysql - restart: unless-stopped - caproverExtra: - notExposeAsWebApp: 'true' -caproverOneClickApp: - variables: - - id: $$cap_tz - label: Timezone - description: This is the timezone for the application, find yours at https://en.wikipedia.org/wiki/List_of_tz_database_time_zones - defaultValue: Europe/Brussels - - id: $$cap_lychee_version - label: Lychee Version - defaultValue: 'v4.0.7' - description: Check out their docker page for the valid tags https://hub.docker.com/r/lycheeorg/lychee/tags - validRegex: /^([^\s^\/])+$/ - - id: $$cap_puid - label: User ID - defaultValue: '1000' - description: User ID that the process uses, run (id $user) in your instance to see the id - validRegex: /.{1,}/ - - id: $$cap_guid - label: Group ID - defaultValue: '1000' - description: Group ID that the process uses, run (id $user) in your instance to see the id - validRegex: /.{1,}/ - - id: $$cap_mariadb_version - label: MariaDB Version - defaultValue: '10.5.6' - description: Check out their docker page for the valid tags https://hub.docker.com/r/library/mariadb/tags/ - validRegex: /^([^\s^\/])+$/ - - id: $$cap_mariadb-db - label: MariaDB Database - description: Database for Lychee - defaultValue: 'lychee' - - id: $$cap_mariadb-user - label: MariaDB User - description: Database User for Lychee - defaultValue: 'lychee' - - id: $$cap_mariadb-password - label: MariaDB database user password - description: Super secret database user password - instructions: - start: >- - A great looking and easy-to-use photo-management-system. - end: >- - Aaaand you're done! πŸ˜„ - Your service is available at http://$$cap_appname.$$cap_root_domain - displayName: 'Lychee' - isOfficial: true - description: A great looking and easy-to-use photo-management-system. - documentation: Taken from https://github.com/lycheeorg/lychee diff --git a/public/v4/apps/mailtrain.yml b/public/v4/apps/mailtrain.yml deleted file mode 100644 index e33cfb8..0000000 --- a/public/v4/apps/mailtrain.yml +++ /dev/null @@ -1,104 +0,0 @@ -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 -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 diff --git a/public/v4/apps/mariadb.yml b/public/v4/apps/mariadb.yml deleted file mode 100644 index 62899f9..0000000 --- a/public/v4/apps/mariadb.yml +++ /dev/null @@ -1,39 +0,0 @@ -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' -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. diff --git a/public/v4/apps/mastodon.yml b/public/v4/apps/mastodon.yml deleted file mode 100644 index 797b3a2..0000000 --- a/public/v4/apps/mastodon.yml +++ /dev/null @@ -1,227 +0,0 @@ -captainVersion: 4 -services: - # Mastodon - $$cap_appname: - environment: - LOCAL_DOMAIN: $$cap_appname.$$cap_root_domain - ALTERNATE_DOMAINS: $$cap_alt_domain - REDIS_HOST: srv-captain--$$cap_appname-redis - REDIS_PORT: 6379 - REDIS_PASSWORD: $$cap_redis_password - DB_HOST: srv-captain--$$cap_appname-postgres - DB_USER: mastodon - DB_NAME: mastodon_production - DB_PASS: $$cap_postgres_password - DB_PORT: 5432 - ES_ENABLED: 'false' - OTP_SECRET: $$cap_opt_secret_base - SECRET_KEY_BASE: $$cap_secret_key_base - VAPID_PRIVATE_KEY: $$cap_gen_random_hex(16) - VAPID_PUBLIC_KEY: $$cap_gen_random_hex(16) - SINGLE_USER_MODE: $$cap_su_mode - SMTP_SERVER: $$cap_smtp_server - SMTP_PORT: $$cap_smtp_port - SMTP_LOGIN: $$cap_smtp_user - SMTP_PASSWORD: $$cap_smtp_pass - SMTP_FROM_ADDRESS: $$cap_smtp_from - SMTP_TLS: $$cap_smtp_tls - S3_ENABLED: 'false' - RAILS_ENV: production - volumes: - - $$cap_appname-system:/mastodon/public/system - caproverExtra: - containerHttpPort: '3000' - dockerfileLines: - - FROM tootsuite/mastodon:$$cap_mastodon_version - - CMD rm -f /mastodon/tmp/pids/server.pid; bundle exec rails db:setup; bundle exec rails s -b 0.0.0.0 -p 3000 - # Streaming - $$cap_appname-streaming: - environment: - LOCAL_DOMAIN: $$cap_appname.$$cap_root_domain - ALTERNATE_DOMAINS: $$cap_alt_domain - REDIS_HOST: srv-captain--$$cap_appname-redis - REDIS_PORT: 6379 - REDIS_PASSWORD: $$cap_redis_password - DB_HOST: srv-captain--$$cap_appname-postgres - DB_USER: mastodon - DB_NAME: mastodon_production - DB_PASS: $$cap_postgres_password - DB_PORT: 5432 - ES_ENABLED: 'false' - OTP_SECRET: $$cap_opt_secret_base - SECRET_KEY_BASE: $$cap_secret_key_base - VAPID_PRIVATE_KEY: $$cap_gen_random_hex(16) - VAPID_PUBLIC_KEY: $$cap_gen_random_hex(16) - SINGLE_USER_MODE: $$cap_su_mode - SMTP_SERVER: $$cap_smtp_server - SMTP_PORT: $$cap_smtp_port - SMTP_LOGIN: $$cap_smtp_user - SMTP_PASSWORD: $$cap_smtp_pass - SMTP_FROM_ADDRESS: $$cap_smtp_from - SMTP_TLS: $$cap_smtp_tls - S3_ENABLED: 'false' - RAILS_ENV: production - volumes: - - $$cap_appname-system:/mastodon/public/system - caproverExtra: - containerHttpPort: '4000' - dockerfileLines: - - FROM tootsuite/mastodon:$$cap_mastodon_version - - CMD node ./streaming - # Sidekiq - $$cap_appname-sidekiq: - environment: - LOCAL_DOMAIN: $$cap_appname.$$cap_root_domain - ALTERNATE_DOMAINS: $$cap_alt_domain - REDIS_HOST: srv-captain--$$cap_appname-redis - REDIS_PORT: 6379 - REDIS_PASSWORD: $$cap_redis_password - DB_HOST: srv-captain--$$cap_appname-postgres - DB_USER: mastodon - DB_NAME: mastodon_production - DB_PASS: $$cap_postgres_password - DB_PORT: 5432 - ES_ENABLED: 'false' - OTP_SECRET: $$cap_opt_secret_base - SECRET_KEY_BASE: $$cap_secret_key_base - VAPID_PRIVATE_KEY: $$cap_gen_random_hex(16) - VAPID_PUBLIC_KEY: $$cap_gen_random_hex(16) - SINGLE_USER_MODE: $$cap_su_mode - SMTP_SERVER: $$cap_smtp_server - SMTP_PORT: $$cap_smtp_port - SMTP_LOGIN: $$cap_smtp_user - SMTP_PASSWORD: $$cap_smtp_pass - SMTP_FROM_ADDRESS: $$cap_smtp_from - SMTP_TLS: $$cap_smtp_tls - S3_ENABLED: 'false' - RAILS_ENV: production - volumes: - - $$cap_appname-system:/mastodon/public/system - caproverExtra: - dockerfileLines: - - FROM tootsuite/mastodon:$$cap_mastodon_version - - CMD bundle exec sidekiq - notExposeAsWebApp: 'true' - # PostgreSQL - $$cap_appname-postgres: - image: postgres:12 - volumes: - - $$cap_appname-postgres-data:/var/lib/postgresql/data - environment: - POSTGRES_USER: mastodon - POSTGRES_PASSWORD: $$cap_postgres_password - POSTGRES_DB: mastodon_production - caproverExtra: - notExposeAsWebApp: 'true' - # Redis - $$cap_appname-redis: - volumes: - - $$cap_appname-redis-data:/data - environment: - REDIS_PASSWORD: $$cap_redis_password - caproverExtra: - dockerfileLines: - - FROM redis:alpine - - CMD exec redis-server --requirepass "$$cap_redis_password" - notExposeAsWebApp: 'true' -caproverOneClickApp: - variables: - - id: $$cap_mastodon_version - label: Mastodon Version Tag - description: You can use latest tag or check version builds on https://hub.docker.com/r/tootsuite/mastodon/tags - defaultValue: v3.3.0 - - - id: $$cap_secret_key_base - defaultValue: $$cap_gen_random_hex(64) - label: 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_opt_secret_base - defaultValue: $$cap_gen_random_hex(64) - label: One-time password secret - description: Two-Factor Authentication (2FA) Key - validRegex: /^[^\@]{26,}$/ - - - id: $$cap_postgres_password - defaultValue: $$cap_gen_random_hex(12) - label: Postgres Password - description: Password must be at least 12 characters. Please use a random string. - validRegex: /^[^\@]{12,}$/ - - - id: $$cap_redis_password - defaultValue: $$cap_gen_random_hex(12) - label: Redis Password - description: Password must be at least 12 characters. Please use a random string. - validRegex: /^[^\@]{12,}$/ - - - id: $$cap_alt_domain - label: Alternate domains (optional) - description: If you have multiple domains pointed at your Mastodon server, this setting will allow Mastodon to recognize itself when users are addressed using those other domains. Separate the domains by commas, e.g. foo.com,bar.com - - - id: $$cap_su_mode - label: Single user mode - defaultValue: 'false' - description: If set to true, the frontpage of your Mastodon server will always redirect to the first profile in the database and registrations will be disabled. - - - id: $$cap_smtp_server - label: SMTP hostname - validRegex: /^([^\s^\/])+$/ - - - id: $$cap_smtp_user - label: SMTP username - validRegex: /^([^\s^\/])+$/ - - - id: $$cap_smtp_from - label: SMTP from - validRegex: /^([^\s^\/])+$/ - - - id: $$cap_smtp_pass - label: SMTP password - validRegex: /^([^\s^\/])+$/ - - - id: $$cap_smtp_port - label: SMTP port - validRegex: /^([^\s^\/])+$/ - - - id: $$cap_smtp_tls - label: SMTP TLS - validRegex: /^([^\s^\/])+$/ - instructions: - start: >- - Before you proceed keep a note of the following. - - -------------------------------------------------- - - - After you deploy mastodon and created your fist user in the browser, you will need to use the command line to give your newly created account admin privileges. - - - Step 1: From your terminal run the following command. - - docker exec -it $(docker ps --filter name='srv-captain--{appname}.1' -q) /bin/bash - - - Step 2: Now that you are inside your mastodon container: run the following command assuming your username is alice: - - "RAILS_ENV=production bin/tootctl accounts modify alice --role admin" - - - Step 3: Now we have to give our persistent directory the correct user rights - - From your terminal run the following assuming your app name is mastodon - - chown -R 991:991 /var/lib/docker/volumes/captain--{appname}-system - end: >- - Aaaand you're done! πŸ˜„ - - Your service is available at http://$$cap_appname.$$cap_root_domain - - - You can add more environment variables to use with aws s3 for example - - Check out https://docs.joinmastodon.org/admin/config/ for more env vars - displayName: Mastodon - isOfficial: true - description: Social networking, back in your hands. - documentation: 'Read more at: https://docs.joinmastodon.org/' diff --git a/public/v4/apps/matomo.yml b/public/v4/apps/matomo.yml deleted file mode 100644 index 78bce26..0000000 --- a/public/v4/apps/matomo.yml +++ /dev/null @@ -1,57 +0,0 @@ -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_RANDOM_ROOT_PASSWORD: true - caproverExtra: - dockerfileLines: - - FROM mariadb:$$cap_mysql_version - - CMD ["--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 - documentation: taken from https://github.com/matomo-org/docker/blob/master/.examples/apache/docker-compose.yml example - 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 -caproverOneClickApp: - variables: - - id: $$cap_matomo_version - label: Matomo Version - defaultValue: 4.2.1 - 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.5.9 - 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: The root password to use for the MariaDB instance - validRegex: /.{1,}/ - defaultValue: $$cap_gen_random_hex(32) - instructions: - start: Matomo is the leading open-source analytics platform that gives you more than powerful analytics. - end: >- - Matomo is successfully deployed! - your application will be available in the next few seconds. Please note to enable https if you need to track datas on https websites. - 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-ee.yml b/public/v4/apps/mattermost-ee.yml deleted file mode 100644 index 1aadcd9..0000000 --- a/public/v4/apps/mattermost-ee.yml +++ /dev/null @@ -1,50 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname-db: - image: mattermost/mattermost-prod-db:$$cap_mattermost_version - volumes: - - $$cap_appname-db-data:/var/lib/postgresql/data - restart: always - environment: - POSTGRES_USER: mmuser - POSTGRES_PASSWORD: $$cap_pg_pass - POSTGRES_DB: mattermost - caproverExtra: - notExposeAsWebApp: 'true' - $$cap_appname: - image: mattermost/mattermost-prod-app:$$cap_mattermost_version - depends_on: - - $$cap_appname-db - 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_USERNAME: mmuser - MM_PASSWORD: $$cap_pg_pass - MM_DBNAME: mattermost - DB_HOST: srv-captain--$$cap_appname-db - MM_SERVICESETTINGS_SITEURL: https://$$cap_appname.$$cap_root_domain - caproverExtra: - containerHttpPort: '8000' -caproverOneClickApp: - variables: - - id: $$cap_mattermost_version - label: mattermost Docker Image tag - defaultValue: v5.31.1 - description: Check out their Docker page for the valid tags https://hub.docker.com/r/mattermost/mattermost-prod-app/tags - - id: $$cap_pg_pass - label: Database Password - description: Password must be at least 30 characters. Please use a random string. - defaultValue: $$cap_gen_random_hex(32) - validRegex: /^[^\@]{30,}$/ - instructions: - start: Open-source collaboration/chat server Mattermost Team Edition. Note that version of mattermost is the E0 version, you do not need any licence to run it. This version is the one recommanded by mattermost to allow one click upgrade for E10 and E20 versions. - end: Mattermost is deployed and available as srv-captain--$$cap_appname. Note that the application may take up to ten minutes to become available. - displayName: Mattermost Entreprise Edition E0 - isOfficial: true - description: Mattermost Team Edition open source collaboration/chat software - documentation: https://github.com/mattermost/mattermost-docker diff --git a/public/v4/apps/mattermost.yml b/public/v4/apps/mattermost.yml deleted file mode 100644 index b1bb631..0000000 --- a/public/v4/apps/mattermost.yml +++ /dev/null @@ -1,56 +0,0 @@ -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 -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 diff --git a/public/v4/apps/mautic.yml b/public/v4/apps/mautic.yml deleted file mode 100644 index 6626166..0000000 --- a/public/v4/apps/mautic.yml +++ /dev/null @@ -1,67 +0,0 @@ -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' -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. - - 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. - - - 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. diff --git a/public/v4/apps/meilisearch.yml b/public/v4/apps/meilisearch.yml deleted file mode 100644 index 8351516..0000000 --- a/public/v4/apps/meilisearch.yml +++ /dev/null @@ -1,95 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - image: getmeili/meilisearch:$$cap_app_version - volumes: - - $$cap_appname-data:/data.ms - - $$cap_appname-snapshot:/snapshot - - $$cap_appname-dump:/dumps - restart: always - environment: - MEILI_MASTER_KEY: $$cap_master_key - MEILI_NO_ANALYTICS: $$cap_no_analytics - MEILI_ENV: $$cap_env - MEILI_HTTP_PAYLOAD_SIZE_LIMIT: $$cap_payload_size - MEILI_MAX_MDB_SIZE: $$cap_max_mdb_size - MEILI_MAX_UDB_SIZE: $$cap_max_udb_size - MEILI_NO_SENTRY: $$cap_no_sentry - MEILI_SCHEDULE_SNAPSHOT: $$cap_schedule_snapshot - MEILI_SNAPSHOT_INTERVAL_SEC: $$cap_snapshot_interval - MEILI_DUMP_BATCH_SIZE: $$cap_dump_batchsize - caproverExtra: - containerHttpPort: '7700' -caproverOneClickApp: - variables: - - id: $$cap_app_version - label: MeiliSearch Version - description: 'Check out their Docker page for the valid tags: https://hub.docker.com/r/getmeili/meilisearch/tags' - defaultValue: 'v0.20.0' - validRegex: /^([^\s^\/])+$/ - - id: $$cap_master_key - label: MeiliSearch Master Key - description: 'The master key allowing you to do everything on the server. If no master key is provided all routes will be accessible without keys. (https://docs.meilisearch.com/reference/features/configuration.html#master-key)' - defaultValue: $$cap_gen_random_hex(64) - validRegex: /^([^\s^\/])+$/ - - id: $$cap_no_analytics - label: Disable MeiliSearch Analytics - defaultValue: 'false' - validRegex: /^(true|false)$/ - description: Analytics allow us to know how many users are using MeiliSearch and the following (https://docs.meilisearch.com/reference/features/configuration.html#analytics) - - id: $$cap_env - label: MeiliSearch Environment (development/production) - defaultValue: 'development' - validRegex: /^(production|development)$/ - description: In production mode, the web interface is disabled. (https://docs.meilisearch.com/reference/features/configuration.html#environment) - - id: $$cap_payload_size - label: Payload Limit Size - defaultValue: '104857600' - validRegex: /^\d[\d.]*$/ - description: The maximum size, in bytes, of accepted JSON payloads. - - id: $$cap_max_mdb_size - label: Max MDB Size - defaultValue: '107374182400' - validRegex: /^\d[\d.]*$/ - description: The maximum size, in bytes, of the main database. The main database stores the processed data. (https://docs.meilisearch.com/reference/features/configuration.html#max-mdb-size) - - id: $$cap_max_udb_size - label: Max UDB Size - defaultValue: '107374182400' - validRegex: /^\d[\d.]*$/ - description: The maximum size, in bytes, of the update database. The update database stores the pending updates. - - id: $$cap_no_sentry - label: Disable Sentry - defaultValue: 'true' - validRegex: /^(true|false)$/ - description: MeiliSearch use Sentry to get bug reports and diagnostics, and improve MeiliSearch experience. To deactivate Sentry, set this value to true. - - id: $$cap_schedule_snapshot - label: Schedule Snapshot Creation - defaultValue: 'false' - validRegex: /^(true|false)$/ - description: To activate scheduled snapshots, set this value to true. Disabled by default. - - id: $$cap_snapshot_interval - label: Snapshot Interval - defaultValue: '86400' - validRegex: /^\d[\d.]*$/ - description: Defines the time gap in seconds between each snapshot creation. - - id: $$cap_dump_batchsize - label: Dump Batch Size - defaultValue: '1024' - validRegex: /^\d[\d.]*$/ - description: Sets the batch size used in the dump importation process. - instructions: - start: >- - MeiliSearch is a lightning Fast, Ultra Relevant, and Typo-Tolerant Search Engine - end: >- - Your service is available at http://$$cap_appname.$$cap_root_domain - - Each instance of MeiliSearch has three keys- a master, a private, and a public. (https://docs.meilisearch.com/reference/api/keys.html#keys) - - - Get your private and public key using- - - curl -H "X-Meili-API-Key: $$cap_master_key" -X GET 'http://$$cap_appname.$$cap_root_domain/keys' - displayName: 'MeiliSearch' - isOfficial: true - description: MeiliSearch is a lightning Fast, Ultra Relevant, and Typo-Tolerant Search Engine - documentation: https://docs.meilisearch.com/ diff --git a/public/v4/apps/metabase.yml b/public/v4/apps/metabase.yml deleted file mode 100644 index 93a4173..0000000 --- a/public/v4/apps/metabase.yml +++ /dev/null @@ -1,69 +0,0 @@ -captainVersion: 4 -services: - # Metabase - $$cap_appname: - image: metabase/metabase:$$cap_mb_version - restart: always - environment: - MB_DB_TYPE: postgres - MB_DB_DBNAME: metabase - MB_DB_PORT: 5432 - MB_DB_USER: metabase - MB_DB_PASS: $$cap_db_pass - MB_DB_HOST: srv-captain--$$cap_appname-db - MB_EMAIL_SMTP_HOST: $$cap_smtp_host - MB_EMAIL_SMTP_PORT: $$cap_smtp_port - MB_EMAIL_SMTP_USERNAME: $$cap_smtp_user - MB_EMAIL_SMTP_PASSWORD: $$cap_smtp_pass - volumes: - - $$cap_appname-data:/metabase-data - caproverExtra: - containerHttpPort: '3000' - # Database - $$cap_appname-db: - image: postgres:12-alpine - volumes: - - $$cap_appname-db:/var/lib/postgresql/data - restart: always - environment: - POSTGRES_USER: metabase - POSTGRES_PASSWORD: $$cap_db_pass - POSTGRES_DB: metabase - caproverExtra: - notExposeAsWebApp: 'true' -caproverOneClickApp: - variables: - - id: $$cap_mb_version - label: Metabase Version - defaultValue: 'v0.38.0-rc1' - description: Check out their docker page for the valid tags https://hub.docker.com/r/metabase/metabase/tags - - - id: $$cap_db_pass - label: Database Password - defaultValue: $$cap_gen_random_hex(16) - - - id: $$cap_smtp_host - label: SMTP Host - description: OPTIONAL - - - id: $$cap_smtp_port - label: SMTP Port - description: OPTIONAL - - - id: $$cap_smtp_user - label: SMTP User - description: OPTIONAL - - - id: $$cap_smtp_pass - label: SMTP Password - description: OPTIONAL - instructions: - start: >- - Metabase is the easy, open source way for everyone in your company to ask questions and learn from data. - end: >- - Aaaand you're done! πŸ˜„ - Your service is available at http://$$cap_appname.$$cap_root_domain - displayName: 'Metabase' - isOfficial: true - description: Metabase is the easy, open source way for everyone in your company to ask questions and learn from data. - documentation: https://www.metabase.com/docs/latest/operations-guide/running-metabase-on-docker.html diff --git a/public/v4/apps/miniflux.yml b/public/v4/apps/miniflux.yml deleted file mode 100644 index a99abad..0000000 --- a/public/v4/apps/miniflux.yml +++ /dev/null @@ -1,54 +0,0 @@ -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' -caproverOneClickApp: - variables: - - id: $$cap_miniflux_version - label: Miniflux version - defaultValue: 2.0.22 - description: Check out 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: Check out 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 deleted file mode 100644 index d418d76..0000000 --- a/public/v4/apps/minio.yml +++ /dev/null @@ -1,41 +0,0 @@ -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"] -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 diff --git a/public/v4/apps/mongo-express.yml b/public/v4/apps/mongo-express.yml deleted file mode 100644 index 6efa797..0000000 --- a/public/v4/apps/mongo-express.yml +++ /dev/null @@ -1,59 +0,0 @@ -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_gen_random_hex(16) - ME_CONFIG_SITE_SESSIONSECRET: $$cap_appname$$cap_gen_random_hex(16) - 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.54' - 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 diff --git a/public/v4/apps/mongodb-backup-s3.yml b/public/v4/apps/mongodb-backup-s3.yml deleted file mode 100644 index 361b258..0000000 --- a/public/v4/apps/mongodb-backup-s3.yml +++ /dev/null @@ -1,88 +0,0 @@ -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 -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 diff --git a/public/v4/apps/mongodb.yml b/public/v4/apps/mongodb.yml deleted file mode 100644 index 21edbaa..0000000 --- a/public/v4/apps/mongodb.yml +++ /dev/null @@ -1,40 +0,0 @@ -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' -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. - - 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/ diff --git a/public/v4/apps/monica.yml b/public/v4/apps/monica.yml deleted file mode 100644 index efc87c0..0000000 --- a/public/v4/apps/monica.yml +++ /dev/null @@ -1,63 +0,0 @@ -captainVersion: 4 -services: - # Monica - $$cap_appname: - depends_on: - - $$cap_appname-mariadb - image: monica:$$cap_monica_version - restart: 'always' - environment: - APP_KEY: $$cap_gen_random_hex(32) - DB_HOST: srv-captain--$$cap_appname-mariadb - DB_DATABASE: $$cap_mariadb-db - DB_USERNAME: $$cap_mariadb-user - DB_PASSWORD: $$cap_mariadb-pass - APP_ENV: 'production' - volumes: - - $$cap_appname-storage:/var/www/html/storage - # MariaDB - $$cap_appname-mariadb: - image: mariadb:$$cap_mariadb_version - environment: - MYSQL_RANDOM_ROOT_PASSWORD: '1' - MYSQL_DATABASE: $$cap_mariadb-db - MYSQL_USER: $$cap_mariadb-user - MYSQL_PASSWORD: $$cap_mariadb-pass - volumes: - - $$cap_appname-mariadb-data:/var/lib/mysql - restart: unless-stopped - caproverExtra: - notExposeAsWebApp: 'true' -caproverOneClickApp: - variables: - - id: $$cap_monica_version - label: Monica Docker version - defaultValue: '2.19.1' - description: Check out this page for the valid tags Find on https://hub.docker.com/_/monica?tab=tags. Use the Apache tag otherwise it won't work. - - id: $$cap_mariadb_version - label: MariaDB Version - defaultValue: '10.5.6' - description: Check out their docker page for the valid tags https://hub.docker.com/r/library/mariadb/tags/ - validRegex: /^([^\s^\/])+$/ - - id: $$cap_mariadb-db - label: MariaDB Database - description: Database name for Monica - defaultValue: 'monica' - - id: $$cap_mariadb-user - label: MariaDB User - description: Database User for Monica - defaultValue: 'monica' - - id: $$cap_mariadb-pass - label: MariaDB database user password - description: Super secret database user password - instructions: - start: >- - Monica is a great open source personal relationship management system to organize the interactions with your loved ones. - end: >- - Aaaand you're done! πŸ˜„ - - Wait approximately 1 minutes until all migrations are done and then access Monica at https://$$cap_appname.$$cap_root_domain from your host system. If this looks ok, add your first user account. - displayName: 'Monica' - isOfficial: true - description: Monica is a great open source personal relationship management system to organize the interactions with your loved ones. - documentation: Taken from https://hub.docker.com/_/monica diff --git a/public/v4/apps/mssql.yml b/public/v4/apps/mssql.yml deleted file mode 100644 index a83b4d3..0000000 --- a/public/v4/apps/mssql.yml +++ /dev/null @@ -1,66 +0,0 @@ -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' -caproverOneClickApp: - variables: - - id: $$cap_server_version - label: Version - defaultValue: 2017-CU12-ubuntu - description: Check out 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. - - 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. - - 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. - - 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 deleted file mode 100644 index 57cc5bf..0000000 --- a/public/v4/apps/mysql.yml +++ /dev/null @@ -1,34 +0,0 @@ -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' -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. - - 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 diff --git a/public/v4/apps/n8n-io.yml b/public/v4/apps/n8n-io.yml deleted file mode 100644 index 3ebe5c7..0000000 --- a/public/v4/apps/n8n-io.yml +++ /dev/null @@ -1,92 +0,0 @@ -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 - - $$cap_appname-data-write:/files - - /var/run/docker.sock:/var/run/docker.sock - environment: - DB_POSTGRESDB_DATABASE: n8n - DB_POSTGRESDB_HOST: srv-captain--$$cap_appname-db - DB_POSTGRESDB_PASSWORD: $$cap_db_pass - DB_POSTGRESDB_PORT: '5432' - DB_POSTGRESDB_USER: $$cap_db_user - DB_TYPE: postgresdb - GENERIC_TIMEZONE: $$cap_timezone - TZ: $$cap_timezone - N8N_PROTOCOL: http - WEBHOOK_TUNNEL_URL: https://$$cap_appname.$$cap_root_domain/ - VUE_APP_URL_BASE_API: https://$$cap_appname.$$cap_root_domain/ - N8N_HOST: https://$$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.116.1 - 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/_/postgres?tab=tags - validRegex: /^([^\s^\/])+$/ - - id: $$cap_db_pass - label: database password - defaultValue: $$cap_gen_random_hex(16) - 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. It will take about a minute for the process to finish. - end: >- - n8n is deployed and available as $$cap_appname. - - IMPORTANT!! You need to enable https and websocket support. - - Also, make sure you do not activate basic auth manually. - 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 deleted file mode 100644 index 81ab3d6..0000000 --- a/public/v4/apps/nextcloud.yml +++ /dev/null @@ -1,122 +0,0 @@ -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-redis: - documentation: Taken from https://github.com/nextcloud/docker/blob/master/.examples/docker-compose/with-nginx-proxy/mariadb-cron-redis/apache/docker-compose.yml - image: redis:$$cap_redis_version - restart: always - caproverExtra: - notExposeAsWebApp: 'true' - $$cap_appname: - depends_on: - - $$cap_appname-db - - $$cap_appname-redis - 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 - REDIS_HOST: srv-captain--$$cap_appname-redis - NEXTCLOUD_ADMIN_USER: $$cap_admin_user - NEXTCLOUD_ADMIN_PASSWORD: $$cap_admin_pass - NEXTCLOUD_TRUSTED_DOMAINS: $$cap_appname.$$cap_root_domain $$cap_hostnames - $$cap_appname-cron: - depends_on: - - $$cap_appname-db - - $$cap_appname-redis - - $$cap_appname - documentation: https://github.com/nextcloud/docker/blob/master/.examples/docker-compose/with-nginx-proxy/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: 21.0.1 - description: >- - Check out their Docker page for the valid tags https://hub.docker.com/_/nextcloud?tab=tags - - - Do not use fpm versions. - validRegex: /^((?!fpm)\S)+$/ - - id: $$cap_redis_version - label: Redis Version - defaultValue: 6.2.2 - description: Check out their Docker page for the valid tags https://hub.docker.com/_/redis?tab=tags - validRegex: /^([^\s^\/])+$/ - - id: $$cap_mariadb_version - label: MariaDB (database) version - defaultValue: 10.5.9 - description: Check out their Docker page for the valid tags https://hub.docker.com/_/mariadb?tab=tags - validRegex: /^([^\s^\/])+$/ - - id: $$cap_db_user - label: database user - defaultValue: nextcloud - description: Username for the database using mysql. - validRegex: /^([a-zA-Z0-9])+$/ - - id: $$cap_db_pass - label: database password - defaultValue: $$cap_gen_random_hex(32) - description: Password for the database user and root using mysql. - validRegex: /.{1,}/ - - 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: /.{8,}/ - - 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]?$/ - - id: $$cap_hostnames - label: hostnames - description: Add all your additional hostnames where nextcloud will be exposed separated by space char. After first run, this variables are not reloaded by nextcloud and you will have to change the configuration according to the nextcloud's documentation. - 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. - - - For better performances and compliance, click on "edit default nginx configuration" button then - below "proxy_set_header X-Forwarded-Proto $scheme;" - add "add_header Strict-Transport-Security "max-age=15552000; includeSubDomains" always;" into the nginx configuration. - - You can see HSTS parts of the nextcloud security documentation https://docs.nextcloud.com/server/21/admin_manual/installation/harden_server.html for further informations - - - You can also scan your nextcloud instance on https://scan.nextcloud.com/ - 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 deleted file mode 100644 index 1229443..0000000 --- a/public/v4/apps/nexus3.yml +++ /dev/null @@ -1,34 +0,0 @@ -captainVersion: 4 -services: - $$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. - - - Enter your Nexus Configuration parameters and click on next. - - Notes: - - 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/ diff --git a/public/v4/apps/nginx-redirect.yml b/public/v4/apps/nginx-redirect.yml deleted file mode 100644 index d69538f..0000000 --- a/public/v4/apps/nginx-redirect.yml +++ /dev/null @@ -1,21 +0,0 @@ -captainVersion: 4 -services: - $$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 diff --git a/public/v4/apps/nginx-reverse-proxy.yml b/public/v4/apps/nginx-reverse-proxy.yml deleted file mode 100644 index cf94109..0000000 --- a/public/v4/apps/nginx-reverse-proxy.yml +++ /dev/null @@ -1,29 +0,0 @@ -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 -caproverOneClickApp: - variables: - - id: $$cap_upstream_http_address - label: Upstream address - description: >- - For example use https://caprover.com to forward all request to CapRover. Do not include a trailing slash. - 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 deleted file mode 100644 index b151fc3..0000000 --- a/public/v4/apps/nightscout.yml +++ /dev/null @@ -1,62 +0,0 @@ -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"] -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) diff --git a/public/v4/apps/node-red.yml b/public/v4/apps/node-red.yml deleted file mode 100644 index 16e080d..0000000 --- a/public/v4/apps/node-red.yml +++ /dev/null @@ -1,33 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - image: nodered/node-red:$$cap_node-red_version - volumes: - - $$cap_appname-data:/data - restart: always - environment: - TZ: $$cap_node-red_timezone - caproverExtra: - containerHttpPort: '1880' -caproverOneClickApp: - variables: - - id: $$cap_node-red_version - label: node-red version tag - description: Check out their docker page for the valid tags @ https://hub.docker.com/r/nodered/node-red/tags - defaultValue: 1.1.3-12-minimal - - id: $$cap_node-red_timezone - label: timezone - description: Check out this list and use tz database name as value @ https://en.wikipedia.org/wiki/List_of_tz_database_time_zones - defaultValue: Europe/Berlin - instructions: - start: Low-code programming for event-driven applications - end: >- - node-red is deployed and available as $$cap_appname. - To make it function correctly, you have to enable websocket-support. - It would be also a good idea to set basic authentication or modify the node-red settings respectively to the documentation. - - IMPORTANT: It will take up to 2 minutes for node-red to be ready. Before that, you might see 502 error page. - displayName: 'Node-Red' - description: Low-code programming for event-driven applications - documentation: Read the documentation @ https://nodered.org/docs/ - isOfficial: true diff --git a/public/v4/apps/odoo.yml b/public/v4/apps/odoo.yml deleted file mode 100644 index edbf79a..0000000 --- a/public/v4/apps/odoo.yml +++ /dev/null @@ -1,54 +0,0 @@ -captainVersion: 4 -networks: - 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' -caproverOneClickApp: - variables: - - id: $$cap_postgres_version - label: Postgres Version - defaultValue: 9.6.18-alpine - description: Check out 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: Check out 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/ohmyform.yml b/public/v4/apps/ohmyform.yml deleted file mode 100644 index 3182388..0000000 --- a/public/v4/apps/ohmyform.yml +++ /dev/null @@ -1,82 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname-redis: - image: redis - caproverExtra: - notExposeAsWebApp: 'true' - $$cap_appname-mongo: - image: mongo - volumes: - - $$cap_appname-mongo-data:/data/db - environment: - MONGO_INITDB_ROOT_USERNAME: $$cap_db_user - MONGO_INITDB_ROOT_PASSWORD: $$cap_db_pass - caproverExtra: - notExposeAsWebApp: 'true' - $$cap_appname-mailhog: - image: mailhog/mailhog - caproverExtra: - notExposeAsWebApp: 'true' - $$cap_appname-api: - image: ohmyform/api - environment: - CREATE_ADMIN: true - ADMIN_EMAIL: $$cap_ohmyform_email - ADMIN_USERNAME: $$cap_ohmyform_user - ADMIN_PASSWORD: $$cap_ohmyform_pass - MONGODB_URI: mongodb://$$cap_db_user:$$cap_db_pass@srv-captain--$$cap_appname-mongo:27017/$$cap_appname?authSource=admin - MAILER_URI: smtp://srv-captain--$$cap_appname-mailhog:1025 - REDIS_URL: redis://$$cap_appname-redis - SECRET_KEY: $$cap_gen_random_hex(64) - PORT: 5000 - caproverExtra: - containerHttpPort: '5000' - $$cap_appname: - image: ohmyform/ui - environment: - API_HOST: https://$$cap_appname-api.$$cap_root_domain/graphql - HIDE_CONTRIB: true - APP_NAME: $$cap_ohmyform_title - PORT: 5000 - caproverExtra: - containerHttpPort: '5000' -caproverOneClickApp: - variables: - - id: $$cap_ohmyform_email - label: Admin E-Mail - description: E-Mail for the OhMyForm admin user - validRegex: /.{1,}/ - - id: $$cap_ohmyform_user - label: Admin user name - description: User name for the OhMyForm admin user - defaultValue: ohmyadmin - validRegex: /.{1,}/ - - id: $$cap_ohmyform_pass - label: Admin password - description: Password for the OhMyForm admin user - defaultValue: $$cap_gen_random_hex(64) - validRegex: /.{1,}/ - - id: $$cap_db_user - label: Database user - defaultValue: ohmyform - validRegex: /^([a-zA-Z0-9])+$/ - - id: $$cap_db_pass - label: Database password - defaultValue: $$cap_gen_random_hex(64) - validRegex: /.{1,}/ - - id: $$cap_ohmyform_title - label: Title - description: Title for OhMyForm - defaultValue: OhMyForm - validRegex: /.{1,}/ - instructions: - start: |- - An open source alternative to TypeForm and Google Forms that can create stunning mobile-ready forms, surveys and questionnaires. - With OhMyForm you'll get all the features you need to run, administer, analyze and distribute forms for free. - More details: https://ohmyform.com/ - end: |- - OhMyForm has been successfully deployed! Be sure to activate (or better yet, enforce) https access for $$cap_appname-api and $$cap_appname. You can then log in with user $$cap_ohmyform_user and password $$cap_ohmyform_pass at https://$$cap_appname.$$cap_root_domain - displayName: OhMyForm - isOfficial: true - description: Create stunning embedable forms for recruiting, market research, surveys and more https://ohmyform.com/ - documentation: https://ohmyform.com/docs/ diff --git a/public/v4/apps/onlyoffice-documentserver.yml b/public/v4/apps/onlyoffice-documentserver.yml deleted file mode 100644 index b6e003c..0000000 --- a/public/v4/apps/onlyoffice-documentserver.yml +++ /dev/null @@ -1,32 +0,0 @@ -captainVersion: 4 -version: '2.0' -services: - $$cap_appname: - image: onlyoffice/documentserver:$$cap_app_version - volumes: - - $$cap_appname-logs:/app/onlyoffice/DocumentServer/logs - - $$cap_appname-data:/app/onlyoffice/DocumentServer/data - - $$cap_appname-lib:/app/onlyoffice/DocumentServer/lib - - $$cap_appname-rabbitmq:/app/onlyoffice/DocumentServer/rabbitmq - - $$cap_appname-redis:/app/onlyoffice/DocumentServer/redis - - $$cap_appname-db:/app/onlyoffice/DocumentServer/db -caproverOneClickApp: - variables: - - id: '$$cap_app_version' - label: Document Server Version - description: Check out their Docker page for the valid tags https://hub.docker.com/r/onlyoffice/documentserver/tags - defaultValue: '6.2.2' - validRegex: '/.{1,}/' - instructions: - start: |- - ONLYOFFICE Document Server is an online office suite comprising viewers and editors for texts, - spreadsheets and presentations, fully compatible with Office Open XML formats: .docx, .xlsx, - .pptx and enabling collaborative editing in real time. - end: |- - Congratulations, you have successfully deployed ONLYOFFICE Document Server! - - Your app will soon be available at http://$$cap_appname.$$cap_root_domain/ - displayName: 'ONLYOFFICE Document Server' - isOfficial: true - description: Online office suite comprising viewers and editors for texts, spreadsheets and presentations - documentation: Taken from https://github.com/ONLYOFFICE/Docker-DocumentServer diff --git a/public/v4/apps/orangehrm.yml b/public/v4/apps/orangehrm.yml deleted file mode 100644 index f8643d7..0000000 --- a/public/v4/apps/orangehrm.yml +++ /dev/null @@ -1,95 +0,0 @@ -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://hub.docker.com/r/bitnami/orangehrm - depends_on: - - $$cap_appname-db - image: bitnami/orangehrm:$$cap_orangehrm_version - volumes: - - $$cap_appname-data:/bitnami - restart: always - environment: - ORANGEHRM_USERNAME: $$cap_admin_name - ORANGEHRM_PASSWORD: $$cap_admin_pass - MARIADB_HOST: srv-captain--$$cap_appname-db - ORANGEHRM_DATABASE_NAME: $$cap_db_name - ORANGEHRM_DATABASE_USER: $$cap_db_user - ORANGEHRM_DATABASE_PASSWORD: $$cap_db_pass - SMTP_HOST: $$cap_smtp_host - SMTP_PORT: $$cap_smtp_port - SMTP_USER: $$cap_smtp_user - SMTP_PASSWORD: $$cap_smtp_pass -caproverOneClickApp: - variables: - - id: $$cap_admin_name - label: OrangeHRM default admin name - defaultValue: admin - description: Admin username for OrangeHRM. - validRegex: /^([a-zA-Z0-9])+$/ - - id: $$cap_admin_pass - label: admin password - description: Password for the admin user. - validRegex: /.{1,}/ - - id: $$cap_orangehrm_version - label: OrangeHRM Version - defaultValue: '4.6.0-0' - description: https://hub.docker.com/r/bitnami/orangehrm/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: orangehrm - description: name for the database. - validRegex: /^([a-zA-Z0-9])+$/ - - id: $$cap_db_user - label: database user - defaultValue: orangehrm - description: Username for the database using mysql. - validRegex: /^([a-zA-Z0-9])+$/ - - 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: |- - OrangeHRM Open Source is a free HR management. - The process will deploy a database and the App. - end: |- - OrangeHRM has been successfully deployed! - displayName: OrangeHRM - isOfficial: false - description: OrangeHRM Open Source is a free HR management system that offers a wealth of modules to suit the needs of your business. - documentation: See https://github.com/orangehrm/orangehrm diff --git a/public/v4/apps/organizr.yml b/public/v4/apps/organizr.yml deleted file mode 100644 index 0a1aa58..0000000 --- a/public/v4/apps/organizr.yml +++ /dev/null @@ -1,46 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - image: organizr/organizr:$$cap_version - environment: - TZ: '$$cap_tz' - PHP_TZ: '$$cap_tz' - fpm: '$$cap_fpm' - branch: '$$cap_branch' #'v2-master' #v2-master or #v2-develop - PUID: 1000 - PGID: 1000 - volumes: - - '$$cap_appname-config:/config' -caproverOneClickApp: - variables: - - id: '$$cap_version' - label: Organizr Version - defaultValue: 'amd64' - description: Check out their Docker page for the valid tags https://hub.docker.com/r/organizr/organizr/tags - validRegex: "/^([^\\s^\\/])+$/" - - - id: '$$cap_fpm' - label: Set FPM to True or False - defaultValue: 'true' - description: Should Organizr us a socket connection instead of TCP? - validRegex: '/^(true|false)$/' - - - id: '$$cap_branch' - label: Organizr branch - defaultValue: 'v2-master' - description: Branch name to use - instructions: - start: |- - Do you have quite a bit of services running on your computer or server? Do you have a lot of bookmarks or have to memorize a bunch of ip's and ports? - Well, Organizr is here to help with that. Organizr allows you to setup "Tabs" that will be loaded all in one webpage. You can then work on your server with ease. - Want to give users access to some Tabs? No problem, just enable user support and have them make an account. - Want guests to be able to visit too? Enable Guest support for those tabs. - - More information: https://github.com/causefx/Organizr/ - - end: |- - Organizr has been successfully deployed! - displayName: Organizr - isOfficial: true - description: An HTPC/Homelab services organizer that is written in PHP. - documentation: See https://docs.organizr.app/ diff --git a/public/v4/apps/outline.yml b/public/v4/apps/outline.yml deleted file mode 100644 index d48bfae..0000000 --- a/public/v4/apps/outline.yml +++ /dev/null @@ -1,109 +0,0 @@ -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 -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 - - 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 - - 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/papercups.yml b/public/v4/apps/papercups.yml deleted file mode 100644 index 7aa7ff6..0000000 --- a/public/v4/apps/papercups.yml +++ /dev/null @@ -1,157 +0,0 @@ -captainVersion: 4 - -services: - $$cap_appname: - depends_on: - - $$cap_appname-db - environment: - DATABASE_URL: 'ecto://postgres:$$cap_postgres_password@srv-captain--$$cap_appname-db/postgres' - SECRET_KEY_BASE: $$cap_secret_key - BACKEND_URL: $$cap_appname.$$cap_root_domain - MIX_ENV: $$cap_mix_env - REACT_APP_URL: $$cap_appname.$$cap_root_domain - FROM_ADDRESS: $$cap_email_from_address - MAILGUN_API_KEY: $$cap_mailgun_api_key - DOMAIN: $$cap_email_from_domain - SLACK_BOT_ACCESS_TOKEN: $$cap_slack_bot_access_token - PAPERCUPS_SLACK_CLIENT_ID: $$cap_slack_client_id - PAPERCUPS_SLACK_CLIENT_SECRET: $$cap_slack_client_secret - SENTRY_DSN: $$cap_sentry_dsn - PAPERCUPS_STRIPE_SECRET: $$cap_stripe_secret - REACT_APP_GOOGLE_ANALYTICS_ID: $$cap_react_google_analytics_id - REACT_APP_SLACK_CLIENT_ID: $$cap_react_slack_client_id - REACT_APP_SENTRY_DSN: $$cap_react_sentry_dsn - REACT_APP_LOGROCKET_ID: $$cap_react_logrocket_id - REACT_APP_STRIPE_PUBLIC_KEY: $$cap_react_stripe_public_id - REACT_APP_FILE_UPLOADS_ENABLED: $$cap_upload_enabled - CUSTOMER_IO_SITE_ID: $$cap_customer_io_site_id - CUSTOMER_IO_API_KEY: $$cap_customer_io_api_key - AWS_ACCESS_KEY_ID: $$cap_aws_access_key_id - AWS_SECRET_ACCESS_KEY: $$cap_aws_secret_key - BUCKET_NAME: $$cap_aws_bucket - AWS_REGION: $$cap_aws_region - REQUIRE_DB_SSL: $$cap_db_require_ssl - - caproverExtra: - containerHttpPort: '4000' - dockerfileLines: - - FROM papercups/papercups:$$cap_papercups_tag - - ENTRYPOINT sh -c "sleep 10 && /entrypoint.sh db createdb && /entrypoint.sh db migrate && echo 'running' && /entrypoint.sh run" - - $$cap_appname-db: - image: postgres:$$cap_postgres_tag - volume: - - '$$cap_appname-db-data:/var/lib/postgresql/data' - environment: - POSTGRES_PASSWORD: $$cap_postgres_password - caproverExtra: - notExposeAsWebApp: true - -caproverOneClickApp: - variables: - - id: $$cap_papercups_tag - label: Papercups Tag - defaultValue: 1.1.0 - description: 'Check out their docker page for the valid tags https://hub.docker.com/r/papercups/papercups/tags' - - id: $$cap_postgres_tag - label: Postgres Tag - defaultValue: 9.6-alpine - description: 'Check out their docker page for the valid tags https://hub.docker.com/_/postgres?tab=tags' - - id: $$cap_postgres_password - label: Postgres Password - defaultValue: $$cap_gen_random_hex(16) - - id: $$cap_secret_key - label: Papercups Secret Key - defaultValue: $$cap_gen_random_hex(64) - validRegex: /.{64,}/ - description: 'Must be at least 64 bytes' - - id: $$cap_mix_env - label: Mix Env - defaultValue: prod - description: 'Learn more at https://hexdocs.pm/mix/Mix.html#module-environments' - - id: $$cap_upload_enabled - label: Enable Papercups Upload - defaultValue: 1 - - id: $$cap_email_from_address - label: Email From Address - defaultValue: 'noreply@mail.papercups.io' - - id: $$cap_mailgun_api_key - label: Mailgun API Key - defaultValue: '' - - id: $$cap_email_from_domain - label: Email From Domain - defaultValue: '$$cap_appname.$$cap_root_domain' - - id: $$cap_slack_bot_access_token - label: Slack Bot Access Token - defaultValue: '' - - id: $$cap_slack_client_id - label: Slack Bot Client ID - defaultValue: '' - - id: $$cap_slack_client_secret - label: Slack Bot Client Secret - defaultValue: '' - - id: $$cap_sentry_dsn - label: Sentry DSN - defaultValue: '' - - id: $$cap_stripe_secret - label: Stripe Secret - defaultValue: '' - - id: $$cap_react_google_analytics_id - label: Google Analytics ID - defaultValue: '' - - id: $$cap_react_slack_client_id - label: Papercups's React Slack Client ID - defaultValue: '' - - id: $$cap_react_sentry_dsn - label: Papercups's React Sentry DSN - defaultValue: '' - - id: $$cap_react_logrocket_id - label: Papercups's React LogRocket ID - defaultValue: '' - - id: $$cap_react_stripe_public_id - label: Papercups's React Stripe Public ID - defaultValue: '' - - id: $$cap_customer_io_site_id - label: Customer.io Site ID - defaultValue: '' - - id: $$cap_customer_io_api_key - label: Customer.io API Key - defaultValue: '' - - id: $$cap_aws_access_key_id - label: AWS Access Key ID - defaultValue: '' - - id: $$cap_aws_secret_key - label: AWS Secret Key ID - defaultValue: '' - - id: $$cap_aws_bucket - label: AWS Bucket - defaultValue: '' - - id: $$cap_aws_region - label: AWS Region - defaultValue: '' - - id: $$cap_db_require_ssl - label: DB Require SSL - defaultValue: 'false' - instructions: - start: >- - Papercups is an open source live customer chat web app written in Elixir. - For more info visit https://papercups.io/ - end: |- - Papercups has been successfully deployed! - - -------------------------------------------- - - Before you proceed, you must: - 1. Enable HTTPS - 2. Enable Websocket Support - - -------------------------------------------- - - App is available as http://$$cap_appname.$$cap_root_domain - displayName: Papercups - isOfficial: false - description: >- - Papercups is an open source live customer chat web app written in Elixir. - documentation: >- - This docker-compose is taken from https://github.com/papercups-io/papercups/blob/master/docker-compose.prod.yml - Papercups's example environment https://github.com/papercups-io/papercups/blob/master/.env.example diff --git a/public/v4/apps/paperless-ng.yml b/public/v4/apps/paperless-ng.yml deleted file mode 100644 index 3eea5f3..0000000 --- a/public/v4/apps/paperless-ng.yml +++ /dev/null @@ -1,354 +0,0 @@ -captainVersion: 4 -services: - # Paperless-ng - $$cap_appname: - depends_on: - - $$cap_appname-db - - $$cap_appname-redis - image: jonaswinkler/paperless-ng:$$cap_app_version - restart: always - environment: - APP_URL: http://$$cap_appname.$$cap_root_domain - # Required services (https://paperless-ng.readthedocs.io/en/latest/configuration.html#required-services) - PAPERLESS_REDIS: redis://srv-captain--$$cap_appname-redis:6379/0 - PAPERLESS_DBHOST: srv-captain--$$cap_appname-db - PAPERLESS_DBNAME: $$cap_dbname - PAPERLESS_DBUSER: $$cap_dbuser - PAPERLESS_DBPASS: $$cap_dbpass - # Paths and folders (https://paperless-ng.readthedocs.io/en/latest/configuration.html#paths-and-folders) - PAPERLESS_FILENAME_FORMAT: $$cap_filename_format - # Logging (https://paperless-ng.readthedocs.io/en/latest/configuration.html#logging) - PAPERLESS_LOGROTATE_MAX_SIZE: $$cap_logrotate_max_size - PAPERLESS_LOGROTATE_MAX_BACKUPS: $$cap_logrotate_max_backup - # Hosting & Security (https://paperless-ng.readthedocs.io/en/latest/configuration.html#hosting-security) - PAPERLESS_SECRET_KEY: $$cap_secret_key - PAPERLESS_ALLOWED_HOSTS: $$cap_appname.$$cap_root_domain - PAPERLESS_CORS_ALLOWED_HOSTS: http://$$cap_appname.$$cap_root_domain - PAPERLESS_ADMIN_USER: $$cap_admin_user - PAPERLESS_ADMIN_PASSWORD: $$cap_admin_password - PAPERLESS_ADMIN_MAIL: $$cap_admin_email - PAPERLESS_COOKIE_PREFIX: $$cap_cookie_prefix - # OCR settings (https://paperless-ng.readthedocs.io/en/latest/configuration.html#ocr-settings) - PAPERLESS_OCR_LANGUAGE: $$cap_ocr_language - PAPERLESS_OCR_MODE: $$cap_ocr_mode - PAPERLESS_OCR_CLEAN: $$cap_ocr_clean - PAPERLESS_OCR_DESKEW: $$cap_ocr_deskew - PAPERLESS_OCR_ROTATE_PAGES: $$cap_ocr_rotate_pages - PAPERLESS_OCR_ROTATE_PAGES_THRESHOLD: $$cap_ocr_rotate_threshold - PAPERLESS_OCR_OUTPUT_TYPE: $$cap_ocr_output_type - PAPERLESS_OCR_PAGES: $$cap_ocr_pages - PAPERLESS_OCR_IMAGE_DPI: $$cap_ocr_image_dpi - PAPERLESS_OCR_USER_ARGS: $cap_ocr_user_args - # Tika settings (https://paperless-ng.readthedocs.io/en/latest/configuration.html#tika-settings) - PAPERLESS_TIKA_ENABLED: 1 - PAPERLESS_TIKA_GOTENBERG_ENDPOINT: http://srv-captain--$$cap_appname-gotenberg:3000 - PAPERLESS_TIKA_ENDPOINT: http://srv-captain--$$cap_appname-tika:9998 - # Software tweaks (https://paperless-ng.readthedocs.io/en/latest/configuration.html#software-tweaks) - # PAPERLESS_TASK_WORKERS: $$cap_task_workers - # PAPERLESS_THREADS_PER_WORKER: $$cap_threads_per_worker - PAPERLESS_TIME_ZONE: $$cap_timezone - PAPERLESS_CONSUMER_POLLING: $$cap_consumer_polling - PAPERLESS_CONSUMER_DELETE_DUPLICATES: $$cap_consumer_delete_duplicates - PAPERLESS_CONSUMER_RECURSIVE: $$cap_consumer_recursive - PAPERLESS_CONSUMER_SUBDIRS_AS_TAGS: $$cap_consumer_subdirs_as_tags - PAPERLESS_CONVERT_MEMORY_LIMIT: $$cap_convert_memory_limit - PAPERLESS_CONVERT_TMPDIR: $$cap_convert_tempdir - PAPERLESS_OPTIMIZE_THUMBNAILS: $$cap_optimize_thumbnails - PAPERLESS_PRE_CONSUME_SCRIPT: $$cap_pre_consume_script - PAPERLESS_POST_CONSUME_SCRIPT: $$cap_post_consume_script - PAPERLESS_FILENAME_DATE_ORDER: $$cap_filename_date_order - PAPERLESS_THUMBNAIL_FONT_NAME: $$cap_thumbnail_font_name - PAPERLESS_IGNORE_DATES: $$cap_paperless_ignore_dates - # Docker-specific options (https://paperless-ng.readthedocs.io/en/latest/configuration.html#docker-specific-options) - PAPERLESS_WEBSERVER_WORKERS: $$cap_webserver_workers - USERMAP_UID: $$cap_usermap_uid - USERMAP_GID: $$cap_usermap_gid - PAPERLESS_OCR_LANGUAGES: $$cap_docker_ocr_languages - volumes: - - $$cap_appname-data:/usr/src/paperless/data - - $$cap_appname-media:/usr/src/paperless/media - - $$cap_appname-export:/usr/src/paperless/export - - $$cap_appname-consume:/usr/src/paperless/consume - caproverExtra: - containerHttpPort: '8000' - - # Redis - $$cap_appname-redis: - volumes: - - $$cap_appname-redis-data:/data - restart: always - caproverExtra: - dockerfileLines: - - FROM redis:$$cap_redis_version - - CMD exec redis-server - notExposeAsWebApp: 'true' - - # Database - $$cap_appname-db: - image: postgres:$$cap_postgres_version - volumes: - - $$cap_appname-db:/var/lib/postgresql/data - restart: always - environment: - POSTGRES_DB: $$cap_dbname - POSTGRES_USER: $$cap_dbuser - POSTGRES_PASSWORD: $$cap_dbpass - caproverExtra: - notExposeAsWebApp: 'true' - - # gotenberg - $$cap_appname-gotenberg: - image: thecodingmachine/gotenberg - restart: unless-stopped - environment: - DISABLE_GOOGLE_CHROME: 1 - caproverExtra: - containerHttpPort: '3000' - - # tika - $$cap_appname-tika: - image: apache/tika - restart: unless-stopped - caproverExtra: - containerHttpPort: '9998' - -caproverOneClickApp: - variables: - - id: $$cap_app_version - label: Paperless-ng - defaultValue: '1.4.1' - description: Check out their docker page for the valid tags https://hub.docker.com/r/jonaswinkler/paperless-ng/tags - - - id: $$cap_postgres_version - label: Postgres Version - defaultValue: '13' - 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 - defaultValue: '6.2.1-alpine' - validRegex: /^([^\s^\/])+$/ - - - id: $$cap_dbname - label: Database Name - defaultValue: 'paperless' - validRegex: /^([^\s^\/])+$/ - - - id: $$cap_dbuser - label: Database User - defaultValue: 'paperless' - validRegex: /^([^\s^\/])+$/ - - - id: $$cap_dbpass - label: Database Password - defaultValue: $$cap_gen_random_hex(64) - validRegex: /^([^\s^\/])+$/ - - - id: $$cap_filename_format - label: Filename Format - defaultValue: - description: 'Changes the filenames paperless uses to store documents in the media directory. See File name handling (https://paperless-ng.readthedocs.io/en/latest/advanced_usage.html#advanced-file-name-handling) for details. Default is none, which disables this feature.' - - - id: $$cap_logrotate_max_size - label: Log Rotate Max Size (in bytes) - description: Maximum file size for log files before they are rotated, in bytes. - - - id: $$cap_logrotate_max_backup - label: Log Rotate Max Backup Count - defaultValue: '20' - validRegex: /^\d{0,}$/ - description: Number of rotated log files to keep. - - - id: $$cap_secret_key - label: Paperless Secret Key - defaultValue: $$cap_gen_random_hex(64) - validRegex: /^([^\s^\/])+$/ - description: Paperless uses this to make session tokens. - - - id: $$cap_admin_user - label: Admin User - defaultValue: 'admin' - validRegex: /^([^\s^\/])+$/ - - - id: $$cap_admin_password - label: Admin Password - defaultValue: $$cap_gen_random_hex(10) - validRegex: /^([^\s^\/])+$/ - - - id: $$cap_admin_email - label: Admin Email - defaultValue: root@localhost - validRegex: /^([^\s^\/])+$/ - - - id: $$cap_cookie_prefix - label: Cookie Prefix - defaultValue: $$cap_appname - description: Specify a prefix that is added to the cookies used by paperless to identify the currently logged in user. This is useful for when you’re running two instances of paperless on the same host. - - - id: $$cap_ocr_language - label: OCR Language - defaultValue: 'eng' - description: Customize the language that paperless will attempt to use when parsing documents. It should be a 3-letter language code consistent with ISO 639 https://www.loc.gov/standards/iso639-2/php/code_list.php This can be a combination of multiple languages such as deu+eng, in which case tesseract will use whatever language matches best. Keep in mind that tesseract uses much more cpu time with multiple languages enabled. - - - id: $$cap_ocr_mode - label: OCR Mode - defaultValue: 'skip' - validRegex: /^(skip|skip_noarchive|redo|force)$/ - description: Tell paperless when and how to perform ocr on your documents. Four modes are available- skip, skip_noarchive, redo, force. Read more about this in the OCRmyPDF documentation (https://ocrmypdf.readthedocs.io/en/latest/advanced.html#when-ocr-is-skipped). - - - id: $$cap_ocr_clean - label: OCR Clean - defaultValue: 'clean' - validRegex: /^(clean|clean-final|none)$/ - description: Tells paperless to use unpaper to clean any input document before sending it to tesseract. This uses more resources, but generally results in better OCR results. Available mode- clean, clean-final, none - - - id: $$cap_ocr_deskew - label: OCR Deskew - defaultValue: 'true' - validRegex: /^(true|false)$/ - description: Tells paperless to correct skewing (slight rotation of input images mainly due to improper scanning). - - - id: $$cap_ocr_rotate_pages - label: OCR Rotate Pages - defaultValue: 'true' - validRegex: /^(true|false)$/ - description: Tells paperless to correct page rotation (90Β°, 180Β° and 270Β° rotation). If you notice that paperless is not rotating incorrectly rotated pages (or vice versa), try adjusting the threshold up or down (see below). - - - id: $$cap_ocr_rotate_threshold - label: OCR Rotate Pages Threshold - defaultValue: '12' - validRegex: /^\d[\d.]*$/ - description: This is an arbitrary value reported by tesseract. β€œ15” is a very conservative value, whereas β€œ2” is a very aggressive option and will often result in correctly rotated pages being rotated as well. - - - id: $$cap_ocr_output_type - label: OCR Output Type - defaultValue: 'pdfa' - validRegex: /^(pdf|pdfa|pdfa-1|pdfa-2|pdfa-3)$/ - description: Specify the the type of PDF documents that paperless should produce. Choices- pdf, pdfa, pdfa-1, pdfa-2, pdfa-3 - - - id: $$cap_ocr_pages - label: OCR Pages Count - defaultValue: '0' - validRegex: /^\d{1,}$/ - description: Tells paperless to use only the specified amount of pages for OCR. Documents with less than the specified amount of pages get OCR’ed completely. Specifying 1 here will only use the first page. Specifying 0 disables this feature a and always use all pages. - - - id: $$cap_ocr_image_dpi - label: OCR Image DPI - description: Set this to the DPI your scanner produces images at. Default is none, which will automatically calculate image DPI so that the produced PDF documents are A4 sized. - - - id: $cap_ocr_user_args - label: OCR User Args - description: See https://ocrmypdf.readthedocs.io/en/latest/api.html#reference for valid parameters. Specify arguments as a JSON dictionary. Keep note of lower case booleans and double quoted parameter names and strings. - - # commenting out but keeping the code if somone tries to add these variables - # these are optional variables and paperless-ng calculates automatically if no value is provided - # but leaving it blank raises ValueError: invalid literal for int() with base 10: - # - id: $$cap_task_workers - # label: Paperless Task Workers - # validRegex: /^\d{0,2}$/ - # description: Leave blank to calculate automatically based on CPU core count - - # - id: $$cap_threads_per_worker - # label: Paperless Threads per Workers - # validRegex: /^\d{0,2}$/ - # description: Leave blank to calculate automatically based on CPU core count. Ensure that the product PAPERLESS_TASK_WORKERS * PAPERLESS_THREADS_PER_WORKER does not exceed your CPU core count - - - id: $$cap_timezone - label: Timezone - defaultValue: 'UTC' - description: 'Set the time zone here. See https://docs.djangoproject.com/en/3.1/ref/settings/#std:setting-TIME_ZONE for details on how to set it.' - - - id: $$cap_consumer_polling - label: Consumer Polling (seconds) - defaultValue: '0' - validRegex: /^\d{1,}$/ - description: Defaults to 0, which disables polling and uses filesystem notifications. - - - id: $$cap_consumer_delete_duplicates - label: Consumer Delete Duplicates - defaultValue: 'false' - validRegex: /^(true|false)$/ - description: When the consumer detects a duplicate document, it will not touch the original document. - - - id: $$cap_consumer_recursive - label: Consumer Recursive - defaultValue: 'false' - validRegex: /^(true|false)$/ - description: Enable recursive watching of the consumption directory. Paperless will then pickup files from files in subdirectories within your consumption directory as well. - - - id: $$cap_consumer_subdirs_as_tags - label: Consumer Sub Directory as tags - defaultValue: 'false' - validRegex: /^(true|false)$/ - description: Set the names of subdirectories as tags for consumed files. E.g. /foo/bar/file.pdf will add the tags β€œfoo” and β€œbar” to the consumed file - - - id: $$cap_convert_memory_limit - label: Convert Memory Limit - defaultValue: '0' - validRegex: /^\d{1,}$/ - description: For more information on how to use this value, you should search the web for β€œMAGICK_MEMORY_LIMIT”. - - - id: $$cap_convert_tempdir - label: Convert Memory Limit - description: For more information on how to use this value, you should search the web for β€œMAGICK_TMPDIR”. - - - id: $$cap_optimize_thumbnails - label: Optimize Thumbnails - defaultValue: 'true' - validRegex: /^(true|false)$/ - description: This usually reduces the size of thumbnails by about 20%, but uses considerable compute time during consumption. - - - id: $$cap_pre_consume_script - label: Pre Consume Script (path) - description: Executed after the consumer sees a new document in the consumption folder, but before any processing of the document is performed. For more information, take a look at Pre-consumption script (https://paperless-ng.readthedocs.io/en/latest/advanced_usage.html?highlight=PAPERLESS_PRE_CONSUME_SCRIPT#pre-consumption-script) - - - id: $$cap_post_consume_script - label: Post Consume Script (path) - description: Executed after the consumer has successfully processed a document and has moved it into paperless. For more information, take a look at Post-consumption script (https://paperless-ng.readthedocs.io/en/latest/advanced_usage.html#advanced-post-consume-script) - - - id: $$cap_filename_date_order - label: Filename Date Order - description: Defaults to none, which disables this feature. The date order can be set to any option as specified in https://dateparser.readthedocs.io/en/latest/settings.html#date-order. - - - id: $$cap_thumbnail_font_name - label: Thumbnail Font Name - defaultValue: '/usr/share/fonts/liberation/LiberationSerif-Regular.ttf' - description: Paperless creates thumbnails for plain text files by rendering the content of the file on an image and uses a predefined font for that - - - id: $$cap_paperless_ignore_dates - label: Ignore Dates - description: You may specify dates in a multitude of formats supported by dateparser (see https://dateparser.readthedocs.io/en/latest/#popular-formats) - - - id: $$cap_webserver_workers - label: Webserver Workers - defaultValue: '2' - validRegex: /^\d{1,}$/ - description: The number of worker processes the webserver should spawn. - - - id: $$cap_usermap_uid - label: Usermap UID - defaultValue: '1000' - validRegex: /^\d{1,}$/ - description: Set this to your actual user ID on the host system, which you can get by executing ```id -u``` - - - id: $$cap_usermap_gid - label: Usermap GID - defaultValue: '1000' - validRegex: /^\d{1,}$/ - description: Set this to your actual user ID on the host system, which you can get by executing ```id -g``` - - - id: $$cap_docker_ocr_languages - label: OCR Languages to install - description: Additional OCR languages to install. By default, paperless comes with English, German, Italian, Spanish and French. - - instructions: - start: >- - Paperless is an application by Daniel Quinn and others that indexes your scanned documents and allows you to easily search for documents and store metadata alongside your documents. - end: >- - Done! πŸ˜„ - Your service is available at http://$$cap_appname.$$cap_root_domain - displayName: 'Paperless-ng' - isOfficial: true - description: Paperless is an application by Daniel Quinn and others that indexes your scanned documents and allows you to easily search for documents and store metadata alongside your documents. - documentation: https://paperless-ng.readthedocs.io/en/latest/ diff --git a/public/v4/apps/parse.yml b/public/v4/apps/parse.yml deleted file mode 100644 index 2b8f073..0000000 --- a/public/v4/apps/parse.yml +++ /dev/null @@ -1,86 +0,0 @@ -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' -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 - - 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 deleted file mode 100644 index 9aa529b..0000000 --- a/public/v4/apps/passbolt.yml +++ /dev/null @@ -1,87 +0,0 @@ -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_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. - - 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. - - 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 - - - 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 deleted file mode 100644 index e106297..0000000 --- a/public/v4/apps/peertube.yml +++ /dev/null @@ -1,107 +0,0 @@ -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", "10.0.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: Check out 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: Check out 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: Check out 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 diff --git a/public/v4/apps/penpot.yml b/public/v4/apps/penpot.yml deleted file mode 100644 index 3d5be15..0000000 --- a/public/v4/apps/penpot.yml +++ /dev/null @@ -1,158 +0,0 @@ -captainVersion: 4 - -services: - # PostgreSQL - $$cap_appname-postgres: - image: postgres:$$cap_postgres_version - volumes: - - $$cap_appname-postgres-data:/var/lib/postgresql/data - restart: always - environment: - POSTGRES_INITDB_ARGS: --data-checksums - POSTGRES_DB: penpot - POSTGRES_USER: penpot - POSTGRES_PASSWORD: $$cap_postgres_pass - caproverExtra: - notExposeAsWebApp: 'true' - - # Redis - $$cap_appname-redis: - image: redis:$$cap_redis_version - restart: always - caproverExtra: - notExposeAsWebApp: 'true' - - # Exporter - $$cap_appname-exporter: - image: penpotapp/exporter:$$cap_penpot_exporter_version - restart: always - environment: - PENPOT_PUBLIC_URI: $$cap_public_uri - caproverExtra: - notExposeAsWebApp: 'true' - - # Backend - $$cap_appname-backend: - image: penpotapp/backend:$$cap_penpot_backend_version - volumes: - - $$cap_appname-assets-data:/opt/data - environment: - PENPOT_PUBLIC_URI: $$cap_public_uri - PENPOT_TELEMETRY_ENABLED: $$cap_enable_telemetry - PENPOT_SMTP_DEFAULT_FROM: $$cap_smtp_from - PENPOT_SMTP_DEFAULT_REPLY_TO: $$cap_smtp_reply_to - PENPOT_SMTP_HOST: $$cap_smtp_host - PENPOT_SMTP_PORT: $$cap_smtp_port - PENPOT_SMTP_USERNAME: $$cap_smtp_username - PENPOT_SMTP_PASSWORD: $$cap_smtp_password - PENPOT_SMTP_TLS: $$cap_smtp_tls - PENPOT_SMTP_SSL: $$cap_smtp_ssl - - PENPOT_DATABASE_URI: postgresql://srv-captain--$$cap_appname-postgres/penpot - PENPOT_DATABASE_USERNAME: penpot - PENPOT_DATABASE_PASSWORD: $$cap_postgres_pass - PENPOT_REDIS_URI: redis://srv-captain--$$cap_appname-redis:6379/0 - PENPOT_STORAGE_BACKEND: fs - PENPOT_STORAGE_FS_DIRECTORY: /opt/data/assets - PENPOT_SMTP_ENABLED: 'true' - depends_on: - - $$cap_appname-postgres - - $$cap_appname-redis - caproverExtra: - notExposeAsWebApp: 'true' - - # Frontend - $$cap_appname: - volumes: - - $$cap_appname-assets-data:/opt/data - caproverExtra: - dockerfileLines: - - FROM penpotapp/frontend:$$cap_penpot_frontend_version - - RUN sed -i 's/penpot-backend/srv-captain--$$cap_appname-backend/g' /etc/nginx/nginx.conf - - RUN sed -i 's/penpot-exporter/srv-captain--$$cap_appname-exporter/g' /etc/nginx/nginx.conf - depends_on: - - $$cap_appname-backend - - $$cap_appname-exporter - -caproverOneClickApp: - variables: - - id: $$cap_postgres_version - label: Postgres Version - defaultValue: '13' - description: Checkout their docker description page for the valid tags https://hub.docker.com/_/postgres?tab=tags - validRegex: /^([^\s^\/])+$/ - - id: $$cap_redis_version - label: Redis Version - defaultValue: '6' - description: Checkout their docker desctiption page for the valid tags https://hub.docker.com/_/redis?tab=description - validRegex: /^([^\s^\/])+$/ - - id: $$cap_penpot_frontend_version - label: Penpot Frontend Version - defaultValue: '1.4.1-alpha' - description: Checkout their docker page for the valid tags https://hub.docker.com/r/penpotapp/frontend/tags - validRegex: /^([^\s^\/])+$/ - - id: $$cap_penpot_backend_version - label: Penpot Backend Version - defaultValue: '1.4.1-alpha' - description: Checkout their docker page for the valid tags https://hub.docker.com/r/penpotapp/backend/tags - validRegex: /^([^\s^\/])+$/ - - id: $$cap_penpot_exporter_version - label: Penpot Exporter Version - defaultValue: '1.4.1-alpha' - description: Checkout their docker page for the valid tags https://hub.docker.com/r/penpotapp/exporter/tags - validRegex: /^([^\s^\/])+$/ - - id: $$cap_postgres_pass - label: Potgress Database password - description: 'Pasword for postgres' - validRegex: /.{1,}/ - - id: $$cap_public_uri - label: Public URI - description: 'Frontend url to access your Penpot' - validRegex: /^^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$/ - - id: $$cap_smtp_from - label: SMTP from address - defaultValue: user@example.com - validRegex: /^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/ - - id: $$cap_smtp_reply_to - label: SMTP reply address - defaultValue: no-reply@example.com - validRegex: /^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/ - - id: $$cap_smtp_host - label: SMTP host - defaultValue: smtp.example.com - validRegex: /^^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$/ - - id: $$cap_smtp_port - label: SMTP port - defaultValue: 587 - validRegex: /^^((6553[0-5])|(655[0-2][0-9])|(65[0-4][0-9]{2})|(6[0-4][0-9]{3})|([1-5][0-9]{4})|([0-5]{0,5})|([0-9]{1,4}))$$/ - - id: $$cap_smtp_username - label: SMTP username - defaultValue: user@example.com - validRegex: /^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/ - - id: $$cap_smtp_password - label: SMTP password - defaultValue: - validRegex: /.{1,}/ - - id: $$cap_smtp_tls - label: SMTP TLS support - defaultValue: 'true' - validRegex: /^(true|false)$/ - - id: $$cap_smtp_ssl - label: SMTP SSL support - defaultValue: 'false' - validRegex: /^(true|false)$/ - - id: $$cap_enable_telemetry - label: Send Anonymous Data - description: When enabled, a periodical process will send annonymous data about this instance. Read more at https://github.com/penpot/penpot/blob/f2fd97693427c7decb86e745bf178fe70fe332a0/docker/images/docker-compose.yaml#L56-L62 - defaultValue: 'false' - validRegex: /^(true|false)$/ - - instructions: - start: >- - The open-source solution for design and prototyping. - end: > - Penpot is deployed and available as http://$$cap_appname.$$cap_root_domain. IMPORTANT: It will take up to 2 minutes for Penpot to be ready. Before that, you might see a 502 error page. - displayName: Penpot - isOfficial: true - description: The open-source solution for design and prototyping. - documentation: Official docs are [here](https://github.com/penpot/penpot/tree/develop/docs) diff --git a/public/v4/apps/pgadmin4.yml b/public/v4/apps/pgadmin4.yml deleted file mode 100644 index e357362..0000000 --- a/public/v4/apps/pgadmin4.yml +++ /dev/null @@ -1,37 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - image: dpage/pgadmin4:$$cap_pgadmin4_version - restart: always - environment: - PGADMIN_DEFAULT_EMAIL: $$cap_email - PGADMIN_DEFAULT_PASSWORD: $$cap_password - volumes: - - $$cap_appname-data:/var/lib/pgadmin -caproverOneClickApp: - variables: - - id: $$cap_pgadmin4_version - label: Version Tag - description: Check out their Docker page for the valid tags https://hub.docker.com/r/dpage/pgadmin4/tags/ - defaultValue: '4.27' - validRegex: /^([^\s^\/])+$/ - - id: $$cap_email - label: Email - description: Email address used when setting up the initial administrator account to login to pgAdmin - defaultValue: '' - validRegex: /^([^\s^\/])+$/ - - id: $$cap_password - label: Password - description: Password used when setting up the initial administrator account to login to pgAdmin - defaultValue: $$cap_gen_random_hex(10) - 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: Your pgAdmin is deployed and being started. Please wait one minute before accessing your pgAdmin! - displayName: '' - isOfficial: true - description: pgAdmin 4 is a complete rewrite of pgAdmin, built using Python and Javascript/jQuery - documentation: 'Taken from https://www.pgadmin.org/docs/pgadmin4/latest/container_deployment.html ' diff --git a/public/v4/apps/pgweb.yml b/public/v4/apps/pgweb.yml deleted file mode 100644 index 5a3403d..0000000 --- a/public/v4/apps/pgweb.yml +++ /dev/null @@ -1,20 +0,0 @@ -captainVersion: 4 -services: - $$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 diff --git a/public/v4/apps/photoprism.yml b/public/v4/apps/photoprism.yml deleted file mode 100644 index 5e8c8d9..0000000 --- a/public/v4/apps/photoprism.yml +++ /dev/null @@ -1,23 +0,0 @@ -captainVersion: 4 -services: - $$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. We recommend hosting PhotoPrism on a server with at least 2 cores and 4 GB of memory. 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 deleted file mode 100644 index 305b0e7..0000000 --- a/public/v4/apps/phpldapadmin.yml +++ /dev/null @@ -1,54 +0,0 @@ -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 -caproverOneClickApp: - variables: - - id: $$cap_openldap_version - label: Openldap Version - defaultValue: 1.4.0 - description: Check out 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: Check out 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 deleted file mode 100644 index 469799c..0000000 --- a/public/v4/apps/phpmyadmin.yml +++ /dev/null @@ -1,37 +0,0 @@ -captainVersion: 4 -services: - $$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. - - 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. - - - 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/plausible.yml b/public/v4/apps/plausible.yml deleted file mode 100644 index e6eab11..0000000 --- a/public/v4/apps/plausible.yml +++ /dev/null @@ -1,136 +0,0 @@ -captainVersion: 4 - -services: - $$cap_appname-mail: - image: bytemark/smtp - restart: always - environment: - RELAY_HOST: $$cap_RELAY_HOST - RELAY_PORT: $$cap_RELAY_PORT - RELAY_USERNAME: $$cap_RELAY_USERNAME - RELAY_PASSWORD: $$cap_RELAY_PASSWORD - caproverExtra: - notExposeAsWebApp: 'true' - - $$cap_appname-postgres: - image: postgres:12-alpine - volumes: - - $$cap_appname-postgres-data:/var/lib/postgresql/data - environment: - POSTGRES_USER: plausible - POSTGRES_PASSWORD: $$cap_POSTGRES_PASSWORD - caproverExtra: - notExposeAsWebApp: 'true' - - $$cap_appname-clickhouse: - image: yandex/clickhouse-server:20.8.5.45 - volumes: - - $$cap_appname-clickhouse-data:/var/lib/clickhouse - caproverExtra: - notExposeAsWebApp: 'true' - - $$cap_appname-geoip: - image: maxmindinc/geoipupdate:v4.5 - environment: - GEOIPUPDATE_ACCOUNT_ID: $$cap_GEOIPUPDATE_ACCOUNT_ID - GEOIPUPDATE_LICENSE_KEY: $$cap_GEOIPUPDATE_LICENSE_KEY - GEOIPUPDATE_EDITION_IDS: GeoLite2-Country - GEOIPUPDATE_FREQUENCY: 168 - volumes: - - $$cap_appname-geoip-data:/usr/share/GeoIP - - $$cap_appname: - depends_on: - - $$cap_appname-postgres - - $$cap_appname-clickhouse - - $$cap_appname-mail - caproverExtra: - containerHttpPort: '8000' - dockerfileLines: - - FROM plausible/analytics:v1.1.1 - - CMD ["sh", "-c", "sleep 10 && /entrypoint.sh db createdb && /entrypoint.sh db migrate && /entrypoint.sh db init-admin && /entrypoint.sh run"] - environment: - ADMIN_USER_EMAIL: $$cap_ADMIN_USER_EMAIL - ADMIN_USER_NAME: $$cap_ADMIN_USER_NAME - ADMIN_USER_PWD: $$cap_ADMIN_USER_PWD - BASE_URL: http://$$cap_appname.$$cap_root_domain - DATABASE_URL: postgres://plausible:$$cap_POSTGRES_PASSWORD@srv-captain--$$cap_appname-postgres:5432/plausible - CLICKHOUSE_DATABASE_URL: http://srv-captain--$$cap_appname-clickhouse:8123/plausible - SECRET_KEY_BASE: $$cap_gen_random_hex(64) - SIGNING_SALT: $$cap_gen_random_hex(24) - DISABLE_REGISTRATION: 'true' - DISABLE_SUBSCRIPTION: 'true' - MAILER_EMAIL: $$cap_RELAY_USERNAME - SMTP_HOST_ADDR: srv-captain--$$cap_appname-mail - SMTP_HOST_PORT: '25' - GEOLITE2_COUNTRY_DB: '/geoip/GeoLite2-Country.mmdb' - volumes: - - $$cap_appname-geoip-data:/geoip - -caproverOneClickApp: - variables: - - defaultValue: 'admin@example.com' - description: This is the admin email. Please change it. - id: $$cap_ADMIN_USER_EMAIL - label: ADMIN_USER_EMAIL - validRegex: /^([^\s^\/])+$/ - - defaultValue: 'admin' - description: This is the admin username. Please change it. - id: $$cap_ADMIN_USER_NAME - label: ADMIN_USER_NAME - validRegex: /^([^\s^\/])+$/ - - defaultValue: 'password' - description: This is the admin password. Please change it. - id: $$cap_ADMIN_USER_PWD - label: ADMIN_USER_PWD - validRegex: /^([^\s^\/])+$/ - - defaultValue: 'plausible' - description: This is the PostgreSQL password for user 'plausible'. Please change it. - id: $$cap_POSTGRES_PASSWORD - label: POSTGRES_PASSWORD - validRegex: /^([^\s^\/])+$/ - - defaultValue: 'smtp.mailgun.org' - description: This is the SMTP host for sending email. Use Mailgun or whatever other service. - id: $$cap_RELAY_HOST - label: RELAY_HOST - validRegex: /^([^\s^\/])+$/ - - defaultValue: '587' - description: This is the port for the SMTP host. Please change it if needed. - id: $$cap_RELAY_PORT - label: RELAY_PORT - validRegex: /^([^\s^\/])+$/ - - description: This is the username for logging into the SMTP host. Please change it according to your host. - id: $$cap_RELAY_USERNAME - label: RELAY_USERNAME - validRegex: /^([^\s^\/])+$/ - - description: This is the password for logging into the SMTP host. Please change it according to your host. - id: $$cap_RELAY_PASSWORD - label: RELAY_PASSWORD - validRegex: /^([^\s^\/])+$/ - - description: Provide your own ACCOUNT_ID, you can sign-up at https://www.maxmind.com/en/geoip2-services-and-databases - id: $$cap_GEOIPUPDATE_ACCOUNT_ID - label: GEOIPUPDATE_ACCOUNT_ID - validRegex: /^([^\s^\/])+$/ - - description: Provide the corresponding License Key for your own ACCOUNT_ID. - id: $$cap_GEOIPUPDATE_LICENSE_KEY - label: GEOIPUPDATE_LICENSE_KEY - validRegex: /^([^\s^\/])+$/ - instructions: - start: >- - Plausible is a lightweight and open-source website analytics tool. - It doesn’t use cookies and is fully compliant with GDPR, CCPA and PECR. Made and hosted in the EU. - This one click app uses the: - - official image from https://hub.docker.com/r/plausible/analytics - - https://hub.docker.com/r/bytemark/smtp, that allows linked containers to send outgoing email - - official PostgreSQL image based on Alpine Linux - - ClickHouse image https://hub.docker.com/r/yandex/clickhouse-server, an open-source column-oriented database - - official image from https://hub.docker.com/r/maxmindinc/geoipupdate, the well known MaxMind GeoIP Update Tool. - end: >- - Plausible.io is deployed and available as $$cap_appname. - In case you add a new domain to your application, remember to set the environment variable BASE_URL accordingly. - - IMPORTANT: It will take up to 2 minutes for Plausible to be ready. Before that, you might see 502 error page. - displayName: Plausible - isOfficial: false - description: Plausible is a lightweight and open-source website analytics tool. - documentation: Taken from https://plausible.io/. diff --git a/public/v4/apps/plex.yml b/public/v4/apps/plex.yml deleted file mode 100644 index 7e50622..0000000 --- a/public/v4/apps/plex.yml +++ /dev/null @@ -1,56 +0,0 @@ -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' -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. - - - 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. diff --git a/public/v4/apps/portainer.yml b/public/v4/apps/portainer.yml deleted file mode 100644 index 89f3b9c..0000000 --- a/public/v4/apps/portainer.yml +++ /dev/null @@ -1,32 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - image: portainer/portainer-ce:$$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: 2.0.0 - description: Check out their Docker page for the valid tags https://hub.docker.com/r/portainer/portainer-ce/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-ce/ . - - 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. The next step is to turn on Websocket Support and use the local connection option via websockets from the Portainer user interface. - 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-ce/ diff --git a/public/v4/apps/poste-io.yml b/public/v4/apps/poste-io.yml deleted file mode 100644 index e94832e..0000000 --- a/public/v4/apps/poste-io.yml +++ /dev/null @@ -1,52 +0,0 @@ -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 -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 + Web administration + Web email 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. - - - 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 diff --git a/public/v4/apps/postgres.yml b/public/v4/apps/postgres.yml deleted file mode 100644 index 8ec46ee..0000000 --- a/public/v4/apps/postgres.yml +++ /dev/null @@ -1,49 +0,0 @@ -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' -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. - - 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 diff --git a/public/v4/apps/prisma.yml b/public/v4/apps/prisma.yml deleted file mode 100644 index 66ab5fb..0000000 --- a/public/v4/apps/prisma.yml +++ /dev/null @@ -1,61 +0,0 @@ -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 - - 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' -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/ diff --git a/public/v4/apps/privatebin.yml b/public/v4/apps/privatebin.yml deleted file mode 100644 index 5737c85..0000000 --- a/public/v4/apps/privatebin.yml +++ /dev/null @@ -1,35 +0,0 @@ -captainVersion: 4 -services: - '$$cap_appname': - image: privatebin/nginx-fpm-alpine:$$cap_version - environment: - TZ: '$$cap_tz' - PHP_TZ: '$$cap_tz' - volumes: - - '$$cap_appname-data:/srv/data' - caproverExtra: - containerHttpPort: '8080' -caproverOneClickApp: - variables: - - id: '$$cap_version' - label: PrivateBin Version - defaultValue: '1.3.4' - description: Check out their Docker page for the valid tags https://hub.docker.com/r/privatebin/nginx-fpm-alpine/tags - validRegex: "/^([^\\s^\\/])+$/" - - 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: |- - PrivateBin is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. - Data is encrypted and decrypted in the browser using 256bit AES in Galois Counter mode. - - More details: https://github.com/PrivateBin/PrivateBin - end: |- - PrivateBin has been successfully deployed! - displayName: PrivateBin - isOfficial: true - description: A minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted in the browser using 256 bits AES. - documentation: See https://github.com/PrivateBin/docker-nginx-fpm-alpine diff --git a/public/v4/apps/prometheus.yml b/public/v4/apps/prometheus.yml deleted file mode 100644 index 068c130..0000000 --- a/public/v4/apps/prometheus.yml +++ /dev/null @@ -1,23 +0,0 @@ -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' -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/ diff --git a/public/v4/apps/qbittorrent.yml b/public/v4/apps/qbittorrent.yml deleted file mode 100644 index d2d4ccf..0000000 --- a/public/v4/apps/qbittorrent.yml +++ /dev/null @@ -1,49 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - image: linuxserver/qbittorrent:$$cap_qbittorrent_version - environment: - TZ: $$cap_tz - UMASK: 022 - WEBUI_PORT: $$cap_webui_port - ports: - - $$cap_webui_port:8080 - - 6881:6881 - hostname: $$cap_appname.$$cap_root_domain - volumes: - - $$cap_appname-config:/config - - $$cap_path_to_downloads:/downloads - caproverExtra: - containerHttpPort: $$cap_webui_port -caproverOneClickApp: - variables: - - id: $$cap_qbittorrent_version - label: qBittorrent Version - defaultValue: version-14.3.5.99202105022253-7365-063844ed4ubuntu20.04.1 - description: Check out their Docker page for the valid tags https://hub.docker.com/r/linuxserver/qbittorrent/tags - validRegex: /^([^\s^\/])+$/ - - id: $$cap_tz - label: Time Zone - defaultValue: Europe/Brussels - description: Get yours from https://en.wikipedia.org/wiki/List_of_tz_database_time_zones - validRegex: /.{1,}/ - - id: $$cap_webui_port - label: qBittorrent WebUI Port - description: The port used to access qBittorrent - validRegex: /\d/ - - id: $$cap_path_to_downloads - label: Path to downloads folder - description: Path to downloads folder where u want to save the downloaded torrents - validRegex: /\/[^\s-][a-zA-Z0-9_\/-]*[^\/][^\s-]/ - instructions: - start: >- - The qBittorrent project aims to provide an open-source software alternative to Β΅Torrent. - qBittorrent is based on the Qt toolkit and libtorrent-rasterbar library. - end: >- - qBittorrent is deployed and available as http://$$cap_appname.$$cap_root_domain. - The default username/password is admin/adminadmin. - Change username/password via the webui in the webui section of settings. - displayName: qBittorrent - isOfficial: true - description: qBittorrent BitTorrent client - documentation: Taken from https://hub.docker.com/r/linuxserver/qbittorrent. diff --git a/public/v4/apps/rabbitmq.yml b/public/v4/apps/rabbitmq.yml deleted file mode 100644 index bc3ab80..0000000 --- a/public/v4/apps/rabbitmq.yml +++ /dev/null @@ -1,43 +0,0 @@ -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' -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. - - 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/radarr.yml b/public/v4/apps/radarr.yml deleted file mode 100644 index 89cf847..0000000 --- a/public/v4/apps/radarr.yml +++ /dev/null @@ -1,66 +0,0 @@ -captainVersion: 4 -services: - # Radarr - $$cap_appname: - image: linuxserver/radarr:$$cap_radarr_version - environment: - TZ: $$cap_tz - PUID: $$cap_puid - PGID: $$cap_guid - volumes: - - $$cap_appname-config:/config - - $$cap_path_to_movies:/movies - - $$cap_path_to_downloads:/downloads - caproverExtra: - containerHttpPort: 7878 -caproverOneClickApp: - variables: - - id: $$cap_radarr_version - label: Radarr Version - defaultValue: version-3.0.1.4259 - description: Check out their Docker page for the valid tags https://hub.docker.com/r/linuxserver/radarr/tags - validRegex: /^([^\s^\/])+$/ - - - id: $$cap_tz - label: Time Zone - defaultValue: Europe/Brussels - description: Get yours from https://en.wikipedia.org/wiki/List_of_tz_database_time_zones - validRegex: /.{1,}/ - - - id: $$cap_path_to_downloads - label: Location of download managers output directory - description: Location of download managers output directory - validRegex: /\/[^\s-][a-zA-Z0-9_\/-]*[^\/][^\s-]/ - - - id: $$cap_path_to_movies - label: Location of Movies library on disk - description: Location of Movies library on disk - validRegex: /\/[^\s-][a-zA-Z0-9_\/-]*[^\/][^\s-]/ - - - id: $$cap_puid - label: User ID - defaultValue: '1000' - description: User ID that the process uses, run (id $user) in your instance to see the id - validRegex: /.{1,}/ - - - id: $$cap_guid - label: Group ID - defaultValue: '1000' - description: Group ID that the process uses, run (id $user) in your instance to see the id - validRegex: /.{1,}/ - instructions: - start: >- - Radarr is a movie collection manager for Usenet and BitTorrent users. - - - It can monitor multiple RSS feeds for new movies and will interface with clients and indexers to grab, sort, and rename them. - - - It can also be configured to automatically upgrade the quality of existing files in the library when a better quality format becomes available. - end: >- - Aaaand you're done! πŸ˜„ - Radarr is available at http://$$cap_appname.$$cap_root_domain - displayName: Radarr - isOfficial: true - description: Radarr - A fork of Sonarr to work with movies Γ  la Couchpotato. - documentation: Taken from https://hub.docker.com/r/linuxserver/radarr. diff --git a/public/v4/apps/radicale.yml b/public/v4/apps/radicale.yml deleted file mode 100644 index 97d9c13..0000000 --- a/public/v4/apps/radicale.yml +++ /dev/null @@ -1,23 +0,0 @@ -captainVersion: 4 -services: - $$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 diff --git a/public/v4/apps/rainloop.yml b/public/v4/apps/rainloop.yml deleted file mode 100644 index cbb27fc..0000000 --- a/public/v4/apps/rainloop.yml +++ /dev/null @@ -1,28 +0,0 @@ -captainVersion: 4 -services: - $$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. - - 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 diff --git a/public/v4/apps/redis.yml b/public/v4/apps/redis.yml deleted file mode 100644 index 652f5f7..0000000 --- a/public/v4/apps/redis.yml +++ /dev/null @@ -1,35 +0,0 @@ -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' -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: /^(\w|[^\s"])+$/ - 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. - - 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 deleted file mode 100644 index 71fd80d..0000000 --- a/public/v4/apps/resilio-sync.yml +++ /dev/null @@ -1,32 +0,0 @@ -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' -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. - - - 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 deleted file mode 100644 index 2b16a9c..0000000 --- a/public/v4/apps/rethinkdb.yml +++ /dev/null @@ -1,20 +0,0 @@ -captainVersion: 4 -services: - $$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/. - - 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/rstudio.yml b/public/v4/apps/rstudio.yml deleted file mode 100644 index 3b3af62..0000000 --- a/public/v4/apps/rstudio.yml +++ /dev/null @@ -1,43 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - image: rocker/rstudio:$$cap_rstudio_version - volumes: - - $$cap_appname-code:/home/rstudio - restart: always - environment: - PASSWORD: $$cap_rstudio_password - USER: $$cap_rstudio_username - caproverExtra: - containerHttpPort: '8787' -caproverOneClickApp: - variables: - - id: $$cap_rstudio_version - label: RStudio Version Tag - description: Check out their Docker page for the valid tags https://hub.docker.com/r/rocker/rstudio/tags - defaultValue: '4.0.4' - validRegex: /^([^\s^\/])+$/ - - id: $$cap_rstudio_username - label: 'Username' - description: 'Your username to log into RStudio' - defaultValue: 'rstudio' - validRegex: /^([^\s^\/])+$/ - - id: $$cap_rstudio_password - label: 'Password' - description: 'Your super secret Password for RStudio' - validRegex: /^([^\s^\/])+$/ - instructions: - start: >- - RStudio Server enables you to provide a browser based interface to a version of R running on a remote Linux server, bringing the power and productivity of the RStudio IDE to server-based deployments of R. - - For more details, see: https://hub.docker.com/r/rocker/rstudio - - Enter your RStudio Configuration parameters and click on next. It will take about a minute for the process to finish. - end: >- - Aaaand you're done! πŸ”₯ - Your RStudio Server instance is available at http://$$cap_appname.$$cap_root_domain - Use $$cap_rstudio_username and your super secret passwort to login to your RStudio Server instance - displayName: RStudio - isOfficial: false - description: RStudio Server enables you to provide a browser based interface to a version of R running on a Linux server, bringing the power & productivity of the RStudio IDE to server-based deployments of R. - documentation: 'Taken from https://hub.docker.com/r/rocker/rstudio' diff --git a/public/v4/apps/seafile-official.yml b/public/v4/apps/seafile-official.yml deleted file mode 100644 index ed0f977..0000000 --- a/public/v4/apps/seafile-official.yml +++ /dev/null @@ -1,73 +0,0 @@ -captainVersion: 4 -version: '2.0' -services: - $$cap_appname-db: - image: mariadb:$$cap_mariadb_version - environment: - MYSQL_ROOT_PASSWORD: '$$cap_mariadb_root_pswd' # Requested, set the root's password of MySQL service. - MYSQL_LOG_CONSOLE: 'true' - volumes: - - $$cap_appname-db-data:/var/lib/mysql # Requested, specifies the path to MySQL data persistent store. - caproverExtra: - notExposeAsWebApp: true - - $$cap_appname: - image: seafileltd/seafile-mc:$$cap_seafile_version - volumes: - - $$cap_appname-data:/shared # Requested, specifies the path to Seafile data persistent store. - environment: - DB_HOST: 'srv-captain--$$cap_appname-db' - DB_ROOT_PASSWD: '$$cap_mariadb_root_pswd' - TIME_ZONE: '$$cap_timezone' - SEAFILE_ADMIN_EMAIL: '$$cap_admin_email' # Specifies Seafile admin user, default is 'me@example.com'. - SEAFILE_ADMIN_PASSWORD: '$$cap_admin_pswd' - SEAFILE_SERVER_HOSTNAME: '$$cap_seafile_hostname' - depends_on: - - $$cap_appname-db - -caproverOneClickApp: - variables: - - id: '$$cap_seafile_version' - label: Seafile Version - defaultValue: '8.0.4' - description: Check out their Docker page for the valid tags https://hub.docker.com/r/seafileltd/seafile-mc/tags - validRegex: '/.{1,}/' - - id: '$$cap_mariadb_version' - label: MariaDB Version - defaultValue: '10.6' - description: Check out their Docker page for the valid tags https://hub.docker.com/_/mariadb?tab=tags - validRegex: '/.{1,}/' - - id: '$$cap_mariadb_root_pswd' - label: MariaDB Root Password - defaultValue: '$$cap_gen_random_hex(32)' - description: Default password for root user of MariaDB. Must have at least 8 chars, 1 letter and 1 number - - id: '$$cap_timezone' - label: 'Seafile Timezone' - defaultValue: 'Etc/UTC' - description: Timezone that Seafile should use - - id: '$$cap_admin_email' - label: Seafile Admin Email - description: Email for admin user of Seafile - defaultValue: 'admin@seafile.com' - - id: '$$cap_admin_pswd' - label: Seafile Admin Password - description: Password for admin user of Seafile. Must have at least 8 chars, 1 letter and 1 number - - id: '$$cap_seafile_hostname' - label: Seafile Hostname - description: Hostname of Seafile instance (that will be used by it in future) - - instructions: - start: |- - Seafile is an open source file sync&share solution designed for high reliability, performance and productivity. - Sync, share and collaborate across devices and teams. - Build your team's knowledge base with Seafile's built-in Wiki feature. - end: |- - Congratulations, you have successfully deployed Seafile instance! - - Your app will soon be available at http://$$cap_appname.$$cap_root_domain/ - - Don't forget to add specified hostname to Seafile domains! - displayName: Seafile (Official) - isOfficial: true - description: Reliable and Performant File Sync and Share Solution - documentation: Taken from https://manual.seafile.com/ diff --git a/public/v4/apps/seafile.yml b/public/v4/apps/seafile.yml deleted file mode 100644 index f5e6aff..0000000 --- a/public/v4/apps/seafile.yml +++ /dev/null @@ -1,74 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname-db: - image: 'mariadb:$$cap_mariadb_version' - environment: - MYSQL_ROOT_PASSWORD: $$cap_mariadb_root_passwd - volumes: - - '$$cap_appname-db-data:/var/lib/mysql' - networks: - - seafile-net - caproverExtra: - notExposeAsWebApp: true - $$cap_appname-memcached: - image: 'memcached:$$cap_memcached_version' - entrypoint: memcached -m 256 - networks: - - seafile-net - caproverExtra: - notExposeAsWebApp: true - $$cap_appname-seafile: - image: 'seafileltd/seafile-mc:$$cap_seafile_version' - volumes: - - '$$cap_appname-seafile-data:/shared' - environment: - DB_HOST: srv-captain--$$cap_appname-db - DB_ROOT_PASSWD: $$cap_mariadb_root_passwd - TIME_ZONE: $cap_timezone - SEAFILE_ADMIN_EMAIL: $$cap_seafile_admin_email - SEAFILE_ADMIN_PASSWORD: $$cap_seafile_admin_password - depends_on: - $$cap_appname-db: - condition: service_healthy - $$capp_appname-memcached: - condition: service_healthy - networks: - - seafile-net -caproverOneClickApp: - variables: - - id: $$cap_seafile_version - label: Seafile Version - defaultValue: 8.0.4 - - id: $$cap_memcached_version - label: Memcached Version - defaultValue: 1.5.6 - - id: $$cap_mariadb_version - label: MariaDB Version - defaultValue: '10.5' - - id: $$cap_mariadb_root_passwd - label: MariaDB Root Password - defaultValue: zR5oZ2gN - - id: $$cap_seafile_admin_email - label: Seafile Admin Email - defaultValue: admin@localhost - - id: $$cap_seafile_admin_password - label: Seafile Admin Password - defaultValue: xL2kX7iW - - id: $cap_timezone - label: Seafile Time zone - defaultValue: Asia/Ho_Chi_Minh - instructions: - start: >- - Seafile is an open source cloud storage system with file encryption and - group sharing. For more info visit https://www.seafile.com/ - end: |- - Seafile has been successfully deployed! - App is available as http://$$cap_appname.$$cap_root_domain - displayName: Seafile - isOfficial: false - description: >- - Seafile is an open source cloud storage system with file encryption and - group sharing. - documentation: >- - This docker-compose is taken from - https://manual.seafile.com/docker/deploy%20seafile%20with%20docker/ diff --git a/public/v4/apps/searx.yml b/public/v4/apps/searx.yml deleted file mode 100644 index 0152f43..0000000 --- a/public/v4/apps/searx.yml +++ /dev/null @@ -1,81 +0,0 @@ -captainVersion: 4 -services: - # SearX - $$cap_appname: - image: searx/searx:$$cap_searx_version - environment: - BIND_ADDRESS: 0.0.0.0:8080 - BASE_URL: https://$$cap_appname.$$cap_root_domain - MORTY_URL: https://$$cap_appname-morty.$$cap_root_domain - MORTY_KEY: $$cap_MORTY_KEY - caproverExtra: - containerHttpPort: '8080' - # Filtron - $$cap_appname-filtron: - volumes: - - $$cap_appname-filtron-data:/etc/filtron - ports: - - 4004:4004 - - 4005:4005 - restart: always - caproverExtra: - dockerfileLines: - - FROM dalf/filtron@$$cap_filtron_version - - ADD https://raw.githubusercontent.com/searx/searx-docker/master/rules.json /etc/filtron/rules.json - - USER root - - RUN chmod -R 755 /etc/filtron/ - - ENTRYPOINT ["/usr/local/filtron/filtron", "--rules", "/etc/filtron/rules.json", "--listen", "0.0.0.0:4004", "--api", "0.0.0.0:4005", "--target", "srv-captain--searx:8080"] - containerHttpPort: '3000' - # Morty - $$cap_appname-morty: - restart: always - environment: - MORTY_KEY: $$cap_MORTY_KEY - MORTY_ADDRESS: 0.0.0.0:3000 - caproverExtra: - containerHttpPort: '3000' - dockerfileLines: - - FROM dalf/morty@$$cap_morty_version - - CMD -timeout 6 -ipv6 - # Checker - $$cap_appname-checker: - restart: always - volumes: - - $$cap_appname-checker-data:/usr/local/searx-checker/html/data - caproverExtra: - notExposeAsWebApp: true - dockerfileLines: - - FROM searx/searx-checker@$$cap_checker_version - - CMD ["-cron", "-o", "html/data/status.json", "http://srv-captain--$$cap_appname:8080"] -caproverOneClickApp: - variables: - - id: $$cap_searx_version - label: Searx Version Tag - defaultValue: '0.17.0-281-219af243' - description: Check out their Docker page for the valid tags https://hub.docker.com/r/searx/searx/tags/ - - id: $$cap_filtron_version - label: Filtron Docker Version Hash - defaultValue: 'sha256:5b55f79b06fdd58122a6d764eca09d2ec687c5af5b78969124e69714d6bb889b' - description: Starts with 'sha256:'. Find on https://hub.docker.com/r/dalf/filtron/tags/ - - id: $$cap_morty_version - label: Morty Docker Version Hash - defaultValue: 'sha256:cb930c25254337e7a3abaf6daab326c663a4cdf1cbf4ae040ff7f670493df7fd' - description: Starts with 'sha256:'. Find on https://hub.docker.com/r/dalf/morty/tags/ - - id: $$cap_checker_version - label: Searx-checker Docker Version Hash - defaultValue: 'sha256:8ebda54ed8854e1300a4670e2bba86a5d2f4ceeb5c39290e4cc20df22bf974be' - description: Starts with 'sha256:'. Find on https://hub.docker.com/r/searx/searx-checker/tags/ - - label: Morty Secret Key - description: use openssl rand -base64 33 - defaultValue: RemplaceWithARealKey! - id: $$cap_MORTY_KEY - instructions: - start: >- - Privacy-respecting, hackable metasearch engine. - end: >- - Aaaand you're done! πŸ˜„ - - Now enable HTTPS on Searx, Filtron & Morty. - displayName: Searx - description: Privacy-respecting, hackable metasearch engine. - documentation: Taken from https://github.com/searx/searx-docker diff --git a/public/v4/apps/seatable.yml b/public/v4/apps/seatable.yml deleted file mode 100644 index 9bd3675..0000000 --- a/public/v4/apps/seatable.yml +++ /dev/null @@ -1,101 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname-db: - image: 'mariadb:$$cap_mariadb_version' - environment: - MYSQL_ROOT_PASSWORD: $$cap_mariadb_root_passwd - volumes: - - '$$cap_appname-db-data:/var/lib/mysql' - networks: - - seatable-net - caproverExtra: - notExposeAsWebApp: 'true' - - $$cap_appname-memcached: - image: 'memcached:$$cap_memcached_version' - entrypoint: memcached -m 256 - networks: - - seatable-net - caproverExtra: - notExposeAsWebApp: 'true' - - $$cap_appname-redis: - image: 'redis:$$cap_redis_version' - networks: - - seatable-net - caproverExtra: - notExposeAsWebApp: 'true' - - $$cap_appname: - volumes: - - '$$cap_appname-data:/shared' - environment: - DB_HOST: srv-captain--$$cap_appname-db - DB_ROOT_PASSWD: $$cap_mariadb_root_passwd - SEATABLE_SERVER_LETSENCRYPT: 'False' - SEATABLE_SERVER_HOSTNAME: $$cap_appname.$$cap_root_domain - TIME_ZONE: $$cap_timezone - depends_on: - - $$cap_appname-db - - $$cap_appname-memcached - - $$cap_appname-redis - networks: - - seatable-net - caproverExtra: - dockerfileLines: - - FROM seatable/seatable:$$cap_seatable_version - - EXPOSE 80 - - RUN apt-get -y install expect - - RUN mkdir -p /shared - - RUN /etc/my_init.d/01_init.sh - - ENTRYPOINT /shared/seatable/scripts/seatable.sh init && /shared/seatable/scripts/seatable.sh init-sql && /shared/seatable/scripts/seatable.sh start && /sbin/my_init -- /templates/enterpoint.sh - -caproverOneClickApp: - variables: - - id: $$cap_seatable_version - label: SeaTable Version - defaultValue: 1.8.0 - description: 'Check out their docker page for the valid tags https://hub.docker.com/r/seatable/seatable/tags?page=1&ordering=last_updated' - - id: $$cap_memcached_version - label: Memcached Version - defaultValue: 1.5.6 - - id: $$cap_redis_version - label: Redis Version - defaultValue: 5.0.7 - - id: $$cap_mariadb_version - label: MariaDB Version - defaultValue: 10.5 - - id: $$cap_mariadb_root_passwd - label: MariaDB Root Password - defaultValue: $$cap_gen_random_hex(16) - - id: $$cap_timezone - label: Time zone - defaultValue: Etc/UTC - description: List of tz database time zones https://en.wikipedia.org/wiki/List_of_tz_database_time_zones - - instructions: - start: >- - Simple like Excel, powerful like a database - SeaTable is the new flexible way for teams to work on tasks, projects or ideas. - It looks like Excel, but it has so much more to offer. - For more info visit https://seatable.io/ - - Requirements: SeaTable DE requires 4 cores and 8GB RAM - end: |- - SeaTable has been successfully deployed! - - -------------------------------------------- - - Before you proceed, please create admin user - docker exec -it $(docker ps --filter name='srv-captain--$$cap_appname.1' -q) /shared/seatable/scripts/seatable.sh superuser - - -------------------------------------------- - - App is available as http://$$cap_appname.$$cap_root_domain - displayName: SeaTable - isOfficial: false - description: >- - SeaTable is the new flexible way for teams to work on tasks, projects or ideas. - documentation: >- - This docker-compose is taken from - https://manual.seatable.io/docker/Developer-Edition/Deploy%20SeaTable-DE%20with%20Docker/ diff --git a/public/v4/apps/sentry.yml b/public/v4/apps/sentry.yml deleted file mode 100644 index 3e25f1f..0000000 --- a/public/v4/apps/sentry.yml +++ /dev/null @@ -1,184 +0,0 @@ -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: "http://$$cap_appname.$$cap_root_domain"'' >> /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. - - Information about this container: - https://hub.docker.com/_/sentry/ - - Documentation: - https://docs.sentry.io/server/ - - Minimum Hardware Requirements: At least 3GB Ram - - 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. - - 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/shiori.yml b/public/v4/apps/shiori.yml deleted file mode 100644 index 3d42a7a..0000000 --- a/public/v4/apps/shiori.yml +++ /dev/null @@ -1,39 +0,0 @@ -captainVersion: 4 - -services: - $$cap_appname: - image: radhifadlillah/shiori@sha256:3d1eb1f0aeb9804dea41f3ec5d29de5cf214bb66ef04dce1aa942ca17caec7bb - environment: - SHIORI_DIR: /data - volumes: - - $$cap_appname-shiori-data:/data - restart: on-failure - caproverExtra: - containerHttpPort: '8080' - -caproverOneClickApp: - isOfficial: false - description: 'A simple bookmark manager built with Go.' - instructions: - start: > - This app stores its data in a SQLite database in a Docker volume. - - Once deployed, this app will be accessible with a default username and - password. If this is a problem, you should deploy behind TLS and - basic-auth until you can log in and change them. - - username: shiori - - password: gopher - end: > - Shiori is up and running. - - You can log in with the username and password below to create and account - under `Settings`. Once you've created an account the default credentials - will be disabled. - - username: shiori - - password: gopher - documentation: > - From https://github.com/go-shiori/shiori. diff --git a/public/v4/apps/shopware.yml b/public/v4/apps/shopware.yml deleted file mode 100644 index 85ffe5f..0000000 --- a/public/v4/apps/shopware.yml +++ /dev/null @@ -1,83 +0,0 @@ -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 -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 check out 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 deleted file mode 100644 index b39055a..0000000 --- a/public/v4/apps/sinusbot.yml +++ /dev/null @@ -1,34 +0,0 @@ -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' -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 diff --git a/public/v4/apps/sonarqube.yml b/public/v4/apps/sonarqube.yml deleted file mode 100644 index 5155e10..0000000 --- a/public/v4/apps/sonarqube.yml +++ /dev/null @@ -1,69 +0,0 @@ -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' -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. - - 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 - - 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 diff --git a/public/v4/apps/sonarr.yml b/public/v4/apps/sonarr.yml deleted file mode 100644 index 712bf71..0000000 --- a/public/v4/apps/sonarr.yml +++ /dev/null @@ -1,58 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - image: linuxserver/sonarr:$$cap_sonarr_version - environment: - TZ: $$cap_tz - PUID: $$cap_puid - PGID: $$cap_guid - hostname: $$cap_appname.$$cap_root_domain - volumes: - - $$cap_appname-config:/config - - $$cap_path_to_tv:/tv - - $$cap_path_to_downloads:/downloads - caproverExtra: - containerHttpPort: 8989 -caproverOneClickApp: - variables: - - id: $$cap_sonarr_version - label: Sonarr Version - defaultValue: preview - description: Check out their Docker page for the valid tags https://hub.docker.com/r/linuxserver/sonarr/tags - validRegex: /^([^\s^\/])+$/ - - id: $$cap_tz - label: Time Zone - defaultValue: Europe/Brussels - description: Get yours from https://en.wikipedia.org/wiki/List_of_tz_database_time_zones - validRegex: /.{1,}/ - - id: $$cap_path_to_downloads - label: Location of download managers output directory - description: Location of download managers output directory - validRegex: /\/[^\s-][a-zA-Z0-9_\/-]*[^\/][^\s-]/ - - id: $$cap_path_to_tv - label: Location of TV library on disk - description: Location of TV library on disk - validRegex: /\/[^\s-][a-zA-Z0-9_\/-]*[^\/][^\s-]/ - - id: $$cap_puid - label: User ID - defaultValue: '1000' - description: User ID that the process uses, run (id $user) in your instance to see the id - validRegex: /.{1,}/ - - id: $$cap_guid - label: Group ID - defaultValue: '1000' - description: Group ID that the process uses, run (id $user) in your instance to see the id - validRegex: /.{1,}/ - instructions: - start: >- - Sonarr (formerly NZBdrone) is a PVR for usenet and bittorrent users. - - It can monitor multiple RSS feeds for new episodes of your favorite shows and will grab, sort and rename them. - - It can also be configured to automatically upgrade the quality of files already downloaded when a better quality format becomes available. - end: >- - Sonarr is deployed and available as $$cap_appname. - displayName: Sonarr - isOfficial: true - description: Sonarr (formerly NZBdrone) is a PVR for usenet and bittorrent users. It can monitor multiple RSS feeds for new episodes of your favorite shows and will grab, sort and rename them. - documentation: Taken from https://hub.docker.com/r/linuxserver/sonarr. diff --git a/public/v4/apps/sourcegraph.yml b/public/v4/apps/sourcegraph.yml deleted file mode 100644 index 4504595..0000000 --- a/public/v4/apps/sourcegraph.yml +++ /dev/null @@ -1,42 +0,0 @@ -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' -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). - - 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. - - 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). - - 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 - - - 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 deleted file mode 100644 index f3509d0..0000000 --- a/public/v4/apps/spigot.yml +++ /dev/null @@ -1,53 +0,0 @@ -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' -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 diff --git a/public/v4/apps/squidex.yml b/public/v4/apps/squidex.yml deleted file mode 100644 index 790154d..0000000 --- a/public/v4/apps/squidex.yml +++ /dev/null @@ -1,108 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - depends_on: - - $$cap_appname-db - image: 'squidex/squidex:$$cap_squidex_version' - volumes: - - '$$cap_appname-data:/app/Assets' - restart: always - environment: - URLS__BASEURL: 'https://$$cap_appname.$$cap_root_domain' - URLS__ENFORCEHTTPS: 'True' - EVENTSTORE__MONGODB__CONFIGURATION: 'mongodb://root:$$cap_mongo_password@srv-captain--$$cap_appname-db' - STORE__MONGODB__CONFIGURATION: 'mongodb://root:$$cap_mongo_password@srv-captain--$$cap_appname-db' - IDENTITY__ADMINEMAIL: $$cap_admin_email - IDENTITY__ADMINPASSWORD: $$cap_admin_password - IDENTITY__GOOGLECLIENT: $$cap_google_client - IDENTITY__GOOGLESECRET: $$cap_google_secret - IDENTITY__GITHUBCLIENT: $$cap_github_client - IDENTITY__GITHUBSECRET: $$cap_github_secret - IDENTITY__MICROSOFTCLIENT: $$cap_microsoft_client - IDENTITY__MICROSOFTSECRET: $$cap_microsoft_secret - LETSENCRYPT_HOST: $$cap_appname.$$cap_root_domain - LETSENCRYPT_EMAIL: $$cap_admin_email - VIRTUAL_HOST: $$cap_appname.$$cap_root_domain - $$cap_appname-db: - image: 'mongo:$$cap_mongo_version' - volumes: - - '$$cap_appname-db-data:/data/db' - - '$$cap_appname-db-config:/data/configdb' - restart: always - environment: - MONGO_INITDB_DATABASE: squidex - MONGO_INITDB_ROOT_USERNAME: root - MONGO_INITDB_ROOT_PASSWORD: $$cap_mongo_password - caproverExtra: - notExposeAsWebApp: 'true' -caproverOneClickApp: - variables: - - id: $$cap_squidex_version - label: Squidex Version - defaultValue: 4.6.0 - description: >- - Check out their page for the valid versions - https://hub.docker.com/r/squidex/squidex/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])+$/' - - id: $$cap_admin_email - label: Admin Email - description: The Email which is gonna be used to login as administrator. - validRegex: >- - /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/ - - id: $$cap_admin_password - label: Admin Password - description: >- - The password which is gonna be used to login as administrator.(Minimum - eight characters, at least one letter, one number and one special - character:) - validRegex: '/^(?=.*[A-Za-z])(?=.*\d)(?=.*[@$!%*#?&])[A-Za-z\d@$!%*#?&]{8,}$/' - - id: $$cap_microsoft_client - label: Microsoft Client Id(Optional) - description: The client id from Microsoft in order to enable MS Login. - - id: $$cap_microsoft_secret - label: Microsoft Secret Token(Optional) - description: The secret token from Microsoft in order to enable MS Login. - - id: $$cap_github_client - label: Github Client Id(Optional) - description: The client id from Github in order to enable Github Login. - - id: $$cap_github_secret - label: Github Secret Token(Optional) - description: The secret token from Github in order to enable Github Login. - - id: $$cap_google_client - label: Google Client Id(Optional) - description: The client id from Google in order to enable Google Login. - - id: $$cap_google_secret - label: Google Secret Token(Optional) - description: The secret token from Google in order to enable Google Login. - instructions: - start: >- - Squidex is an open source headless CMS and content management hub. In - contrast to a traditional CMS Squidex provides a rich API with OData - filter and Swagger definitions. It is up to you to build your UI on top of - it. It can be website, a native app or just another server. It is built - with ASP.NET Core and CQRS and is tested for Windows and Linux on modern - browsers. - end: |- - Squidex is deployed and available as $$cap_appname - You'll need also to enable https in order to make this app work. - - IMPORTANT!! Don't forget to change the URLS__BASEURL,LETSENCRYPT_HOST and VIRTUAL_HOST variable if you change your URL. - - IMPORTANT!! It takes up to 2-5 minutes for Squidex to boot up. You will see a 502 Error until the startup is finished. - displayName: '' - isOfficial: true - description: Squidex is an open source headless CMS and content management hub. - documentation: >- - Taken from - https://github.com/Squidex/squidex-docker/blob/master/standalone/docker-compose.yml diff --git a/public/v4/apps/sshd.yml b/public/v4/apps/sshd.yml deleted file mode 100644 index b4c40b8..0000000 --- a/public/v4/apps/sshd.yml +++ /dev/null @@ -1,50 +0,0 @@ -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"] -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. - - - 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: - - 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/statping.yml b/public/v4/apps/statping.yml deleted file mode 100644 index 772ca9a..0000000 --- a/public/v4/apps/statping.yml +++ /dev/null @@ -1,86 +0,0 @@ -captainVersion: 4 -services: - # Statping - $$cap_appname: - depends_on: - - $$cap_appname-postgres - image: statping/statping:$$cap_statping_version - volumes: - - $$cap_appname-app:/app - environment: - ADMIN_USER: $$cap_admin_user - ADMIN_PASSWORD: $$cap_admin_pass - ADMIN_EMAIL: $$cap_admin_email - DB_CONN: postgres - DB_HOST: srv-captain--$$cap_appname-postgres - DB_USER: $$cap_db_user - DB_PASS: $$cap_db_pass - DB_DATABASE: $$cap_db_name - caproverExtra: - containerHttpPort: '8080' - # PostgreSQL - $$cap_appname-postgres: - image: postgres:13-alpine - environment: - POSTGRES_USER: $$cap_db_user - POSTGRES_PASSWORD: $$cap_db_pass - POSTGRES_DB: $$cap_db_name - volumes: - - $$cap_appname-postgres-data:/var/lib/postgresql/data - caproverExtra: - notExposeAsWebApp: 'true' -caproverOneClickApp: - variables: - - id: $$cap_statping_version - label: Statping Version - defaultValue: 'v0.90.74' - description: Check out their docker page for the valid tags https://hub.docker.com/r/statping/statping/tags - validRegex: /^([^\s^\/])+$/ - - - id: $$cap_db_user - label: Database user - description: Database username - defaultValue: statping - validRegex: /^([^\s^\/])+$/ - - - id: $$cap_db_name - label: Database name - description: Database name - defaultValue: statping - validRegex: /^([^\s^\/])+$/ - - - id: $$cap_db_pass - label: Database Password - description: Password to connect to the database - defaultValue: $$cap_gen_random_hex(16) - validRegex: /^([^\s^\/])+$/ - - - id: $$cap_admin_user - label: Statping Admin - description: Username to access the statping dashboard - validRegex: /^([^\s^\/])+$/ - - - id: $$cap_admin_pass - label: Statping Admin Password - description: Password to access the statping dashboard - validRegex: /^([^\s^\/])+$/ - - - id: $$cap_admin_email - label: Statping Admin Email - validRegex: /^([^\s^\/])+$/ - - instructions: - start: >- - Statping - Web and App Status Monitoring for Any Type of Project. - end: >- - Aaaand you're done! πŸ˜„ - - - Your service is available at http://$$cap_appname.$$cap_root_domain - - - For more environment variables pls see https://github.com/statping/statping/wiki/Environment-Variables - displayName: 'Statping' - isOfficial: true - description: Statping - Web and App Status Monitoring for Any Type of Project. - documentation: Taken from https://github.com/statping/statping diff --git a/public/v4/apps/strapi-postgres.yml b/public/v4/apps/strapi-postgres.yml deleted file mode 100644 index 3dae5d3..0000000 --- a/public/v4/apps/strapi-postgres.yml +++ /dev/null @@ -1,64 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname-core: - depends_on: - - $$cap_appname-postgres - image: strapi/strapi:$$cap_strapi_version - volumes: - - $$cap_appname-data:/srv/app - restart: always - environment: - DATABASE_CLIENT: postgres - DATABASE_HOST: srv-captain--$$cap_appname-postgres - DATABASE_PORT: '5432' - DATABASE_NAME: strapi - DATABASE_USERNAME: strapi - DATABASE_PASSWORD: $$cap_postgres_password - caproverExtra: - containerHttpPort: '1337' - $$cap_appname-postgres: - image: postgres:$$cap_postgres_version - volumes: - - $$cap_appname-postgres-data:/var/lib/postgresql/data - restart: always - environment: - POSTGRES_DB: strapi - POSTGRES_USER: strapi - POSTGRES_PASSWORD: $$cap_postgres_password - caproverExtra: - notExposeAsWebApp: 'true' -caproverOneClickApp: - variables: - - id: $$cap_strapi_version - label: Strapi Version - defaultValue: 3.3.3 - description: Check out their page for the valid versions https://hub.docker.com/r/strapi/strapi/tags - validRegex: /^([^\s^\/])+$/ - - id: $$cap_postgres_version - label: PostgreSQL Version - defaultValue: '9.6.20' - description: Check out their Docker page for the valid tags https://hub.docker.com/r/library/postgres/tags/ - validRegex: /^([^\s^\/])+$/ - - id: $$cap_postgres_password - label: PostgreSQL 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: - - 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. - - 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: Strapi (postgresql) - 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/postgresql/docker-compose.yml diff --git a/public/v4/apps/strapi.yml b/public/v4/apps/strapi.yml deleted file mode 100644 index 20db75d..0000000 --- a/public/v4/apps/strapi.yml +++ /dev/null @@ -1,71 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - 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: strapi - 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: unless-stopped - environment: - MONGO_INITDB_DATABASE: strapi - MONGO_INITDB_ROOT_USERNAME: strapi - MONGO_INITDB_ROOT_PASSWORD: $$cap_mongo_password - caproverExtra: - notExposeAsWebApp: 'true' -caproverOneClickApp: - variables: - - id: $$cap_strapi_version - label: Strapi Version - defaultValue: 3.5.4 - description: Check out the Docker page for the valid tags https://hub.docker.com/r/strapi/strapi/tags - validRegex: /^([^\s^\/])+$/ - - id: $$cap_mongo_version - label: MongoDB Version - defaultValue: 4.4.4 - description: Check out the Docker page for the valid tags https://hub.docker.com/r/library/mongo/tags/ - validRegex: /^([^\s^\/])+$/ - - id: $$cap_mongo_password - label: MongoDB password - defaultValue: $$cap_gen_random_hex(32) - description: Only use alphanumeric chars. - validRegex: /^([a-zA-Z0-9])+$/ - instructions: - start: >- - Strapi is the leading open-source headless CMS. It’s 100% Javascript, fully customizable and developer-first - - Read more here: https://strapi.io - - Hardware requirements: - - 2GB RAM required - - 1 CPU core (2 is recommended) - - read more on https://strapi.io/documentation/developer-docs/latest/setup-deployment-guides/deployment.html#hosting-provider-guides - end: >- - Strapi is deployed and available as $$cap_appname - IMPORTANT: It will take up to 3 minutes for Strapi to be ready. Before that, you will see an 502 error page. - - Note when installing a plugin an error will be displayed. This error message is due to a restart on plugin installation. - This behaviour is normal. Refresh the page after few seconds (502 can happen if you refresh too fast). - 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/supabase-postgres.yml b/public/v4/apps/supabase-postgres.yml deleted file mode 100644 index f117f0c..0000000 --- a/public/v4/apps/supabase-postgres.yml +++ /dev/null @@ -1,49 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname-db: - image: supabase/postgres:$$cap_app_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_app_version - label: Supabase Version - defaultValue: '0.14.0' - description: Check out their Docker page for the valid tags https://hub.docker.com/r/supabase/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: >- - Postgres + goodies = Supabase Postgres - - Unmodified Postgres with some useful plugins. - - Our goal with this repo is not to modify Postgres, but to provide some of the most common extensions with a one-click install. - end: "Supabase (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: Supabase PostgreSQL - isOfficial: true - description: Supabase makes it easy to use Postgres. - documentation: Taken from https://github.com/supabase/postgres diff --git a/public/v4/apps/syncthing.yml b/public/v4/apps/syncthing.yml deleted file mode 100644 index 0d0f789..0000000 --- a/public/v4/apps/syncthing.yml +++ /dev/null @@ -1,28 +0,0 @@ -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' -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 diff --git a/public/v4/apps/teamspeak.yml b/public/v4/apps/teamspeak.yml deleted file mode 100644 index f234921..0000000 --- a/public/v4/apps/teamspeak.yml +++ /dev/null @@ -1,40 +0,0 @@ -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' -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 diff --git a/public/v4/apps/telegraf.yml b/public/v4/apps/telegraf.yml deleted file mode 100644 index f7813d1..0000000 --- a/public/v4/apps/telegraf.yml +++ /dev/null @@ -1,22 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - image: telegraf:$$cap_version - restart: always - volumes: - - $$cap_appname-config:/etc/telegraf - caproverExtra: - notExposeAsWebApp: 'true' -caproverOneClickApp: - variables: - - label: Telegraf Version - defaultValue: 1.17.3-alpine - description: Find versions on DockerHub https://hub.docker.com/_/telegraf?tab=tags - id: $$cap_version - instructions: - end: Telegraf is now starting. Navigate to the mountpoint of $$cap_appname-config to configure your instance. Read https://github.com/docker-library/docs/tree/master/telegraf#using-a-custom-config-file - start: Telegraf is an open source agent written in Go for collecting metrics and data on the system it's running on or from other services. Telegraf writes data it collects to InfluxDB in the correct format. - displayName: Telegraf - isOfficial: true - description: Telegraf is an open source agent written in Go for collecting metrics. - documentation: https://hub.docker.com/_/telegraf diff --git a/public/v4/apps/the-lounge.yml b/public/v4/apps/the-lounge.yml deleted file mode 100644 index 8c68669..0000000 --- a/public/v4/apps/the-lounge.yml +++ /dev/null @@ -1,26 +0,0 @@ -captainVersion: 4 -services: - $$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. diff --git a/public/v4/apps/thumbor.yml b/public/v4/apps/thumbor.yml deleted file mode 100644 index 469a0ce..0000000 --- a/public/v4/apps/thumbor.yml +++ /dev/null @@ -1,28 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - image: minimalcompact/thumbor:$$cap_thumbor_version - volumes: - - $$cap_appname-data:/data - restart: always - environment: - THUMBOR_PORT: '80' -caproverOneClickApp: - variables: - - id: $$cap_thumbor_version - label: Thumbor Version - defaultValue: 6.7.0 - description: Check out 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. - - 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. 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 deleted file mode 100644 index 1e991ca..0000000 --- a/public/v4/apps/tiddlywiki.yml +++ /dev/null @@ -1,33 +0,0 @@ -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' -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 diff --git a/public/v4/apps/umami.yml b/public/v4/apps/umami.yml deleted file mode 100644 index 51e3780..0000000 --- a/public/v4/apps/umami.yml +++ /dev/null @@ -1,76 +0,0 @@ -captainVersion: 4 -services: - # Umami - $$cap_appname: - image: tschannik/caprover-umami:$$cap_umami_version - restart: always - environment: - DATABASE_URL: postgresql://umami:$$cap_postgres_pass@srv-captain--$$cap_appname-postgres/umami - POSTGRES_HOSTNAME: srv-captain--$$cap_appname-postgres - POSTGRES_DB: umami - POSTGRES_USER: umami - POSTGRES_PASSWORD: $$cap_postgres_pass - POSTGRES_INITDB_ARGS: $$cap_pg_initdb_args - HASH_SALT: $$cap_gen_random_hex(16) - depends_on: - - $$cap_appname-postgres - caproverExtra: - containerHttpPort: '3000' - # PostgreSQL - $$cap_appname-postgres: - image: postgres:$$cap_postgres_version - volumes: - - $$cap_appname-postgres-data:/var/lib/postgresql/data - restart: always - environment: - POSTGRES_DB: umami - POSTGRES_USER: umami - POSTGRES_PASSWORD: $$cap_postgres_pass - POSTGRES_INITDB_ARGS: $$cap_pg_initdb_args - caproverExtra: - notExposeAsWebApp: 'true' -caproverOneClickApp: - variables: - - id: $$cap_postgres_version - label: Postgres Version - defaultValue: '12.6-alpine' - description: Checkout their page for the valid tags https://hub.docker.com/_/postgres - validRegex: /^([^\s^\/])+$/ - - id: $$cap_umami_version - label: Caprover Umami Version - defaultValue: 'postgresql-5ecaf55' - description: Checkout their github page for the valid tags https://github.com/tschannik/caprover-umami - validRegex: /^([^\s^\/])+$/ - - id: $$cap_postgres_pass - label: Potgress Database password - description: 'Pasword for postgres' - defaultValue: $$cap_gen_random_hex(16) - validRegex: /^([^\s^\/])+$/ - - id: $$cap_pg_initdb_args - label: "OPTIONAL: Arguments for 'postgres initdb'" - description: For example, --data-checksums - validRegex: /.{0,}/ - instructions: - start: >- - umami is a simple, easy to use, self-hosted web analytics solution. The goal is to provide you with a friendly privacy-focused alternative to Google Analytics. - - - This app will install a default postgres instance with persistant data. You can choose the version yourself. The deployment was tested with postgres 12.x. - - After the installation we'll fork a slightly customized version of the original umami package which makes sure that your data is not corrupted on new container deployments or restarts. - Open a PR on https://github.com/tschannik/caprover-umami of your desired umami-version is not supported. - - - For more details about umami, see: https://umami.is - - - Enter your configuration parameters and click on next. It will take about a minute for the process to finish. - end: >- - Aaaand you're done! πŸ”₯ - Your umami instance is available at http://$$cap_appname.$$cap_root_domain - - IMPORTANT: Use user 'admin' and password 'umami' to login and change your password immediately! - displayName: umami - isOfficial: false - description: umami is a simple, easy to use, self-hosted web analytics solution. The goal is to provide you with a friendly privacy-focused alternative to Google Analytics. - documentation: Official docs are [here](https://github.com/mikecao/umami) diff --git a/public/v4/apps/verdaccio.yml b/public/v4/apps/verdaccio.yml deleted file mode 100644 index 8a77226..0000000 --- a/public/v4/apps/verdaccio.yml +++ /dev/null @@ -1,32 +0,0 @@ -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' -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. - - 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 - - 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 deleted file mode 100644 index 18db4fc..0000000 --- a/public/v4/apps/vscode-coder.yml +++ /dev/null @@ -1,43 +0,0 @@ -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 - - $$cap_appname-keys-directory:/root/.ssh - - $$cap_appname-theme-and-plugin-directory:/root/.local/share/code-server - caproverExtra: - containerHttpPort: '8080' - dockerfileLines: - - FROM codercom/code-server:$$cap_coder_version - - '# 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: /^[^"]*$/ - - id: $$cap_coder_version - label: Code Server Version - defaultValue: 3.9.1 - description: Check out their Docker page for the valid tags https://hub.docker.com/r/codercom/code-server/tags/ - validRegex: /^([^\s^\/])+$/ - 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 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 (3.8.0) diff --git a/public/v4/apps/vsts.yml b/public/v4/apps/vsts.yml deleted file mode 100644 index 0c4d8a2..0000000 --- a/public/v4/apps/vsts.yml +++ /dev/null @@ -1,40 +0,0 @@ -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 - volumes: - - /var/run/docker.sock:/var/run/docker.sock -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/ diff --git a/public/v4/apps/wallabag.yml b/public/v4/apps/wallabag.yml deleted file mode 100644 index 662f413..0000000 --- a/public/v4/apps/wallabag.yml +++ /dev/null @@ -1,70 +0,0 @@ -captainVersion: 4 -services: - # Wallabag - $$cap_appname: - depends_on: - - $$cap_appname-mariadb - image: wallabag/wallabag:$$cap_wallabag_version - restart: 'always' - environment: - MYSQL_ROOT_PASSWORD: $$cap_mariadb-rootpass - SYMFONY__ENV__DATABASE_DRIVER: pdo_mysql - SYMFONY__ENV__DATABASE_HOST: srv-captain--$$cap_appname-mariadb - SYMFONY__ENV__DATABASE_PORT: 3306 - SYMFONY__ENV__DATABASE_NAME: $$cap_mariadb-db - SYMFONY__ENV__DATABASE_USER: $$cap_mariadb-user - SYMFONY__ENV__DATABASE_PASSWORD: $$cap_mariadb-pass - SYMFONY__ENV__SECRET: $$cap_gen_random_hex(30) - SYMFONY__ENV__DOMAIN_NAME: https://$$cap_appname.$$cap_root_domain - volumes: - - $$cap_appname-images:/var/www/wallabag/web/assets/images - # MariaDB - $$cap_appname-mariadb: - image: mariadb:$$cap_mariadb_version - environment: - MYSQL_ROOT_PASSWORD: $$cap_mariadb-rootpass - volumes: - - $$cap_appname-mariadb-data:/var/lib/mysql - restart: unless-stopped - caproverExtra: - notExposeAsWebApp: 'true' -caproverOneClickApp: - variables: - - id: $$cap_wallabag_version - label: Version Tag - description: Check out their Docker page for the valid tags https://hub.docker.com/r/wallabag/wallabag/tags - defaultValue: '2.4.0' - - id: $$cap_mariadb_version - label: MariaDB Version - defaultValue: '10.5.6' - description: Check out their docker page for the valid tags https://hub.docker.com/r/library/mariadb/tags/ - validRegex: /^([^\s^\/])+$/ - - id: $$cap_mariadb-db - label: MariaDB Database - description: Database name for Wallabag - defaultValue: 'wallabag' - - id: $$cap_mariadb-user - label: MariaDB User - description: Database User for Wallabag - defaultValue: 'wallabag' - - id: $$cap_mariadb-pass - label: MariaDB database user password - description: Super secret database user password - defaultValue: $$cap_gen_random_hex(32) - - id: $$cap_mariadb-rootpass - label: MariaDB Root password - description: Super secret database user password - defaultValue: $$cap_gen_random_hex(32) - instructions: - start: |- - Wallabag is a self hostable application for saving web pages: Save and classify articles. Read them later. Freely. - end: |- - Aaaand you're done! πŸ˜„ - Your service is available at http://$$cap_appname.$$cap_root_domain - ------------------------------------------------------------------- - - Default login is wallabag:wallabag. - displayName: Wallabag - isOfficial: true - description: Wallabag is a self hostable application for saving web pages, Save and classify articles. Read them later. Freely. - documentation: https://github.com/wallabag/docker#how-to-use-this-image diff --git a/public/v4/apps/weblate.yml b/public/v4/apps/weblate.yml deleted file mode 100644 index 12f34bc..0000000 --- a/public/v4/apps/weblate.yml +++ /dev/null @@ -1,88 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname-redis: - image: redis:$$cap_redis_version - volumes: - - $$cap_appname-cache-data:/app/data - caproverExtra: - notExposeAsWebApp: 'true' - $$cap_appname-postgres: - image: postgres:$$cap_postgres_version - volumes: - - $$cap_appname-postgres-data:/var/lib/postgresql/data - restart: always - environment: - POSTGRES_USER: weblate - POSTGRES_PASSWORD: $$cap_pg_pass - POSTGRES_DB: weblate - caproverExtra: - notExposeAsWebApp: 'true' - $$cap_appname: - image: weblate/weblate:$$cap_weblate_version - depends_on: - - $$cap_appname-postgres - - $$cap_appname-redis - volumes: - - $$cap_appname-data:/app/data - restart: always - environment: - WEBLATE_DEBUG: 0 - WEBLATE_LOGLEVEL: INFO - WEBLATE_ADMIN_EMAIL: $$cap_admin_email - WEBLATE_ADMIN_PASSWORD: $$cap_admin_password - WEBLATE_SERVER_EMAIL: $$cap_server_email - WEBLATE_DEFAULT_FROM_EMAIL: $$cap_email_from - WEBLATE_REGISTRATION_OPEN: $$cap_open_registration - POSTGRES_PASSWORD: $$cap_pg_pass - POSTGRES_USER: weblate - POSTGRES_DATABASE: weblate - POSTGRES_HOST: srv-captain--$$cap_appname-postgres - REDIS_HOST: srv-captain--$$cap_appname-redis - WEBLATE_SITE_DOMAIN: $$cap_appname.$$cap_root_domain - WEBLATE_SITE_TITLE: $$cap_appname Weblate - WEBLATE_ADMIN_NAME: Weblate Admin - POSTGRES_PORT: 5432 - REDIS_PORT: 6379 - caproverExtra: - containerHttpPort: '8080' -caproverOneClickApp: - variables: - - id: $$cap_postgres_version - label: Postgres Docker version - defaultValue: 13-alpine - description: Check out their Docker page for the valid versions https://hub.docker.com/r/library/postgres/tags - - id: $$cap_redis_version - label: Redis Docker version - defaultValue: 6-alpine - description: Check out their Docker page for the valid versions https://hub.docker.com/r/library/redis/tags - - id: $$cap_weblate_version - label: weblate Docker Image tag - defaultValue: 4.4.2-1 - description: latest, edge, bleeding, or version - Check out their Docker page for the valid tags https://hub.docker.com/r/weblate/weblate/tags - - id: $$cap_pg_pass - label: Postgres Password - description: Password must be at least 30 characters. Please use a random string. - validRegex: /^[^\@]{30,}$/ - - id: $$cap_admin_email - label: Email of the first user and administrator of weblate - description: Will be used to login to weblate - - id: $$cap_admin_password - label: Password of the first user and administrator of weblate - description: Will be used to login to weblate - - id: $$cap_server_email - label: Weblate server email - description: (eg weblate@example.com) - - id: $$cap_email_from - label: Weblate FROM email - description: (eg weblate@example.com) - - id: $$cap_open_registration - label: Allow open registration of people (0/1) - defaultValue: 0 - description: Do you allow people to register openly to the platform? - instructions: - start: Open-source collaborative localization tools. Check all the environment settings you can set here - https://github.com/WeblateOrg/docker-compose/blob/master/environment - end: Weblate is deployed and available as srv-captain--$$cap_appname:80. Note that the application may take up to ten minutes to become available. - displayName: weblate - isOfficial: true - description: Weblate is a copylefted libre software web-based continuous localization system, used by over 1150 libre projects and companies in more than 115 countries. - documentation: https://hub.docker.com/r/weblate/weblate https://github.com/WeblateOrg/docker-compose https://docs.weblate.org/en/latest/admin/install/docker.html diff --git a/public/v4/apps/whoopsmonitor.yml b/public/v4/apps/whoopsmonitor.yml deleted file mode 100644 index e288e82..0000000 --- a/public/v4/apps/whoopsmonitor.yml +++ /dev/null @@ -1,184 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname-redis: - caproverExtra: - notExposeAsWebApp: 'true' - image: 'bitnami/redis:6.0.8-debian-10-r6' - environment: - REDIS_PASSWORD: $$cap_APP_REDIS_PASSWORD - volumes: - - $$cap_appname-redis-data:/bitnami - - $$cap_appname-mongodb: - caproverExtra: - notExposeAsWebApp: 'true' - image: bitnami/mongodb:4.4.1-debian-10-r8 - ports: - - '27017:27017' - volumes: - - $$cap_appname-mongodb-data:/bitnami - environment: - MONGODB_ROOT_PASSWORD: $$cap_APP_MONGODB_ROOT_PASSWORD - MONGODB_DATABASE: $$cap_APP_MONGODB_DATABASE - MONGODB_USERNAME: $$cap_APP_MONGODB_USERNAME - MONGODB_PASSWORD: $$cap_APP_MONGODB_PASSWORD - - $$cap_appname-api: - caproverExtra: - containerHttpPort: '1337' - restart: always - volumes: - - /var/run/docker.sock:/var/run/docker.sock:rw - ports: - - '1337:1337' - image: ghcr.io/whoopsmonitor/whoopsmonitor/api:$$cap_APP_VERSION - environment: - NODE_ENV: production - CONFIG_CORS_ALLOW_ORIGINS: '*' - APP_PASSWORD: $$cap_APP_PASSWORD - MONGO_CONNECTION: mongodb://$$cap_APP_MONGODB_USERNAME:$$cap_APP_MONGODB_PASSWORD@srv-captain--$$cap_appname-mongodb:27017/$$cap_APP_MONGODB_DATABASE?authSource=$$cap_APP_MONGODB_DATABASE - APP_DATA_ENCRYPTION_KEY: $$cap_APP_DATA_ENCRYPTION_KEY - APP_REDIS_PASSWORD: $$cap_APP_REDIS_PASSWORD - APP_REDIS_CONNECTION_HOST: srv-captain--$$cap_appname-redis - APP_REDIS_CONNECTION_PORT: 6379 - APP_TOKEN: $$cap_APP_TOKEN - APP_QUEUE_NAME_EXECUTE_CHECK: execute-check - APP_QUEUE_NAME_CLEANUP_CHECK_STATUS: cleanup-check-status - depends_on: - - $$cap_appname-mongodb - - $$cap_appname-redis - - $$cap_appname-monitor: - restart: always - image: ghcr.io/whoopsmonitor/whoopsmonitor/monitor:$$cap_APP_VERSION - ports: - - '8080:80' - environment: - NODE_ENV: production - API_TOKEN: $$cap_APP_TOKEN - APP_API_URL: $$cap_APP_API_URL - depends_on: - - $$cap_appname-mongodb - - $$cap_appname-redis - - $$cap_appname-api - - $$cap_appname-worker: - caproverExtra: - notExposeAsWebApp: 'true' - restart: always - volumes: - - /var/run/docker.sock:/var/run/docker.sock:rw - - $$cap_appname-worker-data:/whoopsmonitor-worker - image: ghcr.io/whoopsmonitor/whoopsmonitor/worker:$$cap_APP_VERSION - environment: - NODE_ENV: production - APP_REDIS_PASSWORD: $$cap_APP_REDIS_PASSWORD - APP_REDIS_HOST: srv-captain--$$cap_appname-redis - APP_REDIS_PORT: 6379 - APP_API_URL: http://srv-captain--$$cap_appname-api:1337 - APP_QUEUE_NAME_EXECUTE_CHECK: execute-check - APP_QUEUE_NAME_CLEANUP_CHECK_STATUS: cleanup-check-status - APP_QUEUE_NAME_ALERTING: alerting - APP_TOKEN: $$cap_APP_TOKEN - depends_on: - - $$cap_appname-mongodb - - $$cap_appname-redis - - $$cap_appname-api - - $$cap_appname-alerting: - caproverExtra: - notExposeAsWebApp: 'true' - restart: always - volumes: - - /var/run/docker.sock:/var/run/docker.sock:rw - image: ghcr.io/whoopsmonitor/whoopsmonitor/alerting:1.0 - environment: - NODE_ENV: production - APP_REDIS_PASSWORD: $$cap_APP_REDIS_PASSWORD - APP_REDIS_HOST: srv-captain--$$cap_appname-redis - APP_REDIS_PORT: 6379 - APP_API_URL: http://srv-captain--$$cap_appname-api:1337 - APP_QUEUE_NAME_ALERTING: alerting - APP_TOKEN: $$cap_APP_TOKEN - depends_on: - - $$cap_appname-mongodb - - $$cap_appname-redis - - $$cap_appname-api - - $$cap_appname-image-metadata: - caproverExtra: - notExposeAsWebApp: 'true' - restart: always - volumes: - - /var/run/docker.sock:/var/run/docker.sock:rw - image: ghcr.io/whoopsmonitor/whoopsmonitor/image-metadata:1.0 - environment: - NODE_ENV: production - API_URL: http://srv-captain--$$cap_appname-api:1337 - APP_TOKEN: $$cap_APP_TOKEN - depends_on: - - $$cap_appname-mongodb - - $$cap_appname-redis - - $$cap_appname-api - -caproverOneClickApp: - variables: - - label: Version - description: Application version, currently 1.0 - defaultValue: '1.0' - id: $$cap_APP_VERSION - - - label: '* External API URL' - description: API URL that is availaible from outside, like via browser. You can re-enter this value later but it is mandatory for "monitor" service. - defaultValue: 'https://' - id: $$cap_APP_API_URL - - - label: Redis Password - description: Redis password. - defaultValue: $$cap_gen_random_hex(32) - id: $$cap_APP_REDIS_PASSWORD - - - label: Mongo - root password - description: Root password for Mongo DB. - defaultValue: $$cap_gen_random_hex(32) - id: $$cap_APP_MONGODB_ROOT_PASSWORD - - label: Mongo - database username - description: Mongo DB username. - defaultValue: $$cap_gen_random_hex(32) - id: $$cap_APP_MONGODB_USERNAME - - label: Mongo - database password - description: Mongo DB password. - defaultValue: $$cap_gen_random_hex(32) - id: $$cap_APP_MONGODB_PASSWORD - - label: Mongo - database name - description: Name of the database. - defaultValue: $$cap_gen_random_hex(32) - id: $$cap_APP_MONGODB_DATABASE - - - label: Application Password - description: Admin for your application. There is no account name. Just the password. - defaultValue: $$cap_gen_random_hex(16) - id: $$cap_APP_PASSWORD - - label: Encryption key - description: Sensitive data stored in Whoops Monitor are all encrypted. It is a base64 key of some string. You should change the default value. - defaultValue: a3psdWpZdU40WG9zZTRPVHNpdXkxYTlNS0JqRTdZZUs= - id: $$cap_APP_DATA_ENCRYPTION_KEY - - label: API token - description: API token that is used for securing the communication between API and external services. - defaultValue: $$cap_gen_random_hex(64) - id: $$cap_APP_TOKEN - - displayName: Whoops Monitor - isOfficial: true - description: A monitoring tool that gives you clarity over your application landscape. - documentation: https://github.com/whoopsmonitor/whoopsmonitor - instructions: - start: |- - A monitoring tool that gives you clarity over your application landscape. - GitHub: https://github.com/whoopsmonitor/whoopsmonitor - end: |- - You're done! πŸ˜„ - - Your service is available at http://$$cap_appname.$$cap_root_domain - - The password is $$cap_APP_PASSWORD diff --git a/public/v4/apps/wiki-js.yml b/public/v4/apps/wiki-js.yml deleted file mode 100644 index d5175af..0000000 --- a/public/v4/apps/wiki-js.yml +++ /dev/null @@ -1,47 +0,0 @@ -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' -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. - - 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 deleted file mode 100644 index eea1363..0000000 --- a/public/v4/apps/wordpress-only.yml +++ /dev/null @@ -1,56 +0,0 @@ -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 -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. - - 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 . - - 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 diff --git a/public/v4/apps/wordpress.yml b/public/v4/apps/wordpress.yml deleted file mode 100644 index 6187a58..0000000 --- a/public/v4/apps/wordpress.yml +++ /dev/null @@ -1,63 +0,0 @@ -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 -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: /^(\w|[^\s"'\\])+$/ - - 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 . - - 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 diff --git a/public/v4/logos/ackee.png b/public/v4/logos/ackee.png deleted file mode 100644 index 91716f4..0000000 Binary files a/public/v4/logos/ackee.png and /dev/null differ diff --git a/public/v4/logos/adguard-home.png b/public/v4/logos/adguard-home.png deleted file mode 100644 index ebf23fe..0000000 Binary files a/public/v4/logos/adguard-home.png and /dev/null differ diff --git a/public/v4/logos/adminer.png b/public/v4/logos/adminer.png deleted file mode 100644 index 6517bcc..0000000 Binary files a/public/v4/logos/adminer.png and /dev/null differ diff --git a/public/v4/logos/akaunting.png b/public/v4/logos/akaunting.png deleted file mode 100644 index 2dc093e..0000000 Binary files a/public/v4/logos/akaunting.png and /dev/null differ diff --git a/public/v4/logos/appsmith-only.png b/public/v4/logos/appsmith-only.png deleted file mode 100644 index 314ad90..0000000 Binary files a/public/v4/logos/appsmith-only.png and /dev/null differ diff --git a/public/v4/logos/arangodb.png b/public/v4/logos/arangodb.png deleted file mode 100644 index a5dc7f6..0000000 Binary files a/public/v4/logos/arangodb.png and /dev/null differ diff --git a/public/v4/logos/bitwardenrs.png b/public/v4/logos/bitwardenrs.png deleted file mode 100644 index bf9f59a..0000000 Binary files a/public/v4/logos/bitwardenrs.png and /dev/null differ diff --git a/public/v4/logos/bookstack.png b/public/v4/logos/bookstack.png deleted file mode 100644 index fdc0a04..0000000 Binary files a/public/v4/logos/bookstack.png and /dev/null differ diff --git a/public/v4/logos/cachet.png b/public/v4/logos/cachet.png deleted file mode 100644 index dd722a8..0000000 Binary files a/public/v4/logos/cachet.png and /dev/null differ diff --git a/public/v4/logos/changedetection.png b/public/v4/logos/changedetection.png deleted file mode 100644 index d4d4c3d..0000000 Binary files a/public/v4/logos/changedetection.png and /dev/null differ diff --git a/public/v4/logos/chaskiq.png b/public/v4/logos/chaskiq.png deleted file mode 100644 index 4bfd028..0000000 Binary files a/public/v4/logos/chaskiq.png and /dev/null differ diff --git a/public/v4/logos/chatwoot.png b/public/v4/logos/chatwoot.png deleted file mode 100644 index 9b31f94..0000000 Binary files a/public/v4/logos/chatwoot.png and /dev/null differ diff --git a/public/v4/logos/chevereto.png b/public/v4/logos/chevereto.png deleted file mode 100644 index ee751de..0000000 Binary files a/public/v4/logos/chevereto.png and /dev/null differ diff --git a/public/v4/logos/cockpit.png b/public/v4/logos/cockpit.png deleted file mode 100644 index 0fc925f..0000000 Binary files a/public/v4/logos/cockpit.png and /dev/null differ diff --git a/public/v4/logos/codimd.png b/public/v4/logos/codimd.png deleted file mode 100644 index 1653f10..0000000 Binary files a/public/v4/logos/codimd.png and /dev/null differ diff --git a/public/v4/logos/collabora-online.png b/public/v4/logos/collabora-online.png deleted file mode 100644 index 7c03822..0000000 Binary files a/public/v4/logos/collabora-online.png and /dev/null differ diff --git a/public/v4/logos/commento.png b/public/v4/logos/commento.png deleted file mode 100644 index 3f1757c..0000000 Binary files a/public/v4/logos/commento.png and /dev/null differ diff --git a/public/v4/logos/coral.png b/public/v4/logos/coral.png deleted file mode 100644 index 8d97275..0000000 Binary files a/public/v4/logos/coral.png and /dev/null differ diff --git a/public/v4/logos/couchdb.png b/public/v4/logos/couchdb.png deleted file mode 100644 index d4d7e66..0000000 Binary files a/public/v4/logos/couchdb.png and /dev/null differ diff --git a/public/v4/logos/countly.png b/public/v4/logos/countly.png deleted file mode 100644 index 5bf039d..0000000 Binary files a/public/v4/logos/countly.png and /dev/null differ diff --git a/public/v4/logos/directus.png b/public/v4/logos/directus.png deleted file mode 100644 index c973d17..0000000 Binary files a/public/v4/logos/directus.png and /dev/null differ diff --git a/public/v4/logos/discourse.png b/public/v4/logos/discourse.png deleted file mode 100644 index 90b9b30..0000000 Binary files a/public/v4/logos/discourse.png and /dev/null differ diff --git a/public/v4/logos/dokuwiki.png b/public/v4/logos/dokuwiki.png deleted file mode 100644 index b319780..0000000 Binary files a/public/v4/logos/dokuwiki.png and /dev/null differ diff --git a/public/v4/logos/dolibarr.png b/public/v4/logos/dolibarr.png deleted file mode 100644 index 8edd066..0000000 Binary files a/public/v4/logos/dolibarr.png and /dev/null differ diff --git a/public/v4/logos/drone-gitea.png b/public/v4/logos/drone-gitea.png deleted file mode 100644 index cc84d7e..0000000 Binary files a/public/v4/logos/drone-gitea.png and /dev/null differ diff --git a/public/v4/logos/droppy.png b/public/v4/logos/droppy.png deleted file mode 100644 index 143fb65..0000000 Binary files a/public/v4/logos/droppy.png and /dev/null differ diff --git a/public/v4/logos/duplicati.png b/public/v4/logos/duplicati.png deleted file mode 100644 index fa5ef33..0000000 Binary files a/public/v4/logos/duplicati.png and /dev/null differ diff --git a/public/v4/logos/eclipse-mosquitto.png b/public/v4/logos/eclipse-mosquitto.png deleted file mode 100644 index 7b0dd43..0000000 Binary files a/public/v4/logos/eclipse-mosquitto.png and /dev/null differ diff --git a/public/v4/logos/elasticsearch.png b/public/v4/logos/elasticsearch.png deleted file mode 100644 index c8744eb..0000000 Binary files a/public/v4/logos/elasticsearch.png and /dev/null differ diff --git a/public/v4/logos/etesync.png b/public/v4/logos/etesync.png deleted file mode 100644 index fc9d8d8..0000000 Binary files a/public/v4/logos/etesync.png and /dev/null differ diff --git a/public/v4/logos/etherpad.png b/public/v4/logos/etherpad.png deleted file mode 100644 index e66944d..0000000 Binary files a/public/v4/logos/etherpad.png and /dev/null differ diff --git a/public/v4/logos/fider.png b/public/v4/logos/fider.png deleted file mode 100644 index 6e34aca..0000000 Binary files a/public/v4/logos/fider.png and /dev/null differ diff --git a/public/v4/logos/filebrowser.png b/public/v4/logos/filebrowser.png deleted file mode 100644 index e7aa63d..0000000 Binary files a/public/v4/logos/filebrowser.png and /dev/null differ diff --git a/public/v4/logos/filestash.png b/public/v4/logos/filestash.png deleted file mode 100644 index 5db95f2..0000000 Binary files a/public/v4/logos/filestash.png and /dev/null differ diff --git a/public/v4/logos/firefly-iii.png b/public/v4/logos/firefly-iii.png deleted file mode 100644 index 8611300..0000000 Binary files a/public/v4/logos/firefly-iii.png and /dev/null differ diff --git a/public/v4/logos/focalboard.png b/public/v4/logos/focalboard.png deleted file mode 100644 index b705f66..0000000 Binary files a/public/v4/logos/focalboard.png and /dev/null differ diff --git a/public/v4/logos/formio.png b/public/v4/logos/formio.png deleted file mode 100644 index 69eac78..0000000 Binary files a/public/v4/logos/formio.png and /dev/null differ diff --git a/public/v4/logos/fusionauth.png b/public/v4/logos/fusionauth.png deleted file mode 100644 index a578530..0000000 Binary files a/public/v4/logos/fusionauth.png and /dev/null differ diff --git a/public/v4/logos/ghost-only.png b/public/v4/logos/ghost-only.png deleted file mode 100644 index 858a8bc..0000000 Binary files a/public/v4/logos/ghost-only.png and /dev/null differ diff --git a/public/v4/logos/ghost.png b/public/v4/logos/ghost.png deleted file mode 100644 index 858a8bc..0000000 Binary files a/public/v4/logos/ghost.png and /dev/null differ diff --git a/public/v4/logos/gitea.png b/public/v4/logos/gitea.png deleted file mode 100644 index dd3e97c..0000000 Binary files a/public/v4/logos/gitea.png and /dev/null differ diff --git a/public/v4/logos/gitlab-ce.png b/public/v4/logos/gitlab-ce.png deleted file mode 100644 index e8141ce..0000000 Binary files a/public/v4/logos/gitlab-ce.png and /dev/null differ diff --git a/public/v4/logos/gitlab-runner.png b/public/v4/logos/gitlab-runner.png deleted file mode 100644 index e8141ce..0000000 Binary files a/public/v4/logos/gitlab-runner.png and /dev/null differ diff --git a/public/v4/logos/grafana.png b/public/v4/logos/grafana.png deleted file mode 100644 index c865949..0000000 Binary files a/public/v4/logos/grafana.png and /dev/null differ diff --git a/public/v4/logos/graylog.png b/public/v4/logos/graylog.png deleted file mode 100644 index cff7152..0000000 Binary files a/public/v4/logos/graylog.png and /dev/null differ diff --git a/public/v4/logos/grocy.png b/public/v4/logos/grocy.png deleted file mode 100644 index bf453df..0000000 Binary files a/public/v4/logos/grocy.png and /dev/null differ diff --git a/public/v4/logos/hasura-only.png b/public/v4/logos/hasura-only.png deleted file mode 100644 index 1ea76cd..0000000 Binary files a/public/v4/logos/hasura-only.png and /dev/null differ diff --git a/public/v4/logos/hasura.png b/public/v4/logos/hasura.png deleted file mode 100644 index 1ea76cd..0000000 Binary files a/public/v4/logos/hasura.png and /dev/null differ diff --git a/public/v4/logos/hedgedoc.png b/public/v4/logos/hedgedoc.png deleted file mode 100644 index 97b6d52..0000000 Binary files a/public/v4/logos/hedgedoc.png and /dev/null differ diff --git a/public/v4/logos/heimdall.png b/public/v4/logos/heimdall.png deleted file mode 100644 index 15fbf21..0000000 Binary files a/public/v4/logos/heimdall.png and /dev/null differ diff --git a/public/v4/logos/humhub.png b/public/v4/logos/humhub.png deleted file mode 100644 index b2fd98f..0000000 Binary files a/public/v4/logos/humhub.png and /dev/null differ diff --git a/public/v4/logos/influxdb.png b/public/v4/logos/influxdb.png deleted file mode 100644 index ca5eb53..0000000 Binary files a/public/v4/logos/influxdb.png and /dev/null differ diff --git a/public/v4/logos/influxdb2.png b/public/v4/logos/influxdb2.png deleted file mode 100644 index ca5eb53..0000000 Binary files a/public/v4/logos/influxdb2.png and /dev/null differ diff --git a/public/v4/logos/invoiceninja.png b/public/v4/logos/invoiceninja.png deleted file mode 100644 index 23685f6..0000000 Binary files a/public/v4/logos/invoiceninja.png and /dev/null differ diff --git a/public/v4/logos/invoiceplane.png b/public/v4/logos/invoiceplane.png deleted file mode 100644 index f5b352d..0000000 Binary files a/public/v4/logos/invoiceplane.png and /dev/null differ diff --git a/public/v4/logos/jellyfin.png b/public/v4/logos/jellyfin.png deleted file mode 100644 index d450630..0000000 Binary files a/public/v4/logos/jellyfin.png and /dev/null differ diff --git a/public/v4/logos/jenkins.png b/public/v4/logos/jenkins.png deleted file mode 100644 index f1626da..0000000 Binary files a/public/v4/logos/jenkins.png and /dev/null differ diff --git a/public/v4/logos/jitsi.png b/public/v4/logos/jitsi.png deleted file mode 100644 index e3a58bf..0000000 Binary files a/public/v4/logos/jitsi.png and /dev/null differ diff --git a/public/v4/logos/joomla.png b/public/v4/logos/joomla.png deleted file mode 100644 index ed4d8ae..0000000 Binary files a/public/v4/logos/joomla.png and /dev/null differ diff --git a/public/v4/logos/joplin.png b/public/v4/logos/joplin.png deleted file mode 100644 index 6fce58b..0000000 Binary files a/public/v4/logos/joplin.png and /dev/null differ diff --git a/public/v4/logos/jsreport.png b/public/v4/logos/jsreport.png deleted file mode 100644 index c2bbc49..0000000 Binary files a/public/v4/logos/jsreport.png and /dev/null differ diff --git a/public/v4/logos/jupyter-lab.png b/public/v4/logos/jupyter-lab.png deleted file mode 100644 index 0f68d81..0000000 Binary files a/public/v4/logos/jupyter-lab.png and /dev/null differ diff --git a/public/v4/logos/jupyter-tensorflow.png b/public/v4/logos/jupyter-tensorflow.png deleted file mode 100644 index 53ef619..0000000 Binary files a/public/v4/logos/jupyter-tensorflow.png and /dev/null differ diff --git a/public/v4/logos/kanboard-sqlite.png b/public/v4/logos/kanboard-sqlite.png deleted file mode 100644 index 4f3436d..0000000 Binary files a/public/v4/logos/kanboard-sqlite.png and /dev/null differ diff --git a/public/v4/logos/keycloak.png b/public/v4/logos/keycloak.png deleted file mode 100644 index 0af2ae5..0000000 Binary files a/public/v4/logos/keycloak.png and /dev/null differ diff --git a/public/v4/logos/kibana.png b/public/v4/logos/kibana.png deleted file mode 100644 index bac1668..0000000 Binary files a/public/v4/logos/kibana.png and /dev/null differ diff --git a/public/v4/logos/leantime.png b/public/v4/logos/leantime.png deleted file mode 100644 index 9824ad2..0000000 Binary files a/public/v4/logos/leantime.png and /dev/null differ diff --git a/public/v4/logos/limesurvey.png b/public/v4/logos/limesurvey.png deleted file mode 100644 index e62be6e..0000000 Binary files a/public/v4/logos/limesurvey.png and /dev/null differ diff --git a/public/v4/logos/lychee.png b/public/v4/logos/lychee.png deleted file mode 100644 index 560c59b..0000000 Binary files a/public/v4/logos/lychee.png and /dev/null differ diff --git a/public/v4/logos/mailtrain.png b/public/v4/logos/mailtrain.png deleted file mode 100644 index ede02ff..0000000 Binary files a/public/v4/logos/mailtrain.png and /dev/null differ diff --git a/public/v4/logos/mariadb.png b/public/v4/logos/mariadb.png deleted file mode 100644 index fb112da..0000000 Binary files a/public/v4/logos/mariadb.png and /dev/null differ diff --git a/public/v4/logos/mastodon.png b/public/v4/logos/mastodon.png deleted file mode 100644 index 6c2dd3e..0000000 Binary files a/public/v4/logos/mastodon.png and /dev/null differ diff --git a/public/v4/logos/matomo.png b/public/v4/logos/matomo.png deleted file mode 100644 index ade1ace..0000000 Binary files a/public/v4/logos/matomo.png and /dev/null differ diff --git a/public/v4/logos/mattermost-ee.png b/public/v4/logos/mattermost-ee.png deleted file mode 100644 index ad3e1ac..0000000 Binary files a/public/v4/logos/mattermost-ee.png and /dev/null differ diff --git a/public/v4/logos/mattermost.png b/public/v4/logos/mattermost.png deleted file mode 100644 index a68078b..0000000 Binary files a/public/v4/logos/mattermost.png and /dev/null differ diff --git a/public/v4/logos/mautic.png b/public/v4/logos/mautic.png deleted file mode 100644 index 6c5d8bb..0000000 Binary files a/public/v4/logos/mautic.png and /dev/null differ diff --git a/public/v4/logos/meilisearch.png b/public/v4/logos/meilisearch.png deleted file mode 100644 index ff558ea..0000000 Binary files a/public/v4/logos/meilisearch.png and /dev/null differ diff --git a/public/v4/logos/metabase.png b/public/v4/logos/metabase.png deleted file mode 100644 index b44467b..0000000 Binary files a/public/v4/logos/metabase.png and /dev/null differ diff --git a/public/v4/logos/miniflux.png b/public/v4/logos/miniflux.png deleted file mode 100644 index aa6be06..0000000 Binary files a/public/v4/logos/miniflux.png and /dev/null differ diff --git a/public/v4/logos/minio.png b/public/v4/logos/minio.png deleted file mode 100644 index 7455068..0000000 Binary files a/public/v4/logos/minio.png and /dev/null differ diff --git a/public/v4/logos/mongo-express.png b/public/v4/logos/mongo-express.png deleted file mode 100644 index f5e1123..0000000 Binary files a/public/v4/logos/mongo-express.png and /dev/null differ diff --git a/public/v4/logos/mongodb-backup-s3.png b/public/v4/logos/mongodb-backup-s3.png deleted file mode 100644 index 19b5e9e..0000000 Binary files a/public/v4/logos/mongodb-backup-s3.png and /dev/null differ diff --git a/public/v4/logos/mongodb.png b/public/v4/logos/mongodb.png deleted file mode 100644 index 456d15b..0000000 Binary files a/public/v4/logos/mongodb.png and /dev/null differ diff --git a/public/v4/logos/monica.png b/public/v4/logos/monica.png deleted file mode 100644 index 36d23cf..0000000 Binary files a/public/v4/logos/monica.png and /dev/null differ diff --git a/public/v4/logos/mssql.png b/public/v4/logos/mssql.png deleted file mode 100644 index 33720a1..0000000 Binary files a/public/v4/logos/mssql.png and /dev/null differ diff --git a/public/v4/logos/mysql.png b/public/v4/logos/mysql.png deleted file mode 100644 index e0be6ef..0000000 Binary files a/public/v4/logos/mysql.png and /dev/null differ diff --git a/public/v4/logos/n8n-io.png b/public/v4/logos/n8n-io.png deleted file mode 100644 index a77f36a..0000000 Binary files a/public/v4/logos/n8n-io.png and /dev/null differ diff --git a/public/v4/logos/nextcloud.png b/public/v4/logos/nextcloud.png deleted file mode 100644 index 8eb7684..0000000 Binary files a/public/v4/logos/nextcloud.png and /dev/null differ diff --git a/public/v4/logos/nexus3.png b/public/v4/logos/nexus3.png deleted file mode 100644 index 9aa9f15..0000000 Binary files a/public/v4/logos/nexus3.png and /dev/null differ diff --git a/public/v4/logos/nginx-redirect.png b/public/v4/logos/nginx-redirect.png deleted file mode 100644 index 16ed558..0000000 Binary files a/public/v4/logos/nginx-redirect.png and /dev/null differ diff --git a/public/v4/logos/nginx-reverse-proxy.png b/public/v4/logos/nginx-reverse-proxy.png deleted file mode 100644 index 16ed558..0000000 Binary files a/public/v4/logos/nginx-reverse-proxy.png and /dev/null differ diff --git a/public/v4/logos/nightscout.png b/public/v4/logos/nightscout.png deleted file mode 100644 index 96e9715..0000000 Binary files a/public/v4/logos/nightscout.png and /dev/null differ diff --git a/public/v4/logos/node-red.png b/public/v4/logos/node-red.png deleted file mode 100644 index 898c242..0000000 Binary files a/public/v4/logos/node-red.png and /dev/null differ diff --git a/public/v4/logos/odoo.png b/public/v4/logos/odoo.png deleted file mode 100644 index 66267f6..0000000 Binary files a/public/v4/logos/odoo.png and /dev/null differ diff --git a/public/v4/logos/ohmyform.png b/public/v4/logos/ohmyform.png deleted file mode 100644 index 9c42640..0000000 Binary files a/public/v4/logos/ohmyform.png and /dev/null differ diff --git a/public/v4/logos/onlyoffice-documentserver.png b/public/v4/logos/onlyoffice-documentserver.png deleted file mode 100644 index 04d9062..0000000 Binary files a/public/v4/logos/onlyoffice-documentserver.png and /dev/null differ diff --git a/public/v4/logos/orangehrm.png b/public/v4/logos/orangehrm.png deleted file mode 100644 index 7cef8dc..0000000 Binary files a/public/v4/logos/orangehrm.png and /dev/null differ diff --git a/public/v4/logos/organizr.png b/public/v4/logos/organizr.png deleted file mode 100644 index fa6102b..0000000 Binary files a/public/v4/logos/organizr.png and /dev/null differ diff --git a/public/v4/logos/outline.png b/public/v4/logos/outline.png deleted file mode 100644 index 35c78f2..0000000 Binary files a/public/v4/logos/outline.png and /dev/null differ diff --git a/public/v4/logos/papercups.png b/public/v4/logos/papercups.png deleted file mode 100644 index 2c67ed1..0000000 Binary files a/public/v4/logos/papercups.png and /dev/null differ diff --git a/public/v4/logos/paperless-ng.png b/public/v4/logos/paperless-ng.png deleted file mode 100644 index ac698ee..0000000 Binary files a/public/v4/logos/paperless-ng.png and /dev/null differ diff --git a/public/v4/logos/parse.png b/public/v4/logos/parse.png deleted file mode 100644 index a8e4c19..0000000 Binary files a/public/v4/logos/parse.png and /dev/null differ diff --git a/public/v4/logos/passbolt.png b/public/v4/logos/passbolt.png deleted file mode 100644 index 701eff7..0000000 Binary files a/public/v4/logos/passbolt.png and /dev/null differ diff --git a/public/v4/logos/peertube.png b/public/v4/logos/peertube.png deleted file mode 100644 index c4a5080..0000000 Binary files a/public/v4/logos/peertube.png and /dev/null differ diff --git a/public/v4/logos/penpot.png b/public/v4/logos/penpot.png deleted file mode 100644 index 20f12da..0000000 Binary files a/public/v4/logos/penpot.png and /dev/null differ diff --git a/public/v4/logos/pgadmin4.png b/public/v4/logos/pgadmin4.png deleted file mode 100644 index 8305235..0000000 Binary files a/public/v4/logos/pgadmin4.png and /dev/null differ diff --git a/public/v4/logos/pgweb.png b/public/v4/logos/pgweb.png deleted file mode 100644 index 30c2544..0000000 Binary files a/public/v4/logos/pgweb.png and /dev/null differ diff --git a/public/v4/logos/photoprism.png b/public/v4/logos/photoprism.png deleted file mode 100644 index 2e88037..0000000 Binary files a/public/v4/logos/photoprism.png and /dev/null differ diff --git a/public/v4/logos/phpldapadmin.png b/public/v4/logos/phpldapadmin.png deleted file mode 100644 index 9e98997..0000000 Binary files a/public/v4/logos/phpldapadmin.png and /dev/null differ diff --git a/public/v4/logos/phpmyadmin.png b/public/v4/logos/phpmyadmin.png deleted file mode 100644 index caeee3b..0000000 Binary files a/public/v4/logos/phpmyadmin.png and /dev/null differ diff --git a/public/v4/logos/plausible.png b/public/v4/logos/plausible.png deleted file mode 100644 index e7d76ad..0000000 Binary files a/public/v4/logos/plausible.png and /dev/null differ diff --git a/public/v4/logos/plex.png b/public/v4/logos/plex.png deleted file mode 100644 index 7126a13..0000000 Binary files a/public/v4/logos/plex.png and /dev/null differ diff --git a/public/v4/logos/portainer.png b/public/v4/logos/portainer.png deleted file mode 100644 index c944a53..0000000 Binary files a/public/v4/logos/portainer.png and /dev/null differ diff --git a/public/v4/logos/poste-io.png b/public/v4/logos/poste-io.png deleted file mode 100644 index c67d6f3..0000000 Binary files a/public/v4/logos/poste-io.png and /dev/null differ diff --git a/public/v4/logos/postgres.png b/public/v4/logos/postgres.png deleted file mode 100644 index e1ea0b7..0000000 Binary files a/public/v4/logos/postgres.png and /dev/null differ diff --git a/public/v4/logos/prisma.png b/public/v4/logos/prisma.png deleted file mode 100644 index b11e002..0000000 Binary files a/public/v4/logos/prisma.png and /dev/null differ diff --git a/public/v4/logos/privatebin.png b/public/v4/logos/privatebin.png deleted file mode 100644 index 48e6608..0000000 Binary files a/public/v4/logos/privatebin.png and /dev/null differ diff --git a/public/v4/logos/prometheus.png b/public/v4/logos/prometheus.png deleted file mode 100644 index fe6c25b..0000000 Binary files a/public/v4/logos/prometheus.png and /dev/null differ diff --git a/public/v4/logos/qbittorrent.png b/public/v4/logos/qbittorrent.png deleted file mode 100644 index 77d06fd..0000000 Binary files a/public/v4/logos/qbittorrent.png and /dev/null differ diff --git a/public/v4/logos/rabbitmq.png b/public/v4/logos/rabbitmq.png deleted file mode 100644 index a08550b..0000000 Binary files a/public/v4/logos/rabbitmq.png and /dev/null differ diff --git a/public/v4/logos/radarr.png b/public/v4/logos/radarr.png deleted file mode 100644 index d6165cf..0000000 Binary files a/public/v4/logos/radarr.png and /dev/null differ diff --git a/public/v4/logos/radicale.png b/public/v4/logos/radicale.png deleted file mode 100644 index ee94c08..0000000 Binary files a/public/v4/logos/radicale.png and /dev/null differ diff --git a/public/v4/logos/rainloop.png b/public/v4/logos/rainloop.png deleted file mode 100644 index 995f56c..0000000 Binary files a/public/v4/logos/rainloop.png and /dev/null differ diff --git a/public/v4/logos/redis.png b/public/v4/logos/redis.png deleted file mode 100644 index ed47a3b..0000000 Binary files a/public/v4/logos/redis.png and /dev/null differ diff --git a/public/v4/logos/resilio-sync.png b/public/v4/logos/resilio-sync.png deleted file mode 100644 index 522a626..0000000 Binary files a/public/v4/logos/resilio-sync.png and /dev/null differ diff --git a/public/v4/logos/rethinkdb.png b/public/v4/logos/rethinkdb.png deleted file mode 100644 index 2ed978e..0000000 Binary files a/public/v4/logos/rethinkdb.png and /dev/null differ diff --git a/public/v4/logos/rstudio.png b/public/v4/logos/rstudio.png deleted file mode 100644 index d57c248..0000000 Binary files a/public/v4/logos/rstudio.png and /dev/null differ diff --git a/public/v4/logos/seafile-official.png b/public/v4/logos/seafile-official.png deleted file mode 100644 index ff00b9d..0000000 Binary files a/public/v4/logos/seafile-official.png and /dev/null differ diff --git a/public/v4/logos/seafile.png b/public/v4/logos/seafile.png deleted file mode 100644 index 6a13266..0000000 Binary files a/public/v4/logos/seafile.png and /dev/null differ diff --git a/public/v4/logos/searx.png b/public/v4/logos/searx.png deleted file mode 100644 index a1ded80..0000000 Binary files a/public/v4/logos/searx.png and /dev/null differ diff --git a/public/v4/logos/seatable.png b/public/v4/logos/seatable.png deleted file mode 100644 index 757f077..0000000 Binary files a/public/v4/logos/seatable.png and /dev/null differ diff --git a/public/v4/logos/sentry.png b/public/v4/logos/sentry.png deleted file mode 100644 index 7adf8c9..0000000 Binary files a/public/v4/logos/sentry.png and /dev/null differ diff --git a/public/v4/logos/shiori.png b/public/v4/logos/shiori.png deleted file mode 100644 index f5bbcf6..0000000 Binary files a/public/v4/logos/shiori.png and /dev/null differ diff --git a/public/v4/logos/shopware.png b/public/v4/logos/shopware.png deleted file mode 100644 index 1b2ebca..0000000 Binary files a/public/v4/logos/shopware.png and /dev/null differ diff --git a/public/v4/logos/sinusbot.png b/public/v4/logos/sinusbot.png deleted file mode 100644 index 10f1cd2..0000000 Binary files a/public/v4/logos/sinusbot.png and /dev/null differ diff --git a/public/v4/logos/sonarqube.png b/public/v4/logos/sonarqube.png deleted file mode 100644 index b6ecbb9..0000000 Binary files a/public/v4/logos/sonarqube.png and /dev/null differ diff --git a/public/v4/logos/sonarr.png b/public/v4/logos/sonarr.png deleted file mode 100644 index e0096e4..0000000 Binary files a/public/v4/logos/sonarr.png and /dev/null differ diff --git a/public/v4/logos/sourcegraph.png b/public/v4/logos/sourcegraph.png deleted file mode 100644 index 49d27fc..0000000 Binary files a/public/v4/logos/sourcegraph.png and /dev/null differ diff --git a/public/v4/logos/spigot.png b/public/v4/logos/spigot.png deleted file mode 100644 index 05f9ccc..0000000 Binary files a/public/v4/logos/spigot.png and /dev/null differ diff --git a/public/v4/logos/squidex.png b/public/v4/logos/squidex.png deleted file mode 100644 index 55d76ab..0000000 Binary files a/public/v4/logos/squidex.png and /dev/null differ diff --git a/public/v4/logos/sshd.png b/public/v4/logos/sshd.png deleted file mode 100644 index 147bd2f..0000000 Binary files a/public/v4/logos/sshd.png and /dev/null differ diff --git a/public/v4/logos/statping.png b/public/v4/logos/statping.png deleted file mode 100644 index 6aee283..0000000 Binary files a/public/v4/logos/statping.png and /dev/null differ diff --git a/public/v4/logos/strapi-postgres.png b/public/v4/logos/strapi-postgres.png deleted file mode 100644 index 16d38db..0000000 Binary files a/public/v4/logos/strapi-postgres.png and /dev/null differ diff --git a/public/v4/logos/strapi.png b/public/v4/logos/strapi.png deleted file mode 100644 index 16d38db..0000000 Binary files a/public/v4/logos/strapi.png and /dev/null differ diff --git a/public/v4/logos/supabase-postgres.png b/public/v4/logos/supabase-postgres.png deleted file mode 100644 index cba2096..0000000 Binary files a/public/v4/logos/supabase-postgres.png and /dev/null differ diff --git a/public/v4/logos/syncthing.png b/public/v4/logos/syncthing.png deleted file mode 100644 index 6f18ee4..0000000 Binary files a/public/v4/logos/syncthing.png and /dev/null differ diff --git a/public/v4/logos/teamspeak.png b/public/v4/logos/teamspeak.png deleted file mode 100644 index 309bec7..0000000 Binary files a/public/v4/logos/teamspeak.png and /dev/null differ diff --git a/public/v4/logos/telegraf.png b/public/v4/logos/telegraf.png deleted file mode 100644 index 4c17e72..0000000 Binary files a/public/v4/logos/telegraf.png and /dev/null differ diff --git a/public/v4/logos/the-lounge.png b/public/v4/logos/the-lounge.png deleted file mode 100644 index 9082a6f..0000000 Binary files a/public/v4/logos/the-lounge.png and /dev/null differ diff --git a/public/v4/logos/thumbor.png b/public/v4/logos/thumbor.png deleted file mode 100644 index 1470407..0000000 Binary files a/public/v4/logos/thumbor.png and /dev/null differ diff --git a/public/v4/logos/tiddlywiki.png b/public/v4/logos/tiddlywiki.png deleted file mode 100644 index 6d3ec45..0000000 Binary files a/public/v4/logos/tiddlywiki.png and /dev/null differ diff --git a/public/v4/logos/umami.png b/public/v4/logos/umami.png deleted file mode 100644 index 7d947dc..0000000 Binary files a/public/v4/logos/umami.png and /dev/null differ diff --git a/public/v4/logos/verdaccio.png b/public/v4/logos/verdaccio.png deleted file mode 100644 index 86986e1..0000000 Binary files a/public/v4/logos/verdaccio.png and /dev/null differ diff --git a/public/v4/logos/vscode-coder.png b/public/v4/logos/vscode-coder.png deleted file mode 100644 index d66eac0..0000000 Binary files a/public/v4/logos/vscode-coder.png and /dev/null differ diff --git a/public/v4/logos/vsts.png b/public/v4/logos/vsts.png deleted file mode 100644 index 3e65a8a..0000000 Binary files a/public/v4/logos/vsts.png and /dev/null differ diff --git a/public/v4/logos/wallabag.png b/public/v4/logos/wallabag.png deleted file mode 100644 index 2dada55..0000000 Binary files a/public/v4/logos/wallabag.png and /dev/null differ diff --git a/public/v4/logos/weblate.png b/public/v4/logos/weblate.png deleted file mode 100644 index cb07f7b..0000000 Binary files a/public/v4/logos/weblate.png and /dev/null differ diff --git a/public/v4/logos/whoopsmonitor.png b/public/v4/logos/whoopsmonitor.png deleted file mode 100644 index 0cd5f40..0000000 Binary files a/public/v4/logos/whoopsmonitor.png and /dev/null differ diff --git a/public/v4/logos/wiki-js.png b/public/v4/logos/wiki-js.png deleted file mode 100644 index 5ff8951..0000000 Binary files a/public/v4/logos/wiki-js.png and /dev/null differ diff --git a/public/v4/logos/wordpress-only.png b/public/v4/logos/wordpress-only.png deleted file mode 100644 index 7889e15..0000000 Binary files a/public/v4/logos/wordpress-only.png and /dev/null differ diff --git a/public/v4/logos/wordpress.png b/public/v4/logos/wordpress.png deleted file mode 100644 index 7889e15..0000000 Binary files a/public/v4/logos/wordpress.png and /dev/null differ