diff --git a/public/v4/apps/ackee.yml b/public/v4/apps/ackee.yml deleted file mode 100644 index ecc79b8e1..000000000 --- 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: '3.4.1' - 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 c1ed2304d..000000000 --- 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 660e74598..000000000 --- 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/airflow.yml b/public/v4/apps/airflow.yml deleted file mode 100644 index 75fc43b59..000000000 --- a/public/v4/apps/airflow.yml +++ /dev/null @@ -1,216 +0,0 @@ -captainVersion: 4 -caproverOneClickApp: - instructions: - start: |- - Apache Airflow is a tool to express and execute workflows as directed acyclic graphs (DAGs). - It includes utilities to schedule tasks, monitor task progress and handle task dependencies. - This instance uses the Bitnami images - end: > - Airflow is deployed is deployed, it might take few moments before it's fully started. - Initial user is: $$cap_airflow_user with password $$cap_airflow_password. - Login on $$cap_appname.$$cap_root_domain after $$cap_appname has finished starting. - - displayName: Airflow - isOfficial: false - description: A tool to express and execute workflows as directed acyclic graphs (DAGs). - documentation: |- - Based on https://github.com/bitnami/bitnami-docker-airflow#readme - - variables: - # Postgress - - id: $$cap_postgresql_version - label: Bitnami's Posgresql Version - defaultValue: '12.12.0' - description: Check the tag version on https://hub.docker.com/r/bitnami/postgresql - - id: $$cap_postgresql_name - label: Postresql database name - defaultValue: airflow_db - description: Name of the postgresql db - - id: $$cap_postgresql_user - label: Postresql database user - defaultValue: airflow_db_user - description: Password to the postgresql db - - id: $$cap_postgresql_password - label: Postresql password - defaultValue: $$cap_gen_random_hex(16) - description: Password to the postgresql db - # Redis - - id: $$cap_redis_version - label: Bitnami's redis Version - defaultValue: '7.0.4' - description: Check the tag version on https://hub.docker.com/r/bitnami/redis - - id: $$cap_redis_password - label: Redis password - defaultValue: $$cap_gen_random_hex(16) - description: Password to redis db - # Airflow - - id: $$cap_airflow_version - label: Bitnami's airflow Version - defaultValue: '2.3.3' - description: Check the tag version on https://hub.docker.com/r/bitnami/airflow - - id: $$cap_airflow_worker_version - label: Bitnami's airflow worker Version - defaultValue: '2.3.3' - description: Check the tag version on https://hub.docker.com/r/bitnami/airflow-worker - - id: $$cap_airflow_scheduler_version - label: Bitnami's airflow scheduler Version - defaultValue: '2.3.3' - description: Check the tag version on https://hub.docker.com/r/bitnami/airflow-scheduler - - id: $$cap_airflow_user - label: Airflow user - defaultValue: 'airflow_user' - description: Airflow's Admin user name - - id: $$cap_airflow_password - label: Airflow password - defaultValue: $$cap_gen_random_hex(16) - description: Airflow Admin's password - - id: $$cap_airflow_email - label: Airflow email - description: Email address that will receive notifications from airflow (need SMPT details) - - id: $$cap_airflow_examples - label: Load Airflow DAG Examples? - defaultValue: 'no' - description: Wheter to load or not load sample DAGs (yes/no) - - id: $$cap_airflow_secret_key - label: Airflow Secret Key - defaultValue: $$cap_gen_random_hex(16) - description: Secret key used to run your flask app. It should be as random as possible. - - id: $$cap_airflow_dag_path - label: DAGs Volume - defaultValue: airflow-dags - description: Name of the DAG volume or Path to the custom DAGs folder, make sure the folder is accesible - - id: $$cap_airflow_py_requirements - label: Path or volume to a requirements.txt file - defaultValue: airflow-requstxt - description: Installation of additional python modules at start-up time, make sure the file is accesible - # SMTP datails - - id: $$cap_smtp_host - label: SMTP Host - description: Host for SMPT connection - - id: $$cap_smtp_port - label: SMTP Port - description: Port for SMPT connection - - id: $$cap_smtp_starttls - label: Use startTLS? - defaultValue: 'no' - description: Do you want to use startTLS? (yes/no) - - id: $$cap_smtp_ssl - label: Use SSL? - defaultValue: 'no' - description: Check the tag version on https://hub.docker.com/r/bitnami/airflow-scheduler - - id: $$cap_smtp_user - label: SMTP User - description: Check the tag version on https://hub.docker.com/r/bitnami/airflow-scheduler - - id: $$cap_smtp_password - label: SMTP Password - description: Check the tag version on https://hub.docker.com/r/bitnami/airflow-scheduler - - id: $$cap_smtp_mail_from - label: Mail from address - description: Specofy who the email is from - -services: - $$cap_appname-db: - restart: always - image: 'bitnami/postgresql:$$cap_postgresql_version' - user: - environment: - POSTGRESQL_DATABASE: $$cap_postgresql_name - POSTGRESQL_USERNAME: $$cap_postgresql_user - POSTGRESQL_PASSWORD: $$cap_postgresql_password - volumes: - - $$cap_appname-postgresql-persistance:/bitnami - caproverExtra: - notExposeAsWebApp: true - - $$cap_appname-redis: - restart: always - image: 'bitnami/redis:$$cap_redis_version' - user: - environment: - REDIS_PASSWORD: $$cap_redis_password - volumes: - - $$cap_appname-redis-persistance:/bitnami - caproverExtra: - notExposeAsWebApp: true - - $$cap_appname: - restart: always - depends_on: - - $$cap_appname-db - - $$cap_appname-redis - image: 'bitnami/airflow:$$cap_airflow_version' - user: - environment: - AIRFLOW_EXECUTOR: CeleryExecutor - AIRFLOW_DATABASE_HOST: srv-captain--$$cap_appname-db - AIRFLOW_DATABASE_NAME: $$cap_postgresql_name - AIRFLOW_DATABASE_USERNAME: $$cap_postgresql_user - AIRFLOW_DATABASE_PASSWORD: $$cap_postgresql_password - REDIS_HOST: srv-captain--$$cap_appname-redis - REDIS_PASSWORD: $$cap_redis_password - AIRFLOW_WEBSERVER_HOST: srv-captain--$$cap_appname - AIRFLOW_BASE_URL: https://$$cap_appname.$$cap_root_domain/ - AIRFLOW_SECRET_KEY: $$cap_airflow_secret_key - AIRFLOW_LOAD_EXAMPLES: $$cap_airflow_examples - AIRFLOW_USERNAME: $$cap_airflow_user - AIRFLOW_PASSWORD: $$cap_airflow_password - AIRFLOW_EMAIL: $$cap_airflow_email - AIRFLOW__SMTP__SMTP_HOST: $$cap_smtp_host - AIRFLOW__SMTP__SMTP_PORT: $$cap_smtp_port - AIRFLOW__SMTP__SMTP_STARTTLS: $$cap_smtp_starttls - AIRFLOW__SMTP__SMTP_SSL: $$cap_smtp_ssl - AIRFLOW__SMTP__SMTP_USER: $$cap_smtp_user - AIRFLOW__SMTP__SMTP_PASSWORD: $$cap_smtp_password - AIRFLOW__SMTP__SMTP_MAIL_FROM: $$cap_smtp_mail_from - volumes: - - $$cap_airflow_dag_path:/opt/bitnami/airflow/dags - - $$cap_airflow_py_requirements:/bitnami/python/requirements.txt - caproverExtra: - containerHttpPort: '8080' - - $$cap_appname-worker: - image: bitnami/airflow-worker:$$cap_airflow_worker_version - depends_on: - - $$cap_appname - environment: - AIRFLOW_EXECUTOR: CeleryExecutor - AIRFLOW_DATABASE_HOST: srv-captain--$$cap_appname-db - AIRFLOW_DATABASE_NAME: $$cap_postgresql_name - AIRFLOW_DATABASE_USERNAME: $$cap_postgresql_user - AIRFLOW_DATABASE_PASSWORD: $$cap_postgresql_password - REDIS_HOST: srv-captain--$$cap_appname-redis - REDIS_PASSWORD: $$cap_redis_password - AIRFLOW_WEBSERVER_HOST: srv-captain--$$cap_appname - AIRFLOW_BASE_URL: https://$$cap_appname.$$cap_root_domain/ - AIRFLOW_SECRET_KEY: $$cap_airflow_secret_key - AIRFLOW_LOAD_EXAMPLES: $$cap_airflow_examples - volumes: - - $$cap_appname-data:/opt/bitnami/airflow/data - - $$cap_airflow_dag_path:/opt/bitnami/airflow/dags - - $$cap_airflow_py_requirements:/bitnami/python/requirements.txt - caproverExtra: - notExposeAsWebApp: true - - $$cap_appname-scheduler: - restart: always - depends_on: - - $$cap_appname - image: 'bitnami/airflow-scheduler:$$cap_airflow_scheduler_version' - user: - environment: - AIRFLOW_EXECUTOR: CeleryExecutor - AIRFLOW_DATABASE_HOST: srv-captain--$$cap_appname-db - AIRFLOW_DATABASE_NAME: $$cap_postgresql_name - AIRFLOW_DATABASE_USERNAME: $$cap_postgresql_user - AIRFLOW_DATABASE_PASSWORD: $$cap_postgresql_password - REDIS_HOST: srv-captain--$$cap_appname-redis - REDIS_PASSWORD: $$cap_redis_password - AIRFLOW_WEBSERVER_HOST: srv-captain--$$cap_appname - AIRFLOW_BASE_URL: https://$$cap_appname.$$cap_root_domain/ - AIRFLOW_SECRET_KEY: $$cap_airflow_secret_key - AIRFLOW_LOAD_EXAMPLES: $$cap_airflow_examples - volumes: - - $$cap_airflow_dag_path:/opt/bitnami/airflow/dags - - $$cap_airflow_py_requirements:/bitnami/python/requirements.txt - caproverExtra: - notExposeAsWebApp: true diff --git a/public/v4/apps/akaunting.yml b/public/v4/apps/akaunting.yml deleted file mode 100644 index 55410268b..000000000 --- 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/apprise.yml b/public/v4/apps/apprise.yml deleted file mode 100644 index 7473231d3..000000000 --- a/public/v4/apps/apprise.yml +++ /dev/null @@ -1,29 +0,0 @@ -captainVersion: 4 -services: - # Apprise - $$cap_appname: - image: caronc/apprise:$$cap_apprise_version - restart: always - volume: - - $$cap_appname-data:/config - caproverExtra: - containerHttpPort: '8000' - -caproverOneClickApp: - variables: - - id: $$cap_apprise_version - label: Apprise Version - defaultValue: 'v0.7.0' - description: Check out their docker page for the valid tags https://hub.docker.com/r/caronc/apprise/tags - validRegex: /^([^\s^\/])+$/ - - instructions: - start: >- - Apprise allows you to send a notification to almost all of the most popular notification services available to us today such as: Telegram, Discord, Slack, Amazon SNS, Gotify, etc. - end: >- - Aaaand you're done! πŸ˜„ - Your service is available at http://$$cap_appname.$$cap_root_domain - displayName: 'Apprise' - isOfficial: true - description: Apprise API was designed to easily fit into existing (and new) eco-systems that are looking for a simple notification solution. - documentation: Taken from https://github.com/caronc/apprise-api and https://hub.docker.com/r/caronc/apprise/ diff --git a/public/v4/apps/appsmith.yml b/public/v4/apps/appsmith.yml deleted file mode 100644 index 7f15673b7..000000000 --- a/public/v4/apps/appsmith.yml +++ /dev/null @@ -1,28 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname-appsmith: - image: index.docker.io/appsmith/appsmith-ce:$$cap_appsmith_version - volumes: - - $$cap_appname-stacks-data:/appsmith-stacks - restart: always - environment: - APPSMITH_MAIL_ENABLED: false - APPSMITH_DISABLE_TELEMETRY: true - APPSMITH_DISABLE_INTERCOM: true -caproverOneClickApp: - variables: - - id: $$cap_appsmith_version - label: Appsmith Version - defaultValue: v1.6.5 - description: Check out their Docker page for the valid tags https://hub.docker.com/r/appsmith/appsmith-ce/tags - validRegex: /^([^\s^\/])+$/ - instructions: - start: >- - Appsmith is the fastest way to build internal apps over any database or API. - end: >- - Please wait for 2 minutes. Appsmith is deployed and available as $$cap_appname-appsmith. - To further enhance the installation, see the complete environment variables here https://github.com/appsmithorg/appsmith/blob/release/deploy/template/docker.env.sh - displayName: Appsmith - isOfficial: true - description: Appsmith is the fastest way to build internal apps over any database or API. - documentation: Taken from https://docs.appsmith.com/setup/docker diff --git a/public/v4/apps/appwrite.yml b/public/v4/apps/appwrite.yml deleted file mode 100644 index 9b07ecfba..000000000 --- a/public/v4/apps/appwrite.yml +++ /dev/null @@ -1,948 +0,0 @@ -captainVersion: 4 - -services: - $$cap_appname-redis: - caproverExtra: - notExposeAsWebApp: 'true' - dockerfileLines: - - FROM redis:7.0.4-alpine - - CMD ["--maxmemory", "512mb", "--maxmemory-policy", "allkeys-lru", "--maxmemory-samples", "5"] - volumes: - - $$cap_appname-redis:/data - - $$cap_appname-mariadb: - caproverExtra: - notExposeAsWebApp: 'true' - dockerfileLines: - - FROM mariadb:10.7 - - CMD ["--innodb-flush-method", "fsync"] - environment: - MARIADB_ROOT_PASSWORD: $$cap_APP_DB_ROOT_PASS - MARIADB_DATABASE: $$cap_APP_DB_SCHEMA - MARIADB_USER: $$cap_APP_DB_USER - MARIADB_PASSWORD: $$cap_APP_DB_PASS - volumes: - - $$cap_appname-mariadb:/var/lib/mysql - - $$cap_appname-influxdb: - caproverExtra: - notExposeAsWebApp: 'true' - image: appwrite/influxdb:1.5.0 - volumes: - - $$cap_appname-influxdb:/var/lib/influxdb - - $$cap_appname-telegraf: - caproverExtra: - notExposeAsWebApp: 'true' - image: appwrite/telegraf:1.4.0 - environment: - _APP_INFLUXDB_HOST: srv-captain--$$cap_appname-influxdb - _APP_INFLUXDB_PORT: $$cap_APP_INFLUXDB_PORT - volumes: - - $$cap_appname-influxdb:/var/lib/influxdb - - $$cap_appname: - image: appwrite/appwrite:$$cap_APP_VERSION - volumes: - - $$cap_appname-uploads:/storage/uploads - - $$cap_appname-cache:/storage/cache - - $$cap_appname-config:/storage/config - - $$cap_appname-certificates:/storage/certificates - - $$cap_appname-functions:/storage/functions - depends_on: - - $$cap_appname-redis - - $$cap_appname-mariadb - - $$cap_appname-influxdb - environment: - _APP_ENV: $$cap_APP_ENV - _APP_WORKER_PER_CORE: $$cap_APP_WORKER_PER_CORE - _APP_LOCALE: $$cap_APP_LOCALE - _APP_CONSOLE_WHITELIST_ROOT: $$cap_APP_CONSOLE_WHITELIST_ROOT - _APP_CONSOLE_WHITELIST_EMAILS: $$cap_APP_CONSOLE_WHITELIST_EMAILS - _APP_CONSOLE_WHITELIST_IPS: $$cap_APP_CONSOLE_WHITELIST_IPS - _APP_SYSTEM_EMAIL_NAME: $$cap_APP_SYSTEM_EMAIL_NAME - _APP_SYSTEM_EMAIL_ADDRESS: $$cap_APP_SYSTEM_EMAIL_ADDRESS - _APP_SYSTEM_SECURITY_EMAIL_ADDRESS: $$cap_APP_SYSTEM_SECURITY_EMAIL_ADDRESS - _APP_SYSTEM_RESPONSE_FORMAT: $$cap_APP_SYSTEM_RESPONSE_FORMAT - _APP_OPTIONS_ABUSE: $$cap_APP_OPTIONS_ABUSE - _APP_OPTIONS_FORCE_HTTPS: $$cap_APP_OPTIONS_FORCE_HTTPS - _APP_OPENSSL_KEY_V1: $$cap_APP_OPENSSL_KEY_V1 - _APP_DOMAIN: $$cap_APP_DOMAIN_NAME - _APP_DOMAIN_TARGET: $$cap_APP_DOMAIN_TARGET - _APP_REDIS_HOST: srv-captain--$$cap_appname-redis - _APP_REDIS_PORT: $$cap_APP_REDIS_PORT - _APP_REDIS_USER: $$cap_APP_REDIS_USER - _APP_REDIS_PASS: $$cap_APP_REDIS_PASS - _APP_DB_HOST: srv-captain--$$cap_appname-mariadb - _APP_DB_PORT: $$cap_APP_DB_PORT - _APP_DB_SCHEMA: $$cap_APP_DB_SCHEMA - _APP_DB_USER: $$cap_APP_DB_USER - _APP_DB_PASS: $$cap_APP_DB_PASS - _APP_SMTP_HOST: $$cap_APP_SMTP_HOST - _APP_SMTP_PORT: $$cap_APP_SMTP_PORT - _APP_SMTP_SECURE: $$cap_APP_SMTP_SECURE - _APP_SMTP_USERNAME: $$cap_APP_SMTP_USERNAME - _APP_SMTP_PASSWORD: $$cap_APP_SMTP_PASSWORD - _APP_USAGE_STATS: $$cap_APP_USAGE_STATS - _APP_INFLUXDB_HOST: srv-captain--$$cap_appname-influxdb - _APP_INFLUXDB_PORT: $$cap_APP_INFLUXDB_PORT - _APP_STORAGE_LIMIT: $$cap_APP_STORAGE_LIMIT - _APP_STORAGE_PREVIEW_LIMIT: $$cap_APP_STORAGE_PREVIEW_LIMIT - _APP_STORAGE_ANTIVIRUS: $$cap_APP_STORAGE_ANTIVIRUS_ENABLED - _APP_STORAGE_ANTIVIRUS_HOST: $$cap_APP_STORAGE_ANTIVIRUS_HOST - _APP_STORAGE_ANTIVIRUS_PORT: $$cap_APP_STORAGE_ANTIVIRUS_PORT - _APP_STORAGE_DEVICE: $$cap_APP_STORAGE_DEVICE - _APP_STORAGE_S3_ACCESS_KEY: $$cap_APP_STORAGE_S3_ACCESS_KEY - _APP_STORAGE_S3_SECRET: $$cap_APP_STORAGE_S3_SECRET - _APP_STORAGE_S3_REGION: $$cap_APP_STORAGE_S3_REGION - _APP_STORAGE_S3_BUCKET: $$cap_APP_STORAGE_S3_BUCKET - _APP_STORAGE_DO_SPACES_ACCESS_KEY: $$cap_APP_STORAGE_DO_SPACES_ACCESS_KEY - _APP_STORAGE_DO_SPACES_SECRET: $$cap_APP_STORAGE_DO_SPACES_SECRET - _APP_STORAGE_DO_SPACES_REGION: $$cap_APP_STORAGE_DO_SPACES_REGION - _APP_STORAGE_DO_SPACES_BUCKET: $$cap_APP_STORAGE_DO_SPACES_BUCKET - _APP_STORAGE_BACKBLAZE_ACCESS_KEY: $$cap_APP_STORAGE_BACKBLAZE_ACCESS_KEY - _APP_STORAGE_BACKBLAZE_SECRET: $$cap_APP_STORAGE_BACKBLAZE_SECRET - _APP_STORAGE_BACKBLAZE_REGION: $$cap_APP_STORAGE_BACKBLAZE_REGION - _APP_STORAGE_BACKBLAZE_BUCKET: $$cap_APP_STORAGE_BACKBLAZE_BUCKET - _APP_STORAGE_LINODE_ACCESS_KEY: $$cap_APP_STORAGE_LINODE_ACCESS_KEY - _APP_STORAGE_LINODE_SECRET: $$cap_APP_STORAGE_LINODE_SECRET - _APP_STORAGE_LINODE_REGION: $$cap_APP_STORAGE_LINODE_REGION - _APP_STORAGE_LINODE_BUCKET: $$cap_APP_STORAGE_LINODE_BUCKET - _APP_STORAGE_WASABI_ACCESS_KEY: $$cap_APP_STORAGE_WASABI_ACCESS_KEY - _APP_STORAGE_WASABI_SECRET: $$cap_APP_STORAGE_WASABI_SECRET - _APP_STORAGE_WASABI_REGION: $$cap_APP_STORAGE_WASABI_REGION - _APP_STORAGE_WASABI_BUCKET: $$cap_APP_STORAGE_WASABI_BUCKET - _APP_FUNCTIONS_SIZE_LIMIT: $$cap_APP_FUNCTIONS_SIZE_LIMIT - _APP_FUNCTIONS_TIMEOUT: $$cap_APP_FUNCTIONS_TIMEOUT - _APP_FUNCTIONS_BUILD_TIMEOUT: $$cap_APP_FUNCTIONS_BUILD_TIMEOUT - _APP_FUNCTIONS_CONTAINERS: $$cap_APP_FUNCTIONS_CONTAINERS - _APP_FUNCTIONS_CPUS: $$cap_APP_FUNCTIONS_CPUS - _APP_FUNCTIONS_MEMORY: $$cap_APP_FUNCTIONS_MEMORY_ALLOCATED - _APP_FUNCTIONS_MEMORY_SWAP: $$cap_APP_FUNCTIONS_MEMORY_SWAP - _APP_FUNCTIONS_RUNTIMES: $$cap_APP_FUNCTIONS_RUNTIMES - _APP_EXECUTOR_SECRET: $$cap_APP_EXECUTOR_SECRET - _APP_EXECUTOR_HOST: http://srv-captain--$$cap_appname-executor/v1 - _APP_LOGGING_PROVIDER: $$cap_APP_LOGGING_PROVIDER - _APP_LOGGING_CONFIG: $$cap_APP_LOGGING_CONFIG - _APP_STATSD_HOST: srv-captain--$$cap_appname-telegraf - _APP_STATSD_PORT: $$cap_APP_STATSD_PORT - _APP_MAINTENANCE_INTERVAL: $$cap_APP_MAINTENANCE_INTERVAL - _APP_MAINTENANCE_RETENTION_EXECUTION: $$cap_APP_MAINTENANCE_RETENTION_EXECUTION - _APP_MAINTENANCE_RETENTION_CACHE: $$cap_APP_MAINTENANCE_RETENTION_CACHE - _APP_MAINTENANCE_RETENTION_ABUSE: $$cap_APP_MAINTENANCE_RETENTION_ABUSE - _APP_MAINTENANCE_RETENTION_AUDIT: $$cap_APP_MAINTENANCE_RETENTION_AUDIT - _APP_SMS_PROVIDER: $$cap_APP_SMS_PROVIDER - _APP_SMS_FROM: $$cap_APP_SMS_FROM - _APP_GRAPHQL_MAX_BATCH_SIZE: $$cap_APP_GRAPHQL_MAX_BATCH_SIZE - _APP_GRAPHQL_MAX_COMPLEXITY: $$cap_APP_GRAPHQL_MAX_COMPLEXITY - _APP_GRAPHQL_MAX_DEPTH: $$cap_APP_GRAPHQL_MAX_DEPTH - - $$cap_appname-realtime: - caproverExtra: - notExposeAsWebApp: 'true' - dockerfileLines: - - FROM appwrite/appwrite:$$cap_APP_VERSION - - ENTRYPOINT ["realtime"] - depends_on: - - $$cap_appname-redis - - $$cap_appname-mariadb - environment: - _APP_ENV: $$cap_APP_ENV - _APP_WORKER_PER_CORE: $$cap_APP_WORKER_PER_CORE - _APP_OPTIONS_ABUSE: $$cap_APP_OPTIONS_ABUSE - _APP_OPENSSL_KEY_V1: $$cap_APP_OPENSSL_KEY_V1 - _APP_REDIS_HOST: srv-captain--$$cap_appname-redis - _APP_REDIS_PORT: $$cap_APP_REDIS_PORT - _APP_DB_HOST: srv-captain--$$cap_appname-mariadb - _APP_DB_PORT: $$cap_APP_DB_PORT - _APP_DB_SCHEMA: $$cap_APP_DB_SCHEMA - _APP_DB_USER: $$cap_APP_DB_USER - _APP_DB_PASS: $$cap_APP_DB_PASS - _APP_USAGE_STATS: $$cap_APP_USAGE_STATS - _APP_LOGGING_PROVIDER: $$cap_APP_LOGGING_PROVIDER - _APP_LOGGING_CONFIG: $$cap_APP_LOGGING_CONFIG - - $$cap_appname-executor: - caproverExtra: - notExposeAsWebApp: 'true' - dockerfileLines: - - FROM appwrite/appwrite:$$cap_APP_VERSION - - ENTRYPOINT ["executor"] - depends_on: - - $$cap_appname - - $$cap_appname-redis - - $$cap_appname-mariadb - volumes: - - /var/run/docker.sock:/var/run/docker.sock - - $$cap_appname-functions:/storage/functions - - $$cap_appname-builds:/storage/builds - - /tmp:/tmp - environment: - _APP_ENV: $$cap_APP_ENV - _APP_VERSION: $$cap_APP_VERSION - _APP_FUNCTIONS_TIMEOUT: $$cap_APP_FUNCTIONS_TIMEOUT - _APP_FUNCTIONS_BUILD_TIMEOUT: $$cap_APP_FUNCTIONS_BUILD_TIMEOUT - _APP_FUNCTIONS_CONTAINERS: $$cap_APP_FUNCTIONS_CONTAINERS - _APP_FUNCTIONS_RUNTIMES: $$cap_APP_FUNCTIONS_RUNTIMES - _APP_FUNCTIONS_CPUS: $$cap_APP_FUNCTIONS_CPUS - _APP_FUNCTIONS_MEMORY: $$cap_APP_FUNCTIONS_MEMORY_ALLOCATED - _APP_FUNCTIONS_MEMORY_SWAP: $$cap_APP_FUNCTIONS_MEMORY_SWAP - _APP_FUNCTIONS_INACTIVE_THRESHOLD: $$cap_APP_FUNCTIONS_INACTIVE_THRESHOLD - _APP_EXECUTOR_SECRET: $$cap_APP_EXECUTOR_SECRET - OPEN_RUNTIMES_NETWORK: captain-overlay-network - _APP_LOGGING_PROVIDER: $$cap_APP_LOGGING_PROVIDER - _APP_LOGGING_CONFIG: $$cap_APP_LOGGING_CONFIG - _APP_STORAGE_DEVICE: $$cap_APP_STORAGE_DEVICE - _APP_STORAGE_S3_ACCESS_KEY: $$cap_APP_STORAGE_S3_ACCESS_KEY - _APP_STORAGE_S3_SECRET: $$cap_APP_STORAGE_S3_SECRET - _APP_STORAGE_S3_REGION: $$cap_APP_STORAGE_S3_REGION - _APP_STORAGE_S3_BUCKET: $$cap_APP_STORAGE_S3_BUCKET - _APP_STORAGE_DO_SPACES_ACCESS_KEY: $$cap_APP_STORAGE_DO_SPACES_ACCESS_KEY - _APP_STORAGE_DO_SPACES_SECRET: $$cap_APP_STORAGE_DO_SPACES_SECRET - _APP_STORAGE_DO_SPACES_REGION: $$cap_APP_STORAGE_DO_SPACES_REGION - _APP_STORAGE_DO_SPACES_BUCKET: $$cap_APP_STORAGE_DO_SPACES_BUCKET - _APP_STORAGE_BACKBLAZE_ACCESS_KEY: $$cap_APP_STORAGE_BACKBLAZE_ACCESS_KEY - _APP_STORAGE_BACKBLAZE_SECRET: $$cap_APP_STORAGE_BACKBLAZE_SECRET - _APP_STORAGE_BACKBLAZE_REGION: $$cap_APP_STORAGE_BACKBLAZE_REGION - _APP_STORAGE_BACKBLAZE_BUCKET: $$cap_APP_STORAGE_BACKBLAZE_BUCKET - _APP_STORAGE_LINODE_ACCESS_KEY: $$cap_APP_STORAGE_LINODE_ACCESS_KEY - _APP_STORAGE_LINODE_SECRET: $$cap_APP_STORAGE_LINODE_SECRET - _APP_STORAGE_LINODE_REGION: $$cap_APP_STORAGE_LINODE_REGION - _APP_STORAGE_LINODE_BUCKET: $$cap_APP_STORAGE_LINODE_BUCKET - _APP_STORAGE_WASABI_ACCESS_KEY: $$cap_APP_STORAGE_WASABI_ACCESS_KEY - _APP_STORAGE_WASABI_SECRET: $$cap_APP_STORAGE_WASABI_SECRET - _APP_STORAGE_WASABI_REGION: $$cap_APP_STORAGE_WASABI_REGION - _APP_STORAGE_WASABI_BUCKET: $$cap_APP_STORAGE_WASABI_BUCKET - DOCKERHUB_PULL_USERNAME: $$cap_DOCKERHUB_PULL_USERNAME - DOCKERHUB_PULL_PASSWORD: $$cap_DOCKERHUB_PULL_PASSWORD - - $$cap_appname-worker-databases: - caproverExtra: - notExposeAsWebApp: 'true' - dockerfileLines: - - FROM appwrite/appwrite:$$cap_APP_VERSION - - ENTRYPOINT ["worker-databases"] - depends_on: - - $$cap_appname-redis - - $$cap_appname-mariadb - environment: - _APP_ENV: $$cap_APP_ENV - _APP_OPENSSL_KEY_V1: $$cap_APP_OPENSSL_KEY_V1 - _APP_REDIS_HOST: srv-captain--$$cap_appname-redis - _APP_REDIS_PORT: $$cap_APP_REDIS_PORT - _APP_REDIS_USER: $$cap_APP_REDIS_USER - _APP_REDIS_PASS: $$cap_APP_REDIS_PASS - _APP_DB_HOST: srv-captain--$$cap_appname-mariadb - _APP_DB_PORT: $$cap_APP_DB_PORT - _APP_DB_SCHEMA: $$cap_APP_DB_SCHEMA - _APP_DB_USER: $$cap_APP_DB_USER - _APP_DB_PASS: $$cap_APP_DB_PASS - _APP_LOGGING_PROVIDER: $$cap_APP_LOGGING_PROVIDER - _APP_LOGGING_CONFIG: $$cap_APP_LOGGING_CONFIG - - $$cap_appname-worker-builds: - caproverExtra: - notExposeAsWebApp: 'true' - dockerfileLines: - - FROM appwrite/appwrite:$$cap_APP_VERSION - - ENTRYPOINT ["worker-builds"] - depends_on: - - $$cap_appname-redis - - $$cap_appname-mariadb - environment: - _APP_ENV: $$cap_APP_ENV - _APP_OPENSSL_KEY_V1: $$cap_APP_OPENSSL_KEY_V1 - _APP_EXECUTOR_SECRET: $$cap_APP_EXECUTOR_SECRET - _APP_EXECUTOR_HOST: http://srv-captain--$$cap_appname-executor/v1 - _APP_REDIS_HOST: srv-captain--$$cap_appname-redis - _APP_REDIS_PORT: $$cap_APP_REDIS_PORT - _APP_REDIS_USER: $$cap_APP_REDIS_USER - _APP_REDIS_PASS: $$cap_APP_REDIS_PASS - _APP_DB_HOST: srv-captain--$$cap_appname-mariadb - _APP_DB_PORT: $$cap_APP_DB_PORT - _APP_DB_SCHEMA: $$cap_APP_DB_SCHEMA - _APP_DB_USER: $$cap_APP_DB_USER - _APP_DB_PASS: $$cap_APP_DB_PASS - _APP_LOGGING_PROVIDER: $$cap_APP_LOGGING_PROVIDER - _APP_LOGGING_CONFIG: $$cap_APP_LOGGING_CONFIG - - $$cap_appname-worker-audits: - caproverExtra: - notExposeAsWebApp: 'true' - dockerfileLines: - - FROM appwrite/appwrite:$$cap_APP_VERSION - - ENTRYPOINT ["worker-audits"] - depends_on: - - $$cap_appname-redis - - $$cap_appname-mariadb - environment: - _APP_ENV: $$cap_APP_ENV - _APP_OPENSSL_KEY_V1: $$cap_APP_OPENSSL_KEY_V1 - _APP_REDIS_HOST: srv-captain--$$cap_appname-redis - _APP_REDIS_PORT: $$cap_APP_REDIS_PORT - _APP_REDIS_USER: $$cap_APP_REDIS_USER - _APP_REDIS_PASS: $$cap_APP_REDIS_PASS - _APP_DB_HOST: srv-captain--$$cap_appname-mariadb - _APP_DB_PORT: $$cap_APP_DB_PORT - _APP_DB_SCHEMA: $$cap_APP_DB_SCHEMA - _APP_DB_USER: $$cap_APP_DB_USER - _APP_DB_PASS: $$cap_APP_DB_PASS - _APP_LOGGING_PROVIDER: $$cap_APP_LOGGING_PROVIDER - _APP_LOGGING_CONFIG: $$cap_APP_LOGGING_CONFIG - - $$cap_appname-worker-webhooks: - caproverExtra: - notExposeAsWebApp: 'true' - dockerfileLines: - - FROM appwrite/appwrite:$$cap_APP_VERSION - - ENTRYPOINT ["worker-webhooks"] - depends_on: - - $$cap_appname-redis - - $$cap_appname-mariadb - environment: - _APP_ENV: $$cap_APP_ENV - _APP_OPENSSL_KEY_V1: $$cap_APP_OPENSSL_KEY_V1 - _APP_SYSTEM_SECURITY_EMAIL_ADDRESS: $$cap_APP_SYSTEM_SECURITY_EMAIL_ADDRESS - _APP_REDIS_HOST: srv-captain--$$cap_appname-redis - _APP_REDIS_PORT: $$cap_APP_REDIS_PORT - _APP_REDIS_USER: $$cap_APP_REDIS_USER - _APP_REDIS_PASS: $$cap_APP_REDIS_PASS - _APP_LOGGING_PROVIDER: $$cap_APP_LOGGING_PROVIDER - _APP_LOGGING_CONFIG: $$cap_APP_LOGGING_CONFIG - - $$cap_appname-worker-deletes: - caproverExtra: - notExposeAsWebApp: 'true' - dockerfileLines: - - FROM appwrite/appwrite:$$cap_APP_VERSION - - ENTRYPOINT ["worker-deletes"] - depends_on: - - $$cap_appname-redis - - $$cap_appname-mariadb - volumes: - - $$cap_appname-uploads:/storage/uploads - - $$cap_appname-cache:/storage/cache - - $$cap_appname-functions:/storage/functions - - $$cap_appname-builds:/storage/builds - - $$cap_appname-certificates:/storage/certificates - environment: - _APP_ENV: $$cap_APP_ENV - _APP_OPENSSL_KEY_V1: $$cap_APP_OPENSSL_KEY_V1 - _APP_REDIS_HOST: srv-captain--$$cap_appname-redis - _APP_REDIS_PORT: $$cap_APP_REDIS_PORT - _APP_REDIS_USER: $$cap_APP_REDIS_USER - _APP_REDIS_PASS: $$cap_APP_REDIS_PASS - _APP_DB_HOST: srv-captain--$$cap_appname-mariadb - _APP_DB_PORT: $$cap_APP_DB_PORT - _APP_DB_SCHEMA: $$cap_APP_DB_SCHEMA - _APP_DB_USER: $$cap_APP_DB_USER - _APP_DB_PASS: $$cap_APP_DB_PASS - _APP_STORAGE_DEVICE: $$cap_APP_STORAGE_DEVICE - _APP_STORAGE_S3_ACCESS_KEY: $$cap_APP_STORAGE_S3_ACCESS_KEY - _APP_STORAGE_S3_SECRET: $$cap_APP_STORAGE_S3_SECRET - _APP_STORAGE_S3_REGION: $$cap_APP_STORAGE_S3_REGION - _APP_STORAGE_S3_BUCKET: $$cap_APP_STORAGE_S3_BUCKET - _APP_STORAGE_DO_SPACES_ACCESS_KEY: $$cap_APP_STORAGE_DO_SPACES_ACCESS_KEY - _APP_STORAGE_DO_SPACES_SECRET: $$cap_APP_STORAGE_DO_SPACES_SECRET - _APP_STORAGE_DO_SPACES_REGION: $$cap_APP_STORAGE_DO_SPACES_REGION - _APP_STORAGE_DO_SPACES_BUCKET: $$cap_APP_STORAGE_DO_SPACES_BUCKET - _APP_STORAGE_BACKBLAZE_ACCESS_KEY: $$cap_APP_STORAGE_BACKBLAZE_ACCESS_KEY - _APP_STORAGE_BACKBLAZE_SECRET: $$cap_APP_STORAGE_BACKBLAZE_SECRET - _APP_STORAGE_BACKBLAZE_REGION: $$cap_APP_STORAGE_BACKBLAZE_REGION - _APP_STORAGE_BACKBLAZE_BUCKET: $$cap_APP_STORAGE_BACKBLAZE_BUCKET - _APP_STORAGE_LINODE_ACCESS_KEY: $$cap_APP_STORAGE_LINODE_ACCESS_KEY - _APP_STORAGE_LINODE_SECRET: $$cap_APP_STORAGE_LINODE_SECRET - _APP_STORAGE_LINODE_REGION: $$cap_APP_STORAGE_LINODE_REGION - _APP_STORAGE_LINODE_BUCKET: $$cap_APP_STORAGE_LINODE_BUCKET - _APP_STORAGE_WASABI_ACCESS_KEY: $$cap_APP_STORAGE_WASABI_ACCESS_KEY - _APP_STORAGE_WASABI_SECRET: $$cap_APP_STORAGE_WASABI_SECRET - _APP_STORAGE_WASABI_REGION: $$cap_APP_STORAGE_WASABI_REGION - _APP_STORAGE_WASABI_BUCKET: $$cap_APP_STORAGE_WASABI_BUCKET - _APP_LOGGING_PROVIDER: $$cap_APP_LOGGING_PROVIDER - _APP_LOGGING_CONFIG: $$cap_APP_LOGGING_CONFIG - _APP_EXECUTOR_SECRET: $$cap_APP_EXECUTOR_SECRET - _APP_EXECUTOR_HOST: http://srv-captain--$$cap_appname-executor/v1 - - $$cap_appname-worker-functions: - caproverExtra: - notExposeAsWebApp: 'true' - dockerfileLines: - - FROM appwrite/appwrite:$$cap_APP_VERSION - - ENTRYPOINT ["worker-functions"] - depends_on: - - $$cap_appname-redis - - $$cap_appname-mariadb - - $$cap_appname-executor - environment: - _APP_ENV: $$cap_APP_ENV - _APP_OPENSSL_KEY_V1: $$cap_APP_OPENSSL_KEY_V1 - _APP_REDIS_HOST: srv-captain--$$cap_appname-redis - _APP_REDIS_PORT: $$cap_APP_REDIS_PORT - _APP_REDIS_USER: $$cap_APP_REDIS_USER - _APP_REDIS_PASS: $$cap_APP_REDIS_PASS - _APP_DB_HOST: srv-captain--$$cap_appname-mariadb - _APP_DB_PORT: $$cap_APP_DB_PORT - _APP_DB_SCHEMA: $$cap_APP_DB_SCHEMA - _APP_DB_USER: $$cap_APP_DB_USER - _APP_DB_PASS: $$cap_APP_DB_PASS - _APP_FUNCTIONS_TIMEOUT: $$cap_APP_FUNCTIONS_TIMEOUT - _APP_EXECUTOR_SECRET: $$cap_APP_EXECUTOR_SECRET - _APP_EXECUTOR_HOST: http://srv-captain--$$cap_appname-executor/v1 - _APP_USAGE_STATS: $$cap_APP_USAGE_STATS - DOCKERHUB_PULL_USERNAME: $$cap_DOCKERHUB_PULL_USERNAME - DOCKERHUB_PULL_PASSWORD: $$cap_DOCKERHUB_PULL_PASSWORD - - $$cap_appname-worker-mails: - caproverExtra: - notExposeAsWebApp: 'true' - dockerfileLines: - - FROM appwrite/appwrite:$$cap_APP_VERSION - - ENTRYPOINT ["worker-mails"] - depends_on: - - $$cap_appname-redis - environment: - _APP_ENV: $$cap_APP_ENV - _APP_OPENSSL_KEY_V1: $$cap_APP_OPENSSL_KEY_V1 - _APP_SYSTEM_EMAIL_NAME: $$cap_APP_SYSTEM_EMAIL_NAME - _APP_SYSTEM_EMAIL_ADDRESS: $$cap_APP_SYSTEM_EMAIL_ADDRESS - _APP_REDIS_HOST: srv-captain--$$cap_appname-redis - _APP_REDIS_PORT: $$cap_APP_REDIS_PORT - _APP_REDIS_USER: $$cap_APP_REDIS_USER - _APP_REDIS_PASS: $$cap_APP_REDIS_PASS - _APP_SMTP_HOST: $$cap_APP_SMTP_HOST - _APP_SMTP_PORT: $$cap_APP_SMTP_PORT - _APP_SMTP_SECURE: $$cap_APP_SMTP_SECURE - _APP_SMTP_USERNAME: $$cap_APP_SMTP_USERNAME - _APP_SMTP_PASSWORD: $$cap_APP_SMTP_PASSWORD - _APP_LOGGING_PROVIDER: $$cap_APP_LOGGING_PROVIDER - _APP_LOGGING_CONFIG: $$cap_APP_LOGGING_CONFIG - - $$cap_appname-worker-messaging: - caproverExtra: - notExposeAsWebApp: 'true' - dockerfileLines: - - FROM appwrite/appwrite:$$cap_APP_VERSION - - ENTRYPOINT ["worker-messaging"] - depends_on: - - $$cap_appname-redis - environment: - _APP_ENV: $$cap_APP_ENV - _APP_REDIS_HOST: srv-captain--$$cap_appname-redis - _APP_REDIS_PORT: $$cap_APP_REDIS_PORT - _APP_REDIS_USER: $$cap_APP_REDIS_USER - _APP_REDIS_PASS: $$cap_APP_REDIS_PASS - _APP_SMS_PROVIDER: $$cap_APP_SMS_PROVIDER - _APP_SMS_FROM: $$cap_APP_SMS_FROM - _APP_LOGGING_PROVIDER: $$cap_APP_LOGGING_PROVIDER - _APP_LOGGING_CONFIG: $$cap_APP_LOGGING_CONFIG - - $$cap_appname-worker-certificates: - caproverExtra: - notExposeAsWebApp: 'true' - dockerfileLines: - - FROM appwrite/appwrite:$$cap_APP_VERSION - - ENTRYPOINT ["worker-certificates"] - depends_on: - - $$cap_appname-redis - - $$cap_appname-mariadb - volumes: - - $$cap_appname-config:/storage/config - - $$cap_appname-certificates:/storage/certificates - environment: - _APP_ENV: $$cap_APP_ENV - _APP_OPENSSL_KEY_V1: $$cap_APP_OPENSSL_KEY_V1 - _APP_DOMAIN: $$cap_APP_DOMAIN_NAME - _APP_DOMAIN_TARGET: $$cap_APP_DOMAIN_TARGET - _APP_SYSTEM_SECURITY_EMAIL_ADDRESS: $$cap_APP_SYSTEM_SECURITY_EMAIL_ADDRESS - _APP_REDIS_HOST: srv-captain--$$cap_appname-redis - _APP_REDIS_PORT: $$cap_APP_REDIS_PORT - _APP_REDIS_USER: $$cap_APP_REDIS_USER - _APP_REDIS_PASS: $$cap_APP_REDIS_PASS - _APP_DB_HOST: srv-captain--$$cap_appname-mariadb - _APP_DB_PORT: $$cap_APP_DB_PORT - _APP_DB_SCHEMA: $$cap_APP_DB_SCHEMA - _APP_DB_USER: $$cap_APP_DB_USER - _APP_DB_PASS: $$cap_APP_DB_PASS - _APP_LOGGING_PROVIDER: $$cap_APP_LOGGING_PROVIDER - _APP_LOGGING_CONFIG: $$cap_APP_LOGGING_CONFIG - - $$cap_appname-maintenance: - caproverExtra: - notExposeAsWebApp: 'true' - dockerfileLines: - - FROM appwrite/appwrite:$$cap_APP_VERSION - - ENTRYPOINT ["maintenance"] - depends_on: - - $$cap_appname-redis - environment: - _APP_ENV: $$cap_APP_ENV - _APP_OPENSSL_KEY_V1: $$cap_APP_OPENSSL_KEY_V1 - _APP_DOMAIN: $$cap_APP_DOMAIN_NAME - _APP_DOMAIN_TARGET: $$cap_APP_DOMAIN_TARGET - _APP_REDIS_HOST: srv-captain--$$cap_appname-redis - _APP_REDIS_PORT: $$cap_APP_REDIS_PORT - _APP_REDIS_USER: $$cap_APP_REDIS_USER - _APP_REDIS_PASS: $$cap_APP_REDIS_PASS - _APP_DB_HOST: srv-captain--$$cap_appname-mariadb - _APP_DB_PORT: $$cap_APP_DB_PORT - _APP_DB_SCHEMA: $$cap_APP_DB_SCHEMA - _APP_DB_USER: $$cap_APP_DB_USER - _APP_DB_PASS: $$cap_APP_DB_PASS - _APP_MAINTENANCE_INTERVAL: $$cap_APP_MAINTENANCE_INTERVAL - _APP_MAINTENANCE_RETENTION_EXECUTION: $$cap_APP_MAINTENANCE_RETENTION_EXECUTION - _APP_MAINTENANCE_RETENTION_CACHE: $$cap_APP_MAINTENANCE_RETENTION_CACHE - _APP_MAINTENANCE_RETENTION_ABUSE: $$cap_APP_MAINTENANCE_RETENTION_ABUSE - _APP_MAINTENANCE_RETENTION_AUDIT: $$cap_APP_MAINTENANCE_RETENTION_AUDIT - - $$cap_appname-usage-timeseries: - caproverExtra: - notExposeAsWebApp: 'true' - dockerfileLines: - - FROM appwrite/appwrite:$$cap_APP_VERSION - - ENTRYPOINT ["usage", "--type", "timeseries"] - depends_on: - - $$cap_appname-influxdb - - $$cap_appname-mariadb - environment: - _APP_ENV: $$cap_APP_ENV - _APP_OPENSSL_KEY_V1: $$cap_APP_OPENSSL_KEY_V1 - _APP_DB_HOST: srv-captain--$$cap_appname-mariadb - _APP_DB_PORT: $$cap_APP_DB_PORT - _APP_DB_SCHEMA: $$cap_APP_DB_SCHEMA - _APP_DB_USER: $$cap_APP_DB_USER - _APP_DB_PASS: $$cap_APP_DB_PASS - _APP_INFLUXDB_HOST: srv-captain--$$cap_appname-influxdb - _APP_INFLUXDB_PORT: $$cap_APP_INFLUXDB_PORT - _APP_USAGE_TIMESERIES_INTERVAL: $$cap_APP_USAGE_TIMESERIES_INTERVAL - _APP_USAGE_DATABASE_INTERVAL: $$cap_APP_USAGE_DATABASE_INTERVAL - _APP_REDIS_HOST: srv-captain--$$cap_appname-redis - _APP_REDIS_PORT: $$cap_APP_REDIS_PORT - _APP_REDIS_USER: $$cap_APP_REDIS_USER - _APP_REDIS_PASS: $$cap_APP_REDIS_PASS - _APP_LOGGING_PROVIDER: $$cap_APP_LOGGING_PROVIDER - _APP_LOGGING_CONFIG: $$cap_APP_LOGGING_CONFIG - - $$cap_appname-usage-database: - caproverExtra: - notExposeAsWebApp: 'true' - dockerfileLines: - - FROM appwrite/appwrite:$$cap_APP_VERSION - - ENTRYPOINT ["usage", "--type", "database"] - depends_on: - - $$cap_appname-influxdb - - $$cap_appname-mariadb - environment: - _APP_ENV: $$cap_APP_ENV - _APP_OPENSSL_KEY_V1: $$cap_APP_OPENSSL_KEY_V1 - _APP_DB_HOST: srv-captain--$$cap_appname-mariadb - _APP_DB_PORT: $$cap_APP_DB_PORT - _APP_DB_SCHEMA: $$cap_APP_DB_SCHEMA - _APP_DB_USER: $$cap_APP_DB_USER - _APP_DB_PASS: $$cap_APP_DB_PASS - _APP_INFLUXDB_HOST: srv-captain--$$cap_appname-influxdb - _APP_INFLUXDB_PORT: $$cap_APP_INFLUXDB_PORT - _APP_USAGE_TIMESERIES_INTERVAL: $$cap_APP_USAGE_TIMESERIES_INTERVAL - _APP_USAGE_DATABASE_INTERVAL: $$cap_APP_USAGE_DATABASE_INTERVAL - _APP_REDIS_HOST: srv-captain--$$cap_appname-redis - _APP_REDIS_PORT: $$cap_APP_REDIS_PORT - _APP_REDIS_USER: $$cap_APP_REDIS_USER - _APP_REDIS_PASS: $$cap_APP_REDIS_PASS - _APP_LOGGING_PROVIDER: $$cap_APP_LOGGING_PROVIDER - _APP_LOGGING_CONFIG: $$cap_APP_LOGGING_CONFIG - - $$cap_appname-schedule: - caproverExtra: - notExposeAsWebApp: 'true' - dockerfileLines: - - FROM appwrite/appwrite:$$cap_APP_VERSION - - ENTRYPOINT ["schedule"] - depends_on: - - $$cap_appname-redis - environment: - _APP_ENV: $$cap_APP_ENV - _APP_REDIS_HOST: srv-captain--$$cap_appname-redis - _APP_REDIS_PORT: $$cap_APP_REDIS_PORT - _APP_REDIS_USER: $$cap_APP_REDIS_USER - _APP_REDIS_PASS: $$cap_APP_REDIS_PASS - -caproverOneClickApp: - displayName: Appwrite - description: Secure Backend Server for Web, Mobile & Flutter Developers. - isOfficial: true - documentation: https://appwrite.io/docs - instructions: - start: |- - Appwrite is a self-hosted solution that provides developers with a set of easy-to-use and integrate REST APIs to manage their core backend needs. - Description of all available environment variables: https://appwrite.io/docs/environment-variables - end: |- - Appwrite has been successfully deployed! - Please change the following settings before using the service: - 1. Go to the settings for $$cap_appname - 2. Enable "Websocket Support" - 3. Click on "Edit Default Nginx Configurations" and paste the following content before the last closing bracket "}": - ``` - location /v1/realtime { - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection "upgrade"; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_set_header Host $host; - proxy_set_header X-Forwarded-Host $host; - proxy_set_header X-Forwarded-Port $server_port; - proxy_pass http://srv-captain--$$cap_appname-realtime; - proxy_http_version 1.1; - proxy_connect_timeout 7d; - proxy_send_timeout 7d; - proxy_read_timeout 7d; - } - ``` - Now you can access Appwrite at http://$$cap_appname.$$cap_root_domain - variables: - - label: Version Tag - id: $$cap_APP_VERSION - description: Check out their valid tags at https://hub.docker.com/r/appwrite/appwrite/tags - defaultValue: '1.2.0' - validRegex: "/^([^\\s^\\/])+$/" - - label: General | _APP_ENV - id: $$cap_APP_ENV - description: Set your server running environment. - defaultValue: production - validRegex: /^(production|development)$/ - - label: General | _APP_LOCALE - id: $$cap_APP_LOCALE - description: Set your Appwrite's locale. By default, the locale is set to 'en'. - defaultValue: en - validRegex: /^([^\s^\/])+$/ - - label: General | _APP_OPTIONS_ABUSE - id: $$cap_APP_OPTIONS_ABUSE - description: Allows you to disable abuse checks and API rate limiting. By default, set to 'enabled'. To cancel the abuse checking, set to 'disabled'. It is not recommended to disable this check-in a production environment. - defaultValue: 'enabled' - validRegex: /^(enabled|disabled)$/ - - label: General | _APP_OPTIONS_FORCE_HTTPS - id: $$cap_APP_OPTIONS_FORCE_HTTPS - description: Allows you to force HTTPS connection to your API. This feature redirects any HTTP call to HTTPS and adds the 'Strict-Transport-Security' header to all HTTP responses. - defaultValue: 'disabled' - validRegex: /^(enabled|disabled)$/ - - label: General | _APP_OPENSSL_KEY_V1 - id: $$cap_APP_OPENSSL_KEY_V1 - description: This is your server private secret key that is used to encrypt all sensitive data on your server. Appwrite server encrypts all secret data on your server like webhooks, HTTP passwords, user sessions, and storage files. Keep it a secret and have a backup for it. - defaultValue: $$cap_gen_random_hex(256) - validRegex: /^([^\s^\/])+$/ - - label: General | _APP_DOMAIN - id: $$cap_APP_DOMAIN_NAME - description: Your Appwrite domain address. When setting a public suffix domain, Appwrite will attempt to issue a valid SSL certificate automatically. When used with a dev domain, Appwrite will assign a self-signed SSL certificate. The default value is 'localhost'. - defaultValue: localhost - validRegex: /^([^\s^\/])+$/ - - label: General | _APP_DOMAIN_TARGET - id: $$cap_APP_DOMAIN_TARGET - description: A DNS A record hostname to serve as a CNAME target for your Appwrite custom domains. You can use the same value as used for the Appwrite '_APP_DOMAIN' variable. The default value is 'localhost'. - defaultValue: localhost - validRegex: /^([^\s^\/])+$/ - - label: General | _APP_CONSOLE_WHITELIST_ROOT - id: $$cap_APP_CONSOLE_WHITELIST_ROOT - description: This option allows you to disable the creation of new users on the Appwrite console. When enabled only 1 user will be able to use the registration form. New users can be added by inviting them to your project. By default this option is enabled. - defaultValue: 'enabled' - validRegex: /^(enabled|disabled)$/ - - label: General | _APP_CONSOLE_WHITELIST_EMAILS - id: $$cap_APP_CONSOLE_WHITELIST_EMAILS - description: This option allows you to limit creation of new users on the Appwrite console. This option is very useful for small teams or sole developers. To enable it, pass a list of allowed email addresses separated by a comma. - - label: General | _APP_CONSOLE_WHITELIST_IPS - id: $$cap_APP_CONSOLE_WHITELIST_IPS - description: This last option allows you to limit creation of users in Appwrite console for users sharing the same set of IP addresses. This option is very useful for team working with a VPN service or a company IP.\n\nTo enable/activate this option, pass a list of allowed IP addresses separated by a comma. - - label: General | _APP_SYSTEM_EMAIL_NAME - id: $$cap_APP_SYSTEM_EMAIL_NAME - description: |- - This is the sender name value that will appear on email messages sent to developers from the Appwrite console. You can use url encoded strings for spaces and special chars. - defaultValue: Appwrite - validRegex: /^([^\s^\/])+$/ - - label: General | _APP_SYSTEM_EMAIL_ADDRESS - id: $$cap_APP_SYSTEM_EMAIL_ADDRESS - description: This is the sender email address that will appear on email messages sent to developers from the Appwrite console. You should choose an email address that is allowed to be used from your SMTP server to avoid the server email ending in the users' SPAM folders. - defaultValue: team@appwrite.io - validRegex: /^([^\s^\/])+$/ - - label: General | _APP_SYSTEM_RESPONSE_FORMAT - id: $$cap_APP_SYSTEM_RESPONSE_FORMAT - description: Use this environment variable to set the default Appwrite HTTP response format to support an older version of Appwrite. This option is useful to overcome breaking changes between versions. You can also use the X-Appwrite-Response-Format HTTP request header to overwrite the response for a specific request. This variable accepts any valid Appwrite version. To use the current version format, leave the value of the variable empty. - - label: General | _APP_SYSTEM_SECURITY_EMAIL_ADDRESS - id: $$cap_APP_SYSTEM_SECURITY_EMAIL_ADDRESS - description: This is the email address used to issue SSL certificates for custom domains or the user agent in your webhooks payload. - defaultValue: certs@appwrite.io - validRegex: /^([^\s^\/])+$/ - - label: General | _APP_USAGE_STATS - id: $$cap_APP_USAGE_STATS - description: This variable allows you to disable the collection and displaying of usage stats. This value is set to 'enabled' by default, to disable the usage stats set the value to 'disabled'. When disabled, it's recommended to turn off the Worker Usage, Influxdb and Telegraf containers for better resource usage. - defaultValue: 'enabled' - validRegex: /^(enabled|disabled)$/ - - label: General | _APP_LOGGING_PROVIDER - id: $$cap_APP_LOGGING_PROVIDER - description: This variable allows you to enable logging errors to 3rd party providers. This value is empty by default, to enable the logger set the value to one of 'sentry', 'raygun', 'appsignal', 'logowl' - - label: General | _APP_LOGGING_CONFIG - description: This variable configures authentication to 3rd party error logging providers. If using Sentry, this should be 'SENTRY_API_KEY;SENTRY_APP_ID'. If using Raygun, this should be Raygun API key. If using AppSignal, this should be AppSignal API key. If using LogOwl, this should be LogOwl Service Ticket. - id: $$cap_APP_LOGGING_CONFIG - - label: General | _APP_USAGE_TIMESERIES_INTERVAL - id: $$cap_APP_USAGE_TIMESERIES_INTERVAL - description: Interval value containing the number of seconds that the Appwrite usage process should wait before aggregating stats and syncing it to mariadb from InfluxDB. The default value is 30 seconds. - defaultValue: 30 - validRegex: /.{1,}/ - - label: General | _APP_USAGE_DATABASE_INTERVAL - id: $$cap_APP_USAGE_DATABASE_INTERVAL - description: Interval value containing the number of seconds that the Appwrite usage process should wait before aggregating stats from data in Appwrite Database. The default value is 15 minutes. - defaultValue: 900 - validRegex: /.{1,}/ - - label: General | _APP_WORKER_PER_CORE - id: $$cap_APP_WORKER_PER_CORE - description: Internal Worker per core for the API, Realtime and Executor containers. Can be configured to optimize performance. - defaultValue: 6 - validRegex: /.{1,}/ - - label: Redis | _APP_REDIS_PORT - id: $$cap_APP_REDIS_PORT - description: Redis server TCP port. - defaultValue: 6379 - validRegex: /.{1,}/ - - label: Redis | _APP_REDIS_USER - id: $$cap_APP_REDIS_USER - description: Redis server user. This is an optional variable. Default value is an empty string. - - label: Redis | _APP_REDIS_PASS - id: $$cap_APP_REDIS_PASS - description: Redis server password. This is an optional variable. Default value is an empty string. - - label: MariaDB | _APP_DB_PORT - id: $$cap_APP_DB_PORT - description: MariaDB server TCP port. - defaultValue: 3306 - validRegex: /.{1,}/ - - label: MariaDB | _APP_DB_SCHEMA - id: $$cap_APP_DB_SCHEMA - description: MariaDB server database schema. - defaultValue: appwrite - validRegex: /^([^\s^\/])+$/ - - label: MariaDB | _APP_DB_USER - id: $$cap_APP_DB_USER - description: MariaDB server user name. - defaultValue: user - validRegex: /^([^\s^\/])+$/ - - label: MariaDB | _APP_DB_PASS - id: $$cap_APP_DB_PASS - description: MariaDB server user password. - defaultValue: $$cap_gen_random_hex(16) - validRegex: /^([^\s^\/])+$/ - - label: MariaDB | _APP_DB_ROOT_PASS - id: $$cap_APP_DB_ROOT_PASS - description: MariaDB server root password. - defaultValue: $$cap_gen_random_hex(16) - validRegex: /^([^\s^\/])+$/ - - label: InfluxDB | _APP_INFLUXDB_PORT - id: $$cap_APP_INFLUXDB_PORT - description: InfluxDB server TCP port. - defaultValue: 8086 - validRegex: /.{1,}/ - - label: StatsD | _APP_STATSD_PORT - id: $$cap_APP_STATSD_PORT - description: StatsD server TCP port. - defaultValue: 8125 - validRegex: /.{1,}/ - - label: SMTP | _APP_SMTP_HOST - id: $$cap_APP_SMTP_HOST - description: SMTP server host name address. Use an empty string to disable all mail sending from the server. The default value for this variable is an empty string. - - label: SMTP | _APP_SMTP_PORT - id: $$cap_APP_SMTP_PORT - description: SMTP server TCP port. Empty by default. - - label: SMTP | _APP_SMTP_SECURE - id: $$cap_APP_SMTP_SECURE - description: SMTP secure connection protocol. Empty by default, change to 'tls' if running on a secure connection. - - label: SMTP | _APP_SMTP_USERNAME - id: $$cap_APP_SMTP_USERNAME - description: SMTP server user name. Empty by default. - - label: SMTP | _APP_SMTP_PASSWORD - id: $$cap_APP_SMTP_PASSWORD - description: SMTP server user password. Empty by default. - - label: Phone | _APP_SMS_PROVIDER - id: $$cap_APP_SMS_PROVIDER - description: |- - Provider used for delivering SMS for Phone authentication. Use the following format: 'sms://[USER]:[SECRET]@[PROVIDER]'. Available providers are twilio, text-magic, telesign, msg91, and vonage. - - label: Phone | _APP_SMS_FROM - id: $$cap_APP_SMS_FROM - description: |- - Phone number used for sending out messages. Must start with a leading '+' and maximum of 15 digits without spaces (+123456789). - - label: Storage | _APP_STORAGE_LIMIT - id: $$cap_APP_STORAGE_LIMIT - description: Maximum file size allowed for file upload. The default value is 30MB. You should pass your size limit value in bytes. - defaultValue: 30000000 - - label: Storage | _APP_STORAGE_PREVIEW_LIMIT - id: $$cap_APP_STORAGE_PREVIEW_LIMIT - description: Maximum file size allowed for file image preview. The default value is 20MB. You should pass your size limit value in bytes. - defaultValue: 20000000 - - label: Storage | _APP_STORAGE_ANTIVIRUS - id: $$cap_APP_STORAGE_ANTIVIRUS_ENABLED - description: This variable allows you to disable the internal anti-virus scans. This value is set to 'disabled' by default, to enable the scans set the value to 'enabled'. Before enabling, you must add the ClamAV service and depend on it on main Appwrite service. - defaultValue: 'disabled' - - label: Storage | _APP_STORAGE_ANTIVIRUS_HOST - id: $$cap_APP_STORAGE_ANTIVIRUS_HOST - description: ClamAV server host name address. - defaultValue: clamav - - label: Storage | _APP_STORAGE_ANTIVIRUS_PORT - id: $$cap_APP_STORAGE_ANTIVIRUS_PORT - description: ClamAV server TCP port. - defaultValue: 3310 - validRegex: /.{1,}/ - - label: Storage | _APP_STORAGE_DEVICE - id: $$cap_APP_STORAGE_DEVICE - description: Select default storage device. The default value is 'Local'. List of supported adapters are 'Local', 'S3', 'DOSpaces', 'Backblaze', 'Linode' and 'Wasabi'. - defaultValue: Local - validRegex: /^([^\s^\/])+$/ - - label: Storage | _APP_STORAGE_S3_ACCESS_KEY - id: $$cap_APP_STORAGE_S3_ACCESS_KEY - description: AWS S3 storage access key. Required when the storage adapter is set to S3. You can get your access key from your AWS console. - - label: Storage | _APP_STORAGE_S3_SECRET - id: $$cap_APP_STORAGE_S3_SECRET - description: AWS S3 storage secret key. Required when the storage adapter is set to S3. You can get your secret key from your AWS console. - - label: Storage | _APP_STORAGE_S3_REGION - id: $$cap_APP_STORAGE_S3_REGION - description: AWS S3 storage region. Required when storage adapter is set to S3. You can find your region info for your bucket from AWS console. - defaultValue: us-east-1 - - label: Storage | _APP_STORAGE_S3_BUCKET - id: $$cap_APP_STORAGE_S3_BUCKET - description: AWS S3 storage bucket. Required when storage adapter is set to S3. You can create buckets in your AWS console. - - label: Storage | _APP_STORAGE_DO_SPACES_ACCESS_KEY - id: $$cap_APP_STORAGE_DO_SPACES_ACCESS_KEY - description: DigitalOcean spaces access key. Required when the storage adapter is set to DOSpaces. You can get your access key from your DigitalOcean console. - - label: Storage | _APP_STORAGE_DO_SPACES_SECRET - id: $$cap_APP_STORAGE_DO_SPACES_SECRET - description: DigitalOcean spaces secret key. Required when the storage adapter is set to DOSpaces. You can get your secret key from your DigitalOcean console. - - label: Storage | _APP_STORAGE_DO_SPACES_REGION - id: $$cap_APP_STORAGE_DO_SPACES_REGION - description: DigitalOcean spaces region. Required when storage adapter is set to DOSpaces. You can find your region info for your space from DigitalOcean console. - defaultValue: us-east-1 - - label: Storage | _APP_STORAGE_DO_SPACES_BUCKET - id: $$cap_APP_STORAGE_DO_SPACES_BUCKET - description: DigitalOcean spaces bucket. Required when storage adapter is set to DOSpaces. You can create spaces in your DigitalOcean console. - - label: Storage | _APP_STORAGE_BACKBLAZE_ACCESS_KEY - id: $$cap_APP_STORAGE_BACKBLAZE_ACCESS_KEY - description: Backblaze access key. Required when the storage adapter is set to Backblaze. Your Backblaze keyID will be your access key. You can get your keyID from your Backblaze console. - - label: Storage | _APP_STORAGE_BACKBLAZE_SECRET - id: $$cap_APP_STORAGE_BACKBLAZE_SECRET - description: Backblaze secret key. Required when the storage adapter is set to Backblaze. Your Backblaze applicationKey will be your secret key. You can get your applicationKey from your Backblaze console. - - label: Storage | _APP_STORAGE_BACKBLAZE_REGION - id: $$cap_APP_STORAGE_BACKBLAZE_REGION - description: Backblaze region. Required when storage adapter is set to Backblaze. You can find your region info from your Backblaze console. - defaultValue: us-west-004 - - label: Storage | _APP_STORAGE_BACKBLAZE_BUCKET - id: $$cap_APP_STORAGE_BACKBLAZE_BUCKET - description: Backblaze bucket. Required when storage adapter is set to Backblaze. You can create your bucket from your Backblaze console. - - label: Storage | _APP_STORAGE_LINODE_ACCESS_KEY - id: $$cap_APP_STORAGE_LINODE_ACCESS_KEY - description: Linode object storage access key. Required when the storage adapter is set to Linode. You can get your access key from your Linode console. - - label: Storage | _APP_STORAGE_LINODE_SECRET - id: $$cap_APP_STORAGE_LINODE_SECRET - description: Linode object storage secret key. Required when the storage adapter is set to Linode. You can get your secret key from your Linode console. - - label: Storage | _APP_STORAGE_LINODE_REGION - id: $$cap_APP_STORAGE_LINODE_REGION - description: Linode object storage region. Required when storage adapter is set to Linode. You can find your region info from your Linode console. - defaultValue: eu-central-1 - - label: Storage | _APP_STORAGE_LINODE_BUCKET - id: $$cap_APP_STORAGE_LINODE_BUCKET - description: Linode object storage bucket. Required when storage adapter is set to Linode. You can create buckets in your Linode console. - - label: Storage | _APP_STORAGE_WASABI_ACCESS_KEY - id: $$cap_APP_STORAGE_WASABI_ACCESS_KEY - description: Wasabi access key. Required when the storage adapter is set to Wasabi. You can get your access key from your Wasabi console. - - label: Storage | _APP_STORAGE_WASABI_SECRET - id: $$cap_APP_STORAGE_WASABI_SECRET - description: Wasabi secret key. Required when the storage adapter is set to Wasabi. You can get your secret key from your Wasabi console. - - label: Storage | _APP_STORAGE_WASABI_REGION - id: $$cap_APP_STORAGE_WASABI_REGION - description: Wasabi region. Required when storage adapter is set to Wasabi. You can find your region info from your Wasabi console. - defaultValue: eu-central-1 - - label: Storage | _APP_STORAGE_WASABI_BUCKET - id: $$cap_APP_STORAGE_WASABI_BUCKET - description: Wasabi bucket. Required when storage adapter is set to Wasabi. You can create buckets in your Wasabi console. - - label: Functions | _APP_FUNCTIONS_SIZE_LIMIT - id: $$cap_APP_FUNCTIONS_SIZE_LIMIT - description: The maximum size deployment in bytes. The default value is 30MB. - defaultValue: 30000000 - validRegex: /.{1,}/ - - label: Functions | _APP_FUNCTIONS_TIMEOUT - id: $$cap_APP_FUNCTIONS_TIMEOUT - description: The maximum number of seconds allowed as a timeout value when creating a new function. The default value is 900 seconds. - defaultValue: 900 - validRegex: /.{1,}/ - - label: Functions | _APP_FUNCTIONS_BUILD_TIMEOUT - id: $$cap_APP_FUNCTIONS_BUILD_TIMEOUT - description: The maximum number of seconds allowed as a timeout value when building a new function. The default value is 900 seconds. - defaultValue: 900 - validRegex: /.{1,}/ - - label: Functions | _APP_FUNCTIONS_CONTAINERS - id: $$cap_APP_FUNCTIONS_CONTAINERS - description: The maximum number of containers Appwrite is allowed to keep alive in the background for function environments. Running containers allow faster execution time as there is no need to recreate each container every time a function gets executed. The default value is 10. - defaultValue: 10 - validRegex: /.{1,}/ - - label: Functions | _APP_FUNCTIONS_CPUS - id: $$cap_APP_FUNCTIONS_CPUS - description: The maximum number of CPU core a single cloud function is allowed to use. Please note that setting a value higher than available cores will result in a function error, which might result in an error. The default value is empty. When it's empty, CPU limit will be disabled. - - label: Functions | _APP_FUNCTIONS_MEMORY - id: $$cap_APP_FUNCTIONS_MEMORY_ALLOCATED - description: The maximum amount of memory a single cloud function is allowed to use in megabytes. The default value is empty. When it's empty, memory limit will be disabled. - - label: Functions | _APP_FUNCTIONS_MEMORY_SWAP - id: $$cap_APP_FUNCTIONS_MEMORY_SWAP - description: The maximum amount of swap memory a single cloud function is allowed to use in megabytes. The default value is empty. When it's empty, swap memory limit will be disabled. - - label: Functions | _APP_FUNCTIONS_RUNTIMES - id: $$cap_APP_FUNCTIONS_RUNTIMES - description: |- - This option allows you to limit the available environments for cloud functions. This option is very useful for low-cost servers to safe disk space. - To enable/activate this option, pass a list of allowed environments separated by a comma. - Currently, supported environments are: node-14.5, node-16.0, node-18.0, php-8.0, php-8.1, ruby-3.0, ruby-3.1, python-3.8, python-3.9, python-3.10, deno-1.21, deno-1.24, dart-2.15, dart-2.16, dart-2.17, dotnet-3.1, dotnet-6.0, java-8.0, java-11.0, java-17.0, java-18.0, swift-5.5, kotlin-1.6, cpp-17.0 - defaultValue: node-18.0 - - label: Functions | _APP_EXECUTOR_SECRET - id: $$cap_APP_EXECUTOR_SECRET - description: The secret key used by Appwrite to communicate with the function executor. - defaultValue: $$cap_gen_random_hex(16) - - label: Functions | _APP_FUNCTIONS_INACTIVE_THRESHOLD - id: $$cap_APP_FUNCTIONS_INACTIVE_THRESHOLD - description: The minimum time a function can be inactive before it's container is shutdown and put to sleep. The default value is 60 seconds - defaultValue: 60 - validRegex: /.{1,}/ - - label: Functions | DOCKERHUB_PULL_USERNAME - id: $$cap_DOCKERHUB_PULL_USERNAME - description: The username for hub.docker.com. This variable is used to pull images from hub.docker.com. - - label: Functions | DOCKERHUB_PULL_PASSWORD - id: $$cap_DOCKERHUB_PULL_PASSWORD - description: The password for hub.docker.com. This variable is used to pull images from hub.docker.com. - - label: Functions | _APP_MAINTENANCE_INTERVAL - id: $$cap_APP_MAINTENANCE_INTERVAL - description: Interval value containing the number of seconds that the Appwrite maintenance process should wait before executing system cleanups and optimizations. The default value is 86400 seconds (1 day). - defaultValue: 86400 - validRegex: /.{1,}/ - - label: Functions | _APP_MAINTENANCE_RETENTION_CACHE - id: $$cap_APP_MAINTENANCE_RETENTION_CACHE - description: The maximum duration (in seconds) upto which to retain cached files. The default value is 2592000 seconds (30 days). - defaultValue: 2592000 - validRegex: /.{1,}/ - - label: Functions | _APP_MAINTENANCE_RETENTION_EXECUTION - id: $$cap_APP_MAINTENANCE_RETENTION_EXECUTION - description: The maximum duration (in seconds) upto which to retain execution logs. The default value is 1209600 seconds (14 days). - defaultValue: 1209600 - validRegex: /.{1,}/ - - label: Functions | _APP_MAINTENANCE_RETENTION_AUDIT - id: $$cap_APP_MAINTENANCE_RETENTION_AUDIT - description: The maximum duration (in seconds) upto which to retain audit logs. The default value is 1209600 seconds (14 days). - defaultValue: 1209600 - validRegex: /.{1,}/ - - label: Functions | _APP_MAINTENANCE_RETENTION_ABUSE - id: $$cap_APP_MAINTENANCE_RETENTION_ABUSE - description: The maximum duration (in seconds) upto which to retain abuse logs. The default value is 86400 seconds (1 day). - defaultValue: 86400 - validRegex: /.{1,}/ - - label: GraphQL | _APP_GRAPHQL_MAX_BATCH_SIZE - id: $$cap_APP_GRAPHQL_MAX_BATCH_SIZE - description: Maximum number of batched queries per request. The default value is 10. - defaultValue: 10 - validRegex: /.{1,}/ - - label: GraphQL | _APP_GRAPHQL_MAX_COMPLEXITY - id: $$cap_APP_GRAPHQL_MAX_COMPLEXITY - description: Maximum complexity of a GraphQL query. One field adds one to query complexity. Lists multiply the complexity by the number of items requested. The default value is 250. - defaultValue: 250 - validRegex: /.{1,}/ - - label: GraphQL | _APP_GRAPHQL_MAX_DEPTH - id: $$cap_APP_GRAPHQL_MAX_DEPTH - description: Maximum depth of a GraphQL query. One nested field level adds one to query depth. The default value is 3. - defaultValue: 3 - validRegex: /.{1,}/ diff --git a/public/v4/apps/arangodb.yml b/public/v4/apps/arangodb.yml deleted file mode 100644 index 59d487208..000000000 --- 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/archivebox.yml b/public/v4/apps/archivebox.yml deleted file mode 100644 index e144eb454..000000000 --- a/public/v4/apps/archivebox.yml +++ /dev/null @@ -1,40 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - documentation: Taken from https://docs.archivebox.io/en/latest/Docker.html and https://docs.archivebox.io/en/latest/Configuration.html?highlight=Configuration#configuration - volumes: - - $$cap_appname-data:/data - environment: - ALLOWED_HOSTS: '*' - MEDIA_MAX_SIZE: $$cap_max_size_in_mo - restart: always - caproverExtra: - dockerfileLines: - - FROM archivebox/archivebox:$$cap_archivebox_version - - CMD ["server", "--quick-init", "0.0.0.0:8000"] - containerHttpPort: '8000' -caproverOneClickApp: - variables: - - id: $$cap_archivebox_version - label: archivebox Version - defaultValue: sha-5940dd6 - description: Check out their Docker page for the valid tags https://hub.docker.com/r/archivebox/archivebox/tags - validRegex: /^([^\s^\/])+$/ - - id: $$cap_max_size_in_mo - label: Media max size - defaultValue: 750m - description: Max size of media in MO - validRegex: /^[0-9]+m$/ - instructions: - start: >- - ArchiveBox is a powerful, self-hosted internet archiving solution to collect, save, and view sites you want to preserve offline. - please note ArchiveBox NEED you to run some command lines to create the account and does not allow to create a default account. - end: >- - ArchiveBox is deployed and available as $$cap_appname. - It may take a few minutes for ArchiveBox to initialize. - Before adding something you need to create an account by running the command `su - archivebox` then `archivebox manage createsuperuser" into the `data` folder - To go into your container please follow those instructions: https://caprover.com/docs/troubleshooting.html#how-to-run-shell-inside-my-application-inside-container - Once the super admin is setted you can add other via the web ui. - displayName: ArchiveBox - isOfficial: true - description: Open-source self-hosted web archiving. diff --git a/public/v4/apps/audiobookshelf.yml b/public/v4/apps/audiobookshelf.yml deleted file mode 100644 index b3ff713ac..000000000 --- a/public/v4/apps/audiobookshelf.yml +++ /dev/null @@ -1,48 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - image: ghcr.io/advplyr/audiobookshelf:$$cap_version - volumes: - - $$cap_appname-config:/config - - $$cap_path_to_audiobooks:/audiobooks - - $$cap_path_to_podcasts:/podcasts - - $$cap_path_to_metadata:/metadata - restart: always - -caproverOneClickApp: - variables: - - id: '$$cap_version' - label: Audiobookshelf Version - defaultValue: '2.2.14' - description: Check out their Docker page for the valid tags https://hub.docker.com/r/advplyr/audiobookshelf/tags - validRegex: '/.{1,}/' - - - id: $$cap_path_to_audiobooks - label: Location of audiobooks directory - defaultValue: 'audiobooks-volume-placeholder' - description: full path to the directory where the audiobooks are stored. Path on host MUST exist for the app to start! - validRegex: /\/[^\s-][a-zA-Z0-9_\/-]*[^\/][^\s-]/ - - - id: $$cap_path_to_podcasts - label: Location of podcasts directory - defaultValue: 'podcasts-volume-placeholder' - description: full path to the directory where the podcasts are stored. Path on host MUST exist for the app to start! - validRegex: /\/[^\s-][a-zA-Z0-9_\/-]*[^\/][^\s-]/ - - - id: $$cap_path_to_metadata - label: Location of metadata directory - defaultValue: 'metadata-volume-placeholder' - description: full path to the directory where the metadata is stored. Path on host MUST exist for the app to start! - validRegex: /\/[^\s-][a-zA-Z0-9_\/-]*[^\/][^\s-]/ - - instructions: - start: |- - Audiobookshelf is a self-hosted audiobook and podcast server. Official Docker image. - end: |- - Audiobookshelf has been succesfully deployed! - It is available at http://$$cap_appname.$$cap_root_domain - - displayName: Audiobookshelf - isOfficial: true - description: Audiobookshelf is a self-hosted audiobook and podcast server. - documentation: See https://www.audiobookshelf.org/docs diff --git a/public/v4/apps/baikal.yml b/public/v4/apps/baikal.yml deleted file mode 100644 index 2c3a6d84a..000000000 --- a/public/v4/apps/baikal.yml +++ /dev/null @@ -1,26 +0,0 @@ -captainVersion: 4 -services: - '$$cap_appname': - image: ckulka/baikal:$$cap_version - volumes: - - '$$cap_appname-data:/var/www/baikal/Specific' - - '$$cap_appname-config:/var/www/baikal/config' - caproverExtra: - containerHttpPort: '80' -caproverOneClickApp: - variables: - - id: '$$cap_version' - label: Baikal Version - defaultValue: '0.9.2-nginx' - description: Check out their Docker page for the valid tags https://hub.docker.com/r/ckulka/baikal/tags - validRegex: "/^([^\\s^\\/])+$/" - instructions: - start: |- - BaΓ―kal is a lightweight CalDAV+CardDAV server. It offers an extensive web interface with easy management of users, address books and calendars. It is fast and simple to install and only needs a basic php capable server. The data can be stored in a MySQL or a SQLite database. - More details: https://sabre.io/baikal/ - end: |- - BaΓ―kal has been successfully deployed! - displayName: BaΓ―kal - isOfficial: false - description: BaΓ―kal is a lightweight CalDAV+CardDAV server. It offers an extensive web interface with easy management of users, address books and calendars. - documentation: See https://sabre.io/baikal/ diff --git a/public/v4/apps/bazarr.yml b/public/v4/apps/bazarr.yml deleted file mode 100644 index 23c33241c..000000000 --- a/public/v4/apps/bazarr.yml +++ /dev/null @@ -1,64 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - image: linuxserver/bazarr:$$cap_bazarr_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_movies:/movies - - $$cap_path_to_tv:/tv - caproverExtra: - containerHttpPort: 6767 -caproverOneClickApp: - variables: - - id: $$cap_bazarr_version - label: Bazarr Version - defaultValue: '1.0.1' - description: Check out their Docker page for the valid tags https://hub.docker.com/r/linuxserver/bazarr/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_movies - label: Location of TV library on disk - description: Location of TV library on disk - validRegex: /\/[^\s-][a-zA-Z0-9_\/-]*[^\/][^\s-]/ - - - id: $$cap_path_to_tv - label: Location of movie library on disk - description: Location of movie 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: >- - Bazarr is a companion application to Sonarr and Radarr. - - It can manage and download subtitles based on your requirements. - - You define your preferences by TV show or movie and Bazarr takes care of everything for you. - end: >- - Bazarr is deployed and available at http://$$cap_appname.$$cap_root_domain. - displayName: Bazarr - isOfficial: true - description: Bazarr is a companion application to Sonarr and Radarr. It can manage and download subtitles based on your requirements. - documentation: Taken from https://hub.docker.com/r/linuxserver/bazarr. diff --git a/public/v4/apps/bitwardenrs.yml b/public/v4/apps/bitwardenrs.yml deleted file mode 100644 index 6e8d38c82..000000000 --- a/public/v4/apps/bitwardenrs.yml +++ /dev/null @@ -1,47 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - image: vaultwarden/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: vaultwarden Version - defaultValue: 1.26.0 - description: Check out their Docker page for the valid tags https://hub.docker.com/r/vaultwarden/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: vaultwarden - isOfficial: true - description: Lightweight fully featured Rust implementation of Bitwarden. - documentation: Taken from https://hub.docker.com/r/vaultwarden/server diff --git a/public/v4/apps/bookstack.yml b/public/v4/apps/bookstack.yml deleted file mode 100644 index 095b56d8a..000000000 --- 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/botpress.yml b/public/v4/apps/botpress.yml deleted file mode 100644 index eafd043c6..000000000 --- a/public/v4/apps/botpress.yml +++ /dev/null @@ -1,147 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - caproverExtra: - containerHttpPort: 3000 - dockerfileLines: - - FROM botpress/server:$$cap_BOTPRESS_VERSION - - CMD /botpress/bp - environment: - DATABASE_URL: postgres://$$cap_POSTGRES_USER:$$cap_POSTGRES_PASSWORD@srv-captain--$$cap_appname-db/$$cap_POSTGRES_DB - REDIS_URL: redis://srv-captain--$$cap_appname-cache?password=$$cap_REDIS_PASSWORD - EXTERNAL_URL: http://$$cap_appname.$$cap_root_domain - BP_MODULE_NLU_DUCKLINGURL: http://srv-captain--$$cap_appname-lang:8000 - BP_MODULE_NLU_LANGUAGESOURCES: '[{"endpoint": "http://srv-captain--$$cap_appname-lang:3100"}]' - BP_PRODUCTION: $$cap_BOTPRESS_PRODUCTION - BPFS_STORAGE: $$cap_BOTPRESS_STORAGE - VERBOSITY_LEVEL: $$cap_BOTPRESS_VERBOSITY_LEVEL - BP_DECISION_MIN_CONFIDENCE: $$cap_BOTPRESS_DECISION_MIN_CONFIDENCE - FAST_TEXT_VERBOSITY: $$cap_BOTPRESS_FAST_TEXT_VERBOSITY - FAST_TEXT_CLEANUP_MS: $$cap_BOTPRESS_FAST_TEXT_CLEANUP_MS - depends_on: - - $$cap_appname-lang - - $$cap_appname-db - - $$cap_appname-cache - volumes: - - $$cap_appname:/botpress/data - - $$cap_appname-lang: - caproverExtra: - notExposeAsWebApp: 'true' - dockerfileLines: - - FROM botpress/server:$$cap_BOTPRESS_VERSION - - USER root - - RUN mkdir /botpress/lang && chown -R botpress:botpress /botpress/lang - - USER botpress - - CMD bash -c "./duckling -p 8000 & ./bp lang --langDir /botpress/lang --port 3100" - volumes: - - $$cap_appname-lang:/botpress/lang - - $$cap_appname-db: - caproverExtra: - notExposeAsWebApp: 'true' - image: postgres:$$cap_POSTGRES_VERSION - environment: - POSTGRES_DB: $$cap_POSTGRES_DB - POSTGRES_PASSWORD: $$cap_POSTGRES_PASSWORD - POSTGRES_USER: $$cap_POSTGRES_USER - volumes: - - $$cap_appname-db:/var/lib/postgresql/data - - $$cap_appname-cache: - caproverExtra: - notExposeAsWebApp: 'true' - dockerfileLines: - - FROM redis:$$cap_REDIS_VERSION - - CMD redis-server --requirepass $$cap_REDIS_PASSWORD - volumes: - - $$cap_appname-cache:/data - -caproverOneClickApp: - displayName: Botpress - isOfficial: true - description: Open Source Platform For Developers To Build High-Quality Digital Assistants - documentation: https://botpress.com/docs - instructions: - start: |- - Botpress is a tool to simplify building chat bots for developers. - The platform puts together the boilerplate code and infrastructure you need to get a chatbot up and running and gives a complete dev-friendly platform that ships with all the tools you need to build, deploy, and manage production-grade chat bots in record time. - end: |- - Botpress has been successfully deployed! It might take few moments before it's fully started. - - Please perform the following steps: - - 1. Go to the **HTTP Settings** of `$$cap_appname` and **Enable WebSocket Support** - 2. Visit your Botpress instance at `http://$$cap_appname.$$cap_root_domain` and create your account - 3. Go to **Code Editor** and select **Configurations** > **Module Configurations** > `nlu.json` in the side bar - 4. Replace value for `ducklingURL` with `http://srv-captain--$$cap_appname-lang:8000` - 5. Replace value for `languageSources` > `endpoint` with `http://srv-captain--$$cap_appname-lang:3100` - 6. Restart `$$cap_appname` in CapRover by clicking on **Save & Update** - - Have fun with Botpress! - variables: - - id: $$cap_BOTPRESS_VERSION - label: Version | Botpress - description: Version of Botpress. Check out their Docker page for the valid tags https://hub.docker.com/r/botpress/server/tags - defaultValue: v12_30_2 - validRegex: /.{1,}/ - - id: $$cap_POSTGRES_VERSION - label: Version | PostgreSQL - description: Version of PostgreSQL. Check out their Docker page for the valid tags https://hub.docker.com/_/postgres/tags - defaultValue: 11.2-alpine - validRegex: /.{1,}/ - - id: $$cap_REDIS_VERSION - label: Version | Redis - description: Version of Redis. Check out their Docker page for the valid tags https://hub.docker.com/_/redis/tags - defaultValue: 5.0.5-alpine - validRegex: /.{1,}/ - - id: $$cap_BOTPRESS_PRODUCTION - label: General | Production Mode - description: Whether to enable production mode. - defaultValue: 'true' - validRegex: /^(true|false)$/ - - id: $$cap_BOTPRESS_STORAGE - label: General | Storage - description: Storage destination used by BPFS to read and write files (global and bots). Either `disk` or `database`. - defaultValue: database - validRegex: /.{1,}/ - - id: $$cap_BOTPRESS_VERBOSITY_LEVEL - label: General | Verbosity Level - description: When set higher than `0`, Botpress will be more chatty when processing requests. - defaultValue: '0' - validRegex: /.{1,}/ - - id: $$cap_BOTPRESS_DECISION_MIN_CONFIDENCE - label: General | Decision Minimum Confidence - description: Minimum threshold required for the Decision Engine to elect a suggestion. - defaultValue: '0.5' - validRegex: /.{1,}/ - - id: $$cap_BOTPRESS_FAST_TEXT_VERBOSITY - label: General | Fast Text Verbosity - description: Level of verbosity that FastText will use when training models. - defaultValue: '0' - validRegex: /.{1,}/ - - id: $$cap_BOTPRESS_FAST_TEXT_CLEANUP_MS - label: General | Fast Text Clean-Up - description: Model will be kept in memory until it receives no messages to process for that duration. Defined in milliseconds. - defaultValue: 60000 - validRegex: /.{1,}/ - - id: $$cap_POSTGRES_DB - label: PostgreSQL | Name - description: Name of the database. - defaultValue: botpress - validRegex: /.{1,}/ - - id: $$cap_POSTGRES_USER - label: PostgreSQL | User - description: Name of the database user. - defaultValue: botpress - validRegex: /.{1,}/ - - id: $$cap_POSTGRES_PASSWORD - label: PostgreSQL | Password - description: Password of the database user. - defaultValue: $$cap_gen_random_hex(16) - validRegex: /.{1,}/ - - id: $$cap_REDIS_PASSWORD - label: Redis | Password - description: Password for Redis. - defaultValue: $$cap_gen_random_hex(16) - validRegex: /.{1,}/ diff --git a/public/v4/apps/browserless.yml b/public/v4/apps/browserless.yml deleted file mode 100644 index 842c4ee53..000000000 --- a/public/v4/apps/browserless.yml +++ /dev/null @@ -1,165 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - documentation: https://docs.browserless.io/docs/docker-quickstart.html - image: browserless/chrome:$$cap_browserless_version - restart: always - volumes: - - $$cap_appname-workspace:/downloads - - $$cap_appname-metrics:/metrics - - $$cap_appname-user-data:/user-data - environment: - DEMO_MODE: $$cap_demo_mode - ENABLE_DEBUGGER: $$cap_enable_debugger - MAX_CONCURRENT_SESSIONS: $$cap_max_concurrent_sessions - CONNECTION_TIMEOUT: $$cap_connection_timeout - MAX_QUEUE_LENGTH: $$cap_max_queue_length - WORKSPACE_DIR: $$cap_workspace_dir - WORKSPACE_DELETE_EXPIRED: $$cap_workspace_delete_expired - WORKSPACE_EXPIRE_DAYS: $$cap_workspace_expire_days - DEFAULT_USER_DATA_DIR: $$cap_default_user_data_dir - METRICS_JSON_PATH: $$cap_metrics_json_path - DISABLE_AUTO_SET_DOWNLOAD_BEHAVIOR: $$cap_disable_auto_set_download_behavior - DEFAULT_BLOCK_ADS: $$cap_default_block_ads - ENABLE_API_GET: $$cap_enable_api_get - TOKEN: $$cap_token - ENABLE_CORS: $$cap_enable_cors - ENABLE_XVBF: $$cap_enable_xvbf - EXIT_ON_HEALTH_FAILURE: $$cap_exit_on_health_failure - DEFAULT_IGNORE_HTTPS_ERRORS: $$cap_default_ignore_https_errors - DEFAULT_IGNORE_DEFAULT_ARGS: $$cap_default_ignore_default_args - DISABLED_FEATURES: $$cap_disabled_features - PREBOOT_CHROME: $$cap_preboot_chrome - KEEP_ALIVE: $$cap_keep_alive - CHROME_REFRESH_TIME: $$cap_chrome_refresh_time - FUNCTION_ENABLE_INCOGNITO_MODE: $$cap_function_enable_incognito_mode - caproverExtra: - containerHttpPort: '3000' -caproverOneClickApp: - variables: - - id: $$cap_browserless_version - label: Browserless Version - defaultValue: 1-chrome-stable - description: Browserless Image Version - validRegex: /^([^\s^\/])+$/ - - id: $$cap_demo_mode - label: Demo Mode - defaultValue: 'false' - validRegex: /^(true|false)$/ - description: If you want to serve the interactive debugger, but not allow it to handle puppeteer.connect calls, you can do so via the DEMO_MODE flag. - - id: $$cap_enable_debugger - label: Enable Debugger - defaultValue: 'true' - validRegex: /^(true|false)$/ - description: If you want to disable the debugger (and all accompnaying HTML) you can set the ENABLE_DEBUGGER to false to only allow puppeteer.connect calls to succeed. - - id: $$cap_max_concurrent_sessions - label: Max Concurrent Sessions - defaultValue: 5 - description: Since running Chrome can be rather resource intensive you'll probably want to limit the number of concurrent sessions. This is, by default, set to 5 when not specified. Once the limit is reached then queueing begins to take place and requests will wait until more workers are ready. - - id: $$cap_connection_timeout - label: Connection Timeout - defaultValue: 30000 - description: Connection timeout is a parameter that sets how long any session can run for. This is in place to prevent scripts that don't cleanup properly, or run into errors tha cause them to hang. The value of which can be set in milliseconds, and defaults to 30000, or 30 seconds. - - id: $$cap_max_queue_length - label: Max Queue Length - defaultValue: 5 - description: This value determines how many items in the queue are allowed before requests are issued a 429 response code and closed. - - id: $$cap_workspace_dir - label: workspace location - defaultValue: /downloads - description: Defining a workspace location - - id: $$cap_workspace_delete_expired - label: Deleting workspace files automatically - defaultValue: 'false' - validRegex: /^(true|false)$/ - description: When downloads from Chrome are larger, it's easy for the docker image to fill it's disk-space if you forget to periodically delete files. - - id: $$cap_workspace_expire_days - label: time to delete workspace files - defaultValue: 30 - description: When WORKSPACE_DELETE_EXPIRED is true, browserless attempts to delete files older than 30 days in the workspace directory. - - id: $$cap_default_user_data_dir - label: User Data Dir - defaultValue: /user-data - description: Sets a default directory to cache user data to (cookies, local-storage and more). - - id: $$cap_metrics_json_path - label: Persisting Metrics - defaultValue: /metrics/metrics.json - description: browserless captures metrics while it's running, and exposes them via the /metrics endpoint. - - id: $$cap_disable_auto_set_download_behavior - label: Disable download behavior - defaultValue: 'false' - validRegex: /^(true|false)$/ - description: By default, browserless tells chromium to use a special directory in /tmp for storing files. If you want opt-out of this behavior, set to true - - id: $$cap_default_block_ads - label: Block Ads - defaultValue: 'false' - validRegex: /^(true|false)$/ - description: Starts all sessions with the ad-blocker already running - - id: $$cap_enable_api_get - label: Enable API GET - defaultValue: 'true' - validRegex: /^(true|false)$/ - description: Allows for enabling an expiremental GET-style operation, as opposed to POSTing bodies of code to run on our APIs. - - id: $$cap_token - label: Token - defaultValue: $$cap_gen_random_hex(32) - validRegex: /^([^\s^\/])+$/ - description: If you're exposing your instance to the world, but don't want anyone to use it, you can optionally apply a TOKEN param that will restrict calls without a token query-string parameter. - - id: $$cap_enable_cors - label: Enable CORS - defaultValue: 'true' - validRegex: /^(true|false)$/ - description: You can enable cross-origin-resource-sharing with browserless - - id: $$cap_enable_xvbf - label: Enable XVFB - defaultValue: 'true' - validRegex: /^(true|false)$/ - description: in some hosting environments it's not possible to write to the appropriate folders to support XVFB and you should set this parameter to false. - - id: $$cap_exit_on_health_failure - label: Exit on health failure - defaultValue: 'true' - validRegex: /^(true|false)$/ - description: In order for browserless to restart on health-failure checks, you'll have to set to true. - - id: $$cap_default_ignore_https_errors - label: Ignore HTTPS errors - defaultValue: 'true' - validRegex: /^(true|false)$/ - description: Tells browserless to, by default, ignore or not ignore HTTPS errors on sites. - - id: $$cap_default_ignore_default_args - label: Ignore Default Args - defaultValue: 'false' - validRegex: /^(true|false)$/ - description: When set this will override any default arguments set by browserless to Chrome's launch arguments - - id: $$cap_disabled_features - label: Disable Routes - defaultValue: '' - description: Allows for disabling routes by supplying a list of routes to disable - - id: $$cap_preboot_chrome - label: Pre-booting Chrome - defaultValue: 'false' - validRegex: /^(true|false)$/ - description: You can, optionally, pre-boot Chrome and keep it in a pool of instances (determined by MAX_CONCURRENT_SESSIONS) in order to cut-down on the boot time. - - id: $$cap_keep_alive - label: Keeping Chrome Alive - defaultValue: 'false' - validRegex: /^(true|false)$/ - description: When the PREBOOT_CHROME flag is set, you can optionally keep Chrome "alive" after sessions are complete. This allows you to re-use Chrome instances without having to start and stop them (making for much faster execution). - - id: $$cap_chrome_refresh_time - label: Chrome Refresh Time - defaultValue: 3600000 - description: When both PREBOOT_CHROME and KEEP_ALIVE are true browserless keeps track of how long Chrome has been running, and will attempt to close it after a certain period. - - id: $$cap_function_enable_incognito_mode - label: Function Incognito Mode - defaultValue: 'false' - validRegex: /^(true|false)$/ - description: When set, and PREBOOT_CHROME and KEEP_ALIVE are set, allows for generating a fresh page (incognito page) from a re-used browser. - instructions: - start: >- - Browserless Web is communication between web applications without the need for a web browser. - end: >- - Your service is available at http://$$cap_appname.$$cap_root_domain?token=$$cap_token - Atention: you need activate Websocket Support! - displayName: Browserless - isOfficial: true - description: Browserless Web is communication between web applications without the need for a web browser. - documentation: https://docs.browserless.io/docs/docker.html diff --git a/public/v4/apps/btcpayserver.yml b/public/v4/apps/btcpayserver.yml deleted file mode 100644 index 648af3596..000000000 --- a/public/v4/apps/btcpayserver.yml +++ /dev/null @@ -1,447 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - caproverExtra: - containerHttpPort: $$cap_BTCPAY_PORT - image: btcpayserver/btcpayserver:$$cap_BTCPAYSERVER_VERSION - hostname: $$cap_appname.$$cap_root_domain - environment: - BTCPAY_HOST: $$cap_appname.$$cap_root_domain - BTCPAY_POSTGRES: User ID=$$cap_POSTGRES_USER;Host=srv-captain--$$cap_appname-postgres;Port=$$cap_POSTGRES_PORT;Application Name=btcpayserver;Database=btcpayserver$$cap_NBITCOIN_NETWORK - BTCPAY_EXPLORERPOSTGRES: User ID=$$cap_POSTGRES_USER;Host=srv-captain--$$cap_appname-postgres;Port=$$cap_POSTGRES_PORT;Application Name=btcpayserver;MaxPoolSize=80;Database=nbxplorer$$cap_NBITCOIN_NETWORK - BTCPAY_NETWORK: $$cap_NBITCOIN_NETWORK - BTCPAY_BIND: $$cap_BIND_ADDRESS:$$cap_BTCPAY_PORT - BTCPAY_ROOTPATH: $$cap_BTCPAY_ROOTPATH - BTCPAY_DEBUGLOG: $$cap_BTCPAY_DEBUGLOG - BTCPAY_UPDATEURL: $$cap_BTCPAY_UPDATEURL - BTCPAY_DOCKERDEPLOYMENT: 'true' - BTCPAY_CHAINS: $$cap_USED_CHAIN - BTCPAY_BTCEXPLORERURL: http://srv-captain--$$cap_appname-nbxplorer:$$cap_NBXPLORER_PORT/ - BTCPAY_BTCLIGHTNING: 'type=clightning;server=unix://etc/clightning_bitcoin/lightning-rpc' - BTCPAY_BTCEXTERNALSPARK: 'server=/spark/btc/;cookiefile=/etc/clightning_bitcoin_spark/.cookie' - BTCPAY_BTCEXTERNALRTL: 'server=/rtl/api/authenticate/cookie;cookiefile=/etc/clightning_bitcoin_rtl/.cookie' - BTCPAY_BTCEXTERNALCLIGHTNINGREST: 'server=/clightning-rest/btc;macaroonfilepath=/etc/clightning_bitcoin_rest_certs/access.macaroon;macaroondirectorypath=/etc/clightning_bitcoin_rest_certs' - depends_on: - - $$cap_appname-postgres - - $$cap_appname-bitcoind - - $$cap_appname-lightning - volumes: - - $$cap_appname-data:/datadir - - $$cap_appname-nbxplorer-data:/root/.nbxplorer - - $$cap_appname-plugins:/root/.btcpayserver/Plugins - - $$cap_appname-lightning-data:/etc/clightning_bitcoin - - $$cap_appname-lightning-spark:/etc/clightning_bitcoin_spark - - $$cap_appname-lightning-rtl-data:/etc/clightning_bitcoin_rtl - - $$cap_appname-lightning-rest-certificates:/etc/clightning_bitcoin_rest_certs - - $$cap_appname-postgres: - caproverExtra: - notExposeAsWebApp: 'true' - dockerfileLines: - - FROM btcpayserver/postgres:$$cap_POSTGRES_VERSION - - CMD ["-c", "random_page_cost=1.0", "-c", "shared_preload_libraries=pg_stat_statements"] - environment: - POSTGRES_HOST_AUTH_METHOD: $$cap_POSTGRES_HOST_AUTH_METHOD - volumes: - - $$cap_appname-postgres:/var/lib/postgresql/data - - $$cap_appname-nbxplorer: - caproverExtra: - notExposeAsWebApp: 'true' - image: nicolasdorier/nbxplorer:$$cap_NBXPLORER_VERSION - environment: - NBXPLORER_NETWORK: $$cap_NBITCOIN_NETWORK - NBXPLORER_BIND: $$cap_BIND_ADDRESS:$$cap_NBXPLORER_PORT - NBXPLORER_TRIMEVENTS: $$cap_NBXPLORER_TRIMEVENTS - NBXPLORER_SIGNALFILESDIR: $$cap_NBXPLORER_SIGNALFILESDIR - NBXPLORER_POSTGRES: User ID=$$cap_POSTGRES_USER;Host=srv-captain--$$cap_appname-postgres;Port=$$cap_POSTGRES_PORT;Application Name=nbxplorer;MaxPoolSize=20;Database=nbxplorer$$cap_NBITCOIN_NETWORK - NBXPLORER_AUTOMIGRATE: $$cap_NBXPLORER_AUTOMIGRATE - NBXPLORER_NOMIGRATEEVTS: $$cap_NBXPLORER_NOMIGRATEEVTS - NBXPLORER_CHAINS: $$cap_USED_CHAIN - NBXPLORER_BTCRPCURL: http://srv-captain--$$cap_appname-bitcoind:$$cap_BITCOIN_RPC_PORT/ - NBXPLORER_BTCNODEENDPOINT: srv-captain--$$cap_appname-bitcoind:$$cap_BITCOIN_NODE_PORT - depends_on: - - $$cap_appname-postgres - volumes: - - $$cap_appname-nbxplorer-data:/datadir - - $$cap_appname-bitcoind-data:/root/.bitcoin - - $$cap_appname-bitcoind: - caproverExtra: - notExposeAsWebApp: 'true' - image: btcpayserver/bitcoin:$$cap_BITCOIN_VERSION - environment: - BITCOIN_NETWORK: $$cap_NBITCOIN_NETWORK - BITCOIN_WALLETDIR: $$cap_BITCOIN_WALLETDIR - BITCOIN_EXTRA_ARGS: | - rpcport=$$cap_BITCOIN_RPC_PORT - rpcbind=$$cap_BIND_ADDRESS:$$cap_BITCOIN_RPC_PORT - rpcallowip=$$cap_BIND_ADDRESS/$$cap_BITCOIN_IP_ALLOWLIST_CIDR - port=$$cap_BITCOIN_NODE_PORT - whitelist=$$cap_BIND_ADDRESS/$$cap_BITCOIN_IP_ALLOWLIST_CIDR - maxmempool=$$cap_BITCOIN_MAX_MEMPOOL - prune=$$cap_BITCOIN_PRUNE - $$cap_BITCOIN_ADDITIONAL_ARGUMENTS - volumes: - - $$cap_appname-bitcoind-wallet-data:/walletdata - - $$cap_appname-bitcoind-data:/data - - $$cap_appname-lightning: - caproverExtra: - notExposeAsWebApp: 'true' - image: btcpayserver/lightning:$$cap_LIGHTNING_VERSION - environment: - LIGHTNINGD_NETWORK: $$cap_NBITCOIN_NETWORK - LIGHTNINGD_CHAIN: $$cap_USED_CHAIN - LIGHTNINGD_ALIAS: $$cap_LIGHTNINGD_ALIAS - LIGHTNINGD_ANNOUNCEADDR: $$cap_LIGHTNINGD_ANNOUNCEADDR - LIGHTNINGD_PORT: $$cap_LIGHTNINGD_PORT - LIGHTNINGD_READY_FILE: $$cap_LIGHTNINGD_READY_FILE - LIGHTNINGD_OPT: | - bitcoin-datadir=$$cap_LIGHTNINGD_BITCOIN_DATA_DIRECTORY - bitcoin-rpcconnect=srv-captain--$$cap_appname-bitcoind - experimental-offers - $$cap_LIGHTNINGD_ADDITIONAL_ARGUMENTS - ports: - - $$cap_LIGHTNINGD_PORT:$$cap_LIGHTNINGD_PORT - depends_on: - - $$cap_appname-bitcoind - volumes: - - $$cap_appname-lightning-data:/root/.lightning - - $$cap_appname-bitcoind-data:/etc/bitcoin - - $$cap_appname-nbxplorer-data:/root/.nbxplorer - - $$cap_appname-lightning-spark: - caproverExtra: - notExposeAsWebApp: 'true' - image: shesek/spark-wallet:$$cap_LIGHTNING_SPARK_VERSION - environment: - NETWORK: $$cap_NBITCOIN_NETWORK - SPARK_OPT: $$cap_LIGHTNING_SPARK_OPTIONS - volumes: - - $$cap_appname-lightning-data:/etc/lightning - - $$cap_appname-lightning-spark:/data - depends_on: - - $$cap_appname-lightning - - $$cap_appname-lightning-rest: - caproverExtra: - notExposeAsWebApp: 'true' - image: saubyk/c-lightning-rest:$$cap_LIGHTNING_REST_VERSION - environment: - PROTOCOL: $$cap_LIGHTNING_REST_PROTOCOL - NODE: srv-captain--$$cap_appname-lightning:$$cap_LIGHTNING_REST_LIGHTNINGD_PORT - LIGHTNINGD_READY_FILE: $$cap_LIGHTNINGD_READY_FILE - depends_on: - - $$cap_appname-lightning - volumes: - - $$cap_appname-lightning-data:/root/.lightning - - $$cap_appname-bitcoind-data:/etc/bitcoin - - $$cap_appname-lightning-rest-certificates:/usr/src/app/certs - - $$cap_appname-nbxplorer-data:/root/.nbxplorer - - $$cap_appname-rtl: - caproverExtra: - notExposeAsWebApp: 'true' - image: shahanafarooqui/rtl:$$cap_RTL_VERSION - environment: - LN_IMPLEMENTATION: $$cap_RTL_LN_IMPLEMENTATION - CONFIG_PATH: $$cap_RTL_LIGHTNING_CONFIG_PATH - LN_SERVER_URL: http://srv-captain--$$cap_appname-lightning-rest:$$cap_RTL_LN_SERVER_URL_PORT/v1 - MACAROON_PATH: $$cap_RTL_MACAROON_PATH - RTL_CONFIG_PATH: $$cap_RTL_CONFIG_PATH - BITCOIND_CONFIG_PATH: $$cap_RTL_BITCOIND_CONFIG_PATH - RTL_SSO: $$cap_RTL_SSO - RTL_COOKIE_PATH: $$cap_RTL_COOKIE_PATH - LOGOUT_REDIRECT_LINK: $$cap_RTL_LOGOUT_REDIRECT_LINK - volumes: - - $$cap_appname-lightning-data:/root/.lightning - - $$cap_appname-bitcoind-data:/etc/bitcoin - - $$cap_appname-lightning-rtl-data:/data - - $$cap_appname-lightning-rest-certificates:/etc/clightning_bitcoin_rest_certs - -caproverOneClickApp: - instructions: - start: |- - BTCPay Server is a free, open-source & self-hosted bitcoin payment gateway. - It allows self-sovereign individuals and businesses to accept bitcoin payments online or in person without any fees. - - This will deploy BTCPay Server with Bitcoin Full Node (with 50 GB pruning), Core Lightning Node, Spark Wallet and Ride The Lightning. - Please note that features like SSH access and Onion service have been omitted to keep deployment simple. - - You may need to open the port `9735` in your firewall. - end: |- - BTCPay Server has been successfully deployed! - Please change the following settings before using the service: - 1. Go to the settings for `$$cap_appname` - 2. Enable **Websocket Support** - 3. Enable **HTTPS** - 4. Click on **Edit Default Nginx Configurations** and paste the following content before the last closing bracket "}": - ``` - location /rtl/ { - proxy_pass http://srv-captain--$$cap_appname-rtl:$$cap_RTL_PORT/rtl/; - } - - location /spark/btc/ { - proxy_pass http://srv-captain--$$cap_appname-lightning-spark:$$cap_LIGHTNING_SPARK_PORT/; - } - - location /clightning-rest/btc/ { - rewrite ^/clightning-rest/btc/(.*) /$1 break; - proxy_pass http://srv-captain--$$cap_appname-lightning-rest:$$cap_RTL_LN_SERVER_URL_PORT/; - } - ``` - Now you can access it at `https://$$cap_appname.$$cap_root_domain` - It will take some time to synchronize the Bitcoin full node. - You should also observe the app logs from time to time. - displayName: BTCPay Server - isOfficial: true - description: Free, open-source & self-hosted, Bitcoin payment processor. - documentation: https://docs.btcpayserver.org - variables: - - id: $$cap_BIND_ADDRESS - label: General | Bind Address - description: Address to bind the services. - defaultValue: '0.0.0.0' - validRegex: /.{1,}/ - - id: $$cap_BTCPAYSERVER_VERSION - label: General | BTCPay Server Version - description: Check out their valid tags at https://hub.docker.com/r/btcpayserver/btcpayserver/tags - defaultValue: '1.6.11' - validRegex: /.{1,}/ - - id: $$cap_POSTGRES_VERSION - label: General | PostgreSQL Version - description: Check out their valid tags at https://hub.docker.com/r/btcpayserver/postgres/tags - defaultValue: '13.7' - validRegex: /.{1,}/ - - id: $$cap_NBXPLORER_VERSION - label: General | NBXplorer Version - description: Check out their valid tags at https://hub.docker.com/r/nicolasdorier/nbxplorer/tags - defaultValue: '2.3.38' - validRegex: /.{1,}/ - - id: $$cap_BITCOIN_VERSION - label: General | Bitcoin Node Version - description: Check out their valid tags at https://hub.docker.com/r/btcpayserver/bitcoin/tags - defaultValue: '23.0' - validRegex: /.{1,}/ - - id: $$cap_LIGHTNING_VERSION - label: General | Lightning Version - description: Check out their valid tags at https://hub.docker.com/r/btcpayserver/lightning/tags - defaultValue: v0.10.2 - validRegex: /.{1,}/ - - id: $$cap_LIGHTNING_SPARK_VERSION - label: General | Lightning Spark Version - description: Check out their valid tags at https://hub.docker.com/r/shesek/spark-wallet/tags - defaultValue: 0.3.1-standalone - validRegex: /.{1,}/ - - id: $$cap_LIGHTNING_REST_VERSION - label: General | Lightning REST Version - description: Check out their valid tags at https://hub.docker.com/r/saubyk/c-lightning-rest/tags - defaultValue: '0.9.0' - validRegex: /.{1,}/ - - id: $$cap_RTL_VERSION - label: General | Ride The Lightning Version - description: Check out their valid tags at https://hub.docker.com/r/shahanafarooqui/rtl/tags - defaultValue: '0.13.1' - validRegex: /.{1,}/ - - id: $$cap_NBITCOIN_NETWORK - label: General | Network Type - description: The type of Bitcoin network to use (e.g. `mainnet`, `testnet`, or `regtest`) - defaultValue: mainnet - validRegex: /^(mainnet|testnet|regtest|simnet)$/ - - id: $$cap_USED_CHAIN - label: Explorer | Chain - description: Blockchain to be used. Defaults is `btc` and should **not** be changed. - defaultValue: btc - validRegex: /.{1,}/ - - id: $$cap_POSTGRES_PORT - label: Database | Port - description: Port of the PostgreSQL database host. - defaultValue: 5432 - validRegex: /.{1,}/ - - id: $$cap_POSTGRES_USER - label: Database | User - description: User of the PostgreSQL database. - defaultValue: postgres - validRegex: /.{1,}/ - - id: $$cap_POSTGRES_HOST_AUTH_METHOD - label: Database | Authentication Method - description: Method of authentication for incoming connections in PostgreSQL. - defaultValue: trust - validRegex: /.{1,}/ - - id: $$cap_BTCPAY_ROOTPATH - label: Application | Root Path - description: Root path of the application. - defaultValue: / - validRegex: /.{1,}/ - - id: $$cap_BTCPAY_PORT - label: Application | Port - description: Port of the application host. - defaultValue: 49392 - validRegex: /.{1,}/ - - id: $$cap_BTCPAY_DEBUGLOG - label: Application | Debug Log - description: Log file for debugging information. - defaultValue: btcpay.log - validRegex: /.{1,}/ - - id: $$cap_BTCPAY_UPDATEURL - label: Application | Update URL - description: URL to BTCPay Server releases. - defaultValue: https://api.github.com/repos/btcpayserver/btcpayserver/releases/latest - validRegex: /.{1,}/ - - id: $$cap_NBXPLORER_PORT - label: Explorer | Port - description: Port of the NBXplorer host. - defaultValue: 32838 - validRegex: /.{1,}/ - - id: $$cap_NBXPLORER_TRIMEVENTS - label: Explorer | Trim Events - description: Trim the amount of events in NBXplorer. - defaultValue: 10000 - validRegex: /.{1,}/ - - id: $$cap_NBXPLORER_SIGNALFILESDIR - label: Explorer | Signal Files Directory - description: Path to signal files directory in NBXplorer. - defaultValue: /datadir - validRegex: /.{1,}/ - - id: $$cap_NBXPLORER_AUTOMIGRATE - label: Explorer | Automatic Migrations - description: Whether to enable automatic migrations. - defaultValue: 'true' - validRegex: /^(true|false)$/ - - id: $$cap_NBXPLORER_NOMIGRATEEVTS - label: Explorer | Event Migrations - description: Whether to disable event migrations. - defaultValue: 'true' - validRegex: /^(true|false)$/ - - id: $$cap_BITCOIN_RPC_PORT - label: Bitcoin Node | RPC Port - description: Port of Bitcoin node RPC. - defaultValue: 43782 - validRegex: /.{1,}/ - - id: $$cap_BITCOIN_NODE_PORT - label: Bitcoin Node | Node Port - description: Port of Bitcoin node endpoint. - defaultValue: 39388 - validRegex: /.{1,}/ - - id: $$cap_BITCOIN_WALLETDIR - label: Bitcoin Node | Wallet Directory - description: Path to wallet files directory of the Bitcoin node. - defaultValue: /walletdata - validRegex: /.{1,}/ - - id: $$cap_BITCOIN_MAX_MEMPOOL - label: Bitcoin Node | Maximum Mempool Size - description: Maximum Bitcoin node mempool size in megabytes. - defaultValue: 500 - validRegex: /.{1,}/ - - id: $$cap_BITCOIN_IP_ALLOWLIST_CIDR - label: Bitcoin Node | Allowlist Subnet - description: Whitelist IP subnet using CIDR notation for the Bitcoin node. - defaultValue: '0' - validRegex: /.{1,}/ - - id: $$cap_BITCOIN_PRUNE - label: Bitcoin Node | Prune - description: |- - Configure a disk space on stored blocks of the Bitcoin node, denoted in megabytes. - Default is 50 gigabytes, this will keep around 6 months of blocks. - defaultValue: 50000 - - id: $$cap_BITCOIN_ADDITIONAL_ARGUMENTS - label: Bitcoin Node | Additional Arguments - description: Additional Bitcoin node startup arguments. - - id: $$cap_LIGHTNINGD_ANNOUNCEADDR - label: Lightning Node | Announced Address - description: IP address of your server. E.g. `123.123.123.123`. - validRegex: /.{1,}/ - - id: $$cap_LIGHTNINGD_ALIAS - label: Lightning Node | Alias - description: An alias for your Lightning node. - defaultValue: my-awesome-node-$$cap_gen_random_hex(32) - validRegex: /.{1,}/ - - id: $$cap_LIGHTNINGD_PORT - label: Lightning Node | Port - description: Port of your Lightning node host. - defaultValue: 9735 - validRegex: /.{1,}/ - - id: $$cap_LIGHTNINGD_READY_FILE - label: Lightning Node | Ready File - description: Path to Bitcoin node ready status indicator file in the Lightning node. - defaultValue: /root/.nbxplorer/btc_fully_synched - validRegex: /.{1,}/ - - id: $$cap_LIGHTNINGD_BITCOIN_DATA_DIRECTORY - label: Lightning Node | Bitcoin Data Directory - description: Path to Bitcoin data directory in the Lightning node. - defaultValue: /etc/bitcoin - validRegex: /.{1,}/ - - id: $$cap_LIGHTNINGD_ADDITIONAL_ARGUMENTS - label: Lightning Node | Additional Arguments - description: Additional Lightning node startup arguments. - - id: $$cap_LIGHTNING_SPARK_OPTIONS - label: Lightning Node | Spark | Lightning Network Files - description: Additional start up options for Lightning Spark. - defaultValue: --no-tls -C /data/.cookie - validRegex: /.{1,}/ - - id: $$cap_LIGHTNING_SPARK_PORT - label: Lightning Node | Spark | Port - description: Port of Lightning Spark host. - defaultValue: 9737 - validRegex: /.{1,}/ - - id: $$cap_LIGHTNING_REST_PROTOCOL - label: Lightning Node | REST | Protocol - description: Which HTTP protocol to use in Lightning REST. - defaultValue: http - validRegex: /^(http|https)$/ - - id: $$cap_LIGHTNING_REST_LIGHTNINGD_PORT - label: Lightning Node | Spark | Lightning REST API Port - description: REST API port of the Lightning node. - defaultValue: 9835 - validRegex: /.{1,}/ - - id: $$cap_RTL_LN_IMPLEMENTATION - label: Ride The Lightning | Lightning Implementation - description: Lightning implementation used for Ride The Lightning. - defaultValue: CLT - validRegex: /.{1,}/ - - id: $$cap_RTL_LIGHTNING_CONFIG_PATH - label: Ride The Lightning | Lightning Configuration - description: Path to Lightning configuration for Ride The Lightning. - defaultValue: /root/.lightning/config - validRegex: /.{1,}/ - - id: $$cap_RTL_LN_SERVER_URL_PORT - label: Ride The Lightning | Lightning REST Server Port - description: Port of the Lightning REST server for Ride The Lightning. - defaultValue: 3001 - validRegex: /.{1,}/ - - id: $$cap_RTL_MACAROON_PATH - label: Ride The Lightning | Macaroon Path - description: Path to the macaroon file for Ride The Lightning. - defaultValue: /etc/clightning_bitcoin_rest_certs - validRegex: /.{1,}/ - - id: $$cap_RTL_CONFIG_PATH - label: Ride The Lightning | Configuration Path - description: Path to the configuration file for Ride The Lightning. - defaultValue: /data/ - validRegex: /.{1,}/ - - id: $$cap_RTL_BITCOIND_CONFIG_PATH - label: Ride The Lightning | Bitcoin Configuration Path - description: Path to the Bitcoin configuration file for Ride The Lightning. - defaultValue: /etc/bitcoin/bitcoin.conf - validRegex: /.{1,}/ - - id: $$cap_RTL_SSO - label: Ride The Lightning | Single-Sign-On - description: Whether to use Single-Sign-On for Ride The Lightning. - defaultValue: 1 - validRegex: /.{1,}/ - - id: $$cap_RTL_COOKIE_PATH - label: Ride The Lightning | Cookie Path - description: Path to the cookie file for Ride The Lightning. - defaultValue: /data/.cookie - validRegex: /.{1,}/ - - id: $$cap_RTL_LOGOUT_REDIRECT_LINK - label: Ride The Lightning | Log-Out Redirect Link - description: Log-Out redirect link for Ride The Lightning. - defaultValue: /server/services - validRegex: /.{1,}/ - - id: $$cap_RTL_PORT - label: Ride The Lightning | Port - description: Port of Ride The Lightning host. - defaultValue: 3000 - validRegex: /.{1,}/ diff --git a/public/v4/apps/budibase.yml b/public/v4/apps/budibase.yml deleted file mode 100644 index 9d5296eca..000000000 --- a/public/v4/apps/budibase.yml +++ /dev/null @@ -1,87 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - image: budibase/budibase:$$cap_BUDIBASE_VERSION - environment: - ENABLE_ANALYTICS: $$cap_BUDIBASE_ENABLE_ANALYTICS - JWT_SECRET: $$cap_BUDIBASE_JWT_SECRET - MINIO_ACCESS_KEY: $$cap_MINIO_ACCESS_KEY - MINIO_SECRET_KEY: $$cap_MINIO_SECRET_KEY - REDIS_PASSWORD: $$cap_REDIS_PASSWORD - COUCHDB_USER: $$cap_COUCH_DB_USER - COUCHDB_PASSWORD: $$cap_COUCH_DB_PASSWORD - INTERNAL_API_KEY: $$cap_BUDIBASE_INTERNAL_API_KEY - BB_ADMIN_USER_EMAIL: $$cap_BUDIBASE_ADMIN_USER_EMAIL - BB_ADMIN_USER_PASSWORD: $$cap_BUDIBASE_ADMIN_USER_PASSWORD - SENTRY_DSN: $$cap_BUDIBASE_SENTRY_DSN - volumes: - - $$cap_appname:/data -caproverOneClickApp: - displayName: Budibase - description: Low code platform for creating internal apps, workflows, and admin panels in minutes - documentation: https://docs.budibase.com - isOfficial: true - instructions: - start: Build apps, forms, and workflows that perfectly fit your business - so you can move forward, faster. - end: |- - Budibase has been successfully deployed! It might take few moments before it's fully started. - You can access it at `http://$$cap_appname.$$cap_root_domain`. - Administrator user is `$$cap_BUDIBASE_ADMIN_USER_EMAIL` with password `$$cap_BUDIBASE_ADMIN_USER_PASSWORD`. - variables: - - id: $$cap_BUDIBASE_VERSION - label: Application | Version - description: Budibase version. Check out their valid tags at https://hub.docker.com/r/budibase/budibase/tags - defaultValue: v2.0.31 - validRegex: /.{1,}/ - - id: $$cap_BUDIBASE_ADMIN_USER_EMAIL - label: Application | Admin User Mail - description: Administrator mail address. - validRegex: /.{1,}/ - - id: $$cap_BUDIBASE_ADMIN_USER_PASSWORD - label: Application | Admin User Password - description: Administrator password. - defaultValue: $$cap_gen_random_hex(16) - validRegex: /.{1,}/ - - id: $$cap_BUDIBASE_ENABLE_ANALYTICS - label: Application | Enable Analytics - description: Whether to send telemetry data. - defaultValue: 'false' - validRegex: /^(true|false)$/ - - id: $$cap_BUDIBASE_JWT_SECRET - label: Application | JWT Secret - description: Secret for JWT. - defaultValue: $$cap_gen_random_hex(64) - validRegex: /.{1,}/ - - id: $$cap_BUDIBASE_INTERNAL_API_KEY - label: Application | Internal API Key - description: Key for the internal API. - defaultValue: $$cap_gen_random_hex(64) - validRegex: /.{1,}/ - - id: $$cap_BUDIBASE_SENTRY_DSN - label: Application | Sentry DSN - description: Optional Sentry DSN for error tracking. - - id: $$cap_REDIS_PASSWORD - label: Queue | Password - description: Password for Redis. - defaultValue: $$cap_gen_random_hex(16) - validRegex: /.{1,}/ - - id: $$cap_MINIO_ACCESS_KEY - label: Storage | Access Key - description: Access key for Minio. - defaultValue: $$cap_gen_random_hex(64) - validRegex: /.{1,}/ - - id: $$cap_MINIO_SECRET_KEY - label: Storage | Secret Key - description: Secret key for Minio. - defaultValue: $$cap_gen_random_hex(64) - validRegex: /.{1,}/ - - id: $$cap_COUCH_DB_USER - label: Database | User - description: User for CouchDB. - defaultValue: budibase - validRegex: /.{1,}/ - - id: $$cap_COUCH_DB_PASSWORD - label: Database | Password - description: Password for CouchDB. - defaultValue: $$cap_gen_random_hex(16) - validRegex: /.{1,}/ diff --git a/public/v4/apps/cachet.yml b/public/v4/apps/cachet.yml deleted file mode 100644 index d70808ec5..000000000 --- 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/calibre.yml b/public/v4/apps/calibre.yml deleted file mode 100644 index 65a4ad3bf..000000000 --- a/public/v4/apps/calibre.yml +++ /dev/null @@ -1,38 +0,0 @@ -captainVersion: 4 -services: - # Calibre-web - $$cap_appname: - image: lscr.io/linuxserver/calibre-web:$$cap_app_version - restart: always - environment: - APP_URL: http://$$cap_appname.$$cap_root_domain - TZ: $$cap_timezone - volumes: - - $$cap_appname-config:/config - - $$cap_appname-books:/books - caproverExtra: - containerHttpPort: '8083' - -caproverOneClickApp: - variables: - - id: $$cap_app_version - label: Calibre-web - defaultValue: '2021.10.24' - description: Check out their docker page for the valid tags https://hub.docker.com/r/linuxserver/calibre-web/tags - - - id: $$cap_timezone - label: Timezone - defaultValue: 'Europe/London' - description: 'See https://en.wikipedia.org/wiki/List_of_tz_database_time_zones for list of timezones.' - - instructions: - start: >- - Calibre-web is a web app providing a clean interface for browsing, reading and downloading eBooks using an existing Calibre database. It is also possible to integrate google drive and edit metadata and your calibre library through the app itself. - end: >- - Done! πŸ˜„ - Your service is available at http://$$cap_appname.$$cap_root_domain - Default admin login: Username: admin Password: admin123 - displayName: 'Calibre Web' - isOfficial: true - description: Calibre-web is a web app providing a clean interface for browsing, reading and downloading eBooks using an existing Calibre database. - documentation: https://github.com/janeczku/calibre-web diff --git a/public/v4/apps/call-only.yml b/public/v4/apps/call-only.yml deleted file mode 100644 index 742f24767..000000000 --- a/public/v4/apps/call-only.yml +++ /dev/null @@ -1,80 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - image: calcom/cal.com:$$cap_version - restart: always - environment: - NODE_ENV: production - NEXT_PUBLIC_WEBAPP_URL: http://$$cap_appname.$$cap_root_domain - NEXTAUTH_SECRET: $$cap_secret_key_base - CALENDSO_ENCRYPTION_KEY: $$cap_calendso_encryption_key - POSTGRES_USER: $$cap_postgres_user - POSTGRES_PASSWORD: $$cap_postgres_password - POSTGRES_DB: $$cap_postgres_db - DATABASE_HOST: $$cap_postgres_host - DATABASE_URL: postgresql://$$cap_postgres_user:$$cap_postgres_password@$$cap_postgres_host/$$cap_postgres_db - GOOGLE_API_CREDENTIALS: '{}' - EMAIL_FROM: $$cap_email_from - EMAIL_SERVER_HOST: $$cap_email_host - EMAIL_SERVER_PORT: $$cap_email_server_password - EMAIL_SERVER_USER: $$cap_email_server_user - EMAIL_SERVER_PASSWORD: $$cap_email_server_password - caproverExtra: - containerHttpPort: '3000' -caproverOneClickApp: - variables: - - id: $$cap_version - label: Cal.com Version - defaultValue: 'v2.5.4' - description: Check out their docker page for the valid tags https://hub.docker.com/r/calcom/cal.com/tags - validRegex: /^([^\s^\/])+$/ - - id: $$cap_secret_key_base - label: Secret Key Base - description: The randomized string which is used to verify the integrity of signed cookies. Use `openssl rand -base64 32` to generate a key - defaultValue: secret - - id: $$cap_calendso_encryption_key - label: Secret Key Base - description: Encryption key that will be used to encrypt CalDAV credentials, choose a random string, for example with `dd if=/dev/urandom bs=1K count=1 | md5sum` - defaultValue: secret - - id: $$cap_postgres_user - label: Postgres user - defaultValue: user - - id: $$cap_postgres_password - label: Postgres password - defaultValue: password - - id: $$cap_postgres_db - label: Postgres db - defaultValue: calendso - - id: $$cap_postgres_host - label: Postgres host - defaultValue: database:5432 - - id: $$cap_email_from - label: Emails from - defaultValue: notifications@example.com - - id: $$cap_email_host - label: Emails server host - defaultValue: smtp.example.com - - id: $$cap_email_port - label: Emails server port - defaultValue: '587' - - id: $$cap_email_server_user - label: Emails server user - defaultValue: email_user - - id: $$cap_email_server_password - label: Emails server password - defaultValue: email_password - instructions: - start: >- - The open-source Calendly alternative. - end: >- - Aaaand you're Cal.com is now successfully deployed! πŸ˜„ - - Please change the following settings before using the service: - 1. Go to the settings for `$$cap_appname` - 2. Enable **Websocket Support** - - Remember that this app will not create a Database by itself. You need to provide all that information. - displayName: 'Cal.com - No Database' - isOfficial: true - description: 'The open-source Calendly alternative.' - documentation: 'Read more at: https://github.com/calcom/cal.com' diff --git a/public/v4/apps/chadburn.yml b/public/v4/apps/chadburn.yml deleted file mode 100644 index a5a9b5744..000000000 --- a/public/v4/apps/chadburn.yml +++ /dev/null @@ -1,32 +0,0 @@ -captainVersion: 4 -version: 3.3 -services: - '$$cap_appname': - image: ghcr.io/premoweb/chadburn:$$cap_version - volumes: - - /var/run/docker.sock:/var/run/docker.sock - environment: - TZ: '$$cap_tz' - caproverExtra: - notExposeAsWebApp: 'true' -caproverOneClickApp: - variables: - - id: '$$cap_version' - label: Chadburn version - defaultValue: '1.0.1' - description: See https://github.com/PremoWeb/Chadburn/releases for a list of versions and changelog details. - validRegex: "/^([^\\s^\\/])+$/" - - id: '$$cap_tz' - label: Time Zone - defaultValue: America/Los_Angeles - description: Get yours from https://en.wikipedia.org/wiki/List_of_tz_database_time_zones - validRegex: '/.{1,}/' - instructions: - start: |- - Chadburn is a modern and low footprint job scheduler for docker environments, written in Go. Chadburn aims to be a replacement for the old fashioned cron. - end: |- - Chadburn has been successfully deployed! Please visit https://github.com/PremoWeb/Chadburn for more information on usage. - displayName: Chadburn - isOfficial: true - description: Chadburn is a modern and low footprint job scheduler for docker environments, built on Go. Chadburn is a suitable replacement for the old fashioned cron in Docker environments. - documentation: See https://github.com/Premoweb/Chadburn for official documentation and how it's used within Caprover. diff --git a/public/v4/apps/changedetection.yml b/public/v4/apps/changedetection.yml deleted file mode 100644 index abb856817..000000000 --- a/public/v4/apps/changedetection.yml +++ /dev/null @@ -1,30 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - image: dgtlmoon/changedetection.io:$$cap_version - environment: - BASE_URL: http://$$cap_appname.$$cap_root_domain - volumes: - - '$$cap_appname-data:/datastore' - caproverExtra: - containerHttpPort: '5000' -caproverOneClickApp: - variables: - - id: $$cap_version - label: ChangeDetection.io version - defaultValue: 0.40.2 - 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 0d05a62df..000000000 --- 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-botpress-bridge.yml b/public/v4/apps/chatwoot-botpress-bridge.yml deleted file mode 100644 index 3d8a1da3d..000000000 --- a/public/v4/apps/chatwoot-botpress-bridge.yml +++ /dev/null @@ -1,47 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - image: douglara/chatwoot-botpress-bridge:$$cap_version - restart: always - environment: - RAILS_ENV: production - CHATWOOT_ENDPOINT: $$cap_chatwoot_endpoint - CHATWOOT_BOT_TOKEN: $$cap_chatwoot_bot_token - BOTPRESS_ENDPOINT: $$cap_botpress_endpoint - BOTPRESS_BOT_ID: $$cap_botpress_bot_id - SECRET_KEY_BASE: $$cap_secret_key_base - caproverExtra: - containerHttpPort: '3000' -caproverOneClickApp: - variables: - - id: $$cap_version - label: Chatwoot Botpress Bridge Version - defaultValue: '1' - description: Check out their docker page for the valid tags https://hub.docker.com/r/douglara/chatwoot-botpress-bridge/tags - - id: $$cap_secret_key_base - label: Secret Key Base - description: The randomized string which is used to verify the integrity of signed cookies. Use `openssl rand -hex 64` to generate a key - validRegex: /.{1,}/ - - id: $$cap_chatwoot_endpoint - label: Chatwoot endpoint - description: 'Chawoot url example: https://app.chatwoot.com' - - id: $$cap_chatwoot_bot_token - label: Chatwoot Bot Token - description: 'To generate token follow instructions: https://github.com/douglara/chatwoot-botpress-bridge' - - id: $$cap_botpress_endpoint - label: Botpress endpoint - description: 'Botpress url example: https://app.botpress.com' - - id: $$cap_botpress_bot_id - label: Botpress Bot ID - description: 'ID for bot you have created in botpress' - instructions: - start: >- - Bridge to connect chatwoot and botpress. - end: >- - Aaaand you're Bridge is now successfully deployed! πŸ˜„ - - Get all instructions to use in https://github.com/douglara/chatwoot-botpress-bridge - displayName: 'Chatwoot Botpress Bridge' - isOfficial: false - description: 'Bridge to connect chatwoot and botpress.' - documentation: 'Read more at: https://github.com/douglara/chatwoot-botpress-bridge' diff --git a/public/v4/apps/chatwoot.yml b/public/v4/apps/chatwoot.yml deleted file mode 100644 index 5666a09d4..000000000 --- a/public/v4/apps/chatwoot.yml +++ /dev/null @@ -1,93 +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 - INSTALLATION_ENV: caprover - 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 - INSTALLATION_ENV: caprover - 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: v2.7.0 - - 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/checkmk.yml b/public/v4/apps/checkmk.yml deleted file mode 100644 index 51f1fb5fa..000000000 --- a/public/v4/apps/checkmk.yml +++ /dev/null @@ -1,30 +0,0 @@ -captainVersion: 4 -services: - '$$cap_appname': - image: checkmk/check-mk-raw:$$cap_version - volumes: - - '$$cap_appname-data:/omd/sites' - - /etc/localtime:/etc/localtime - ports: - - 8000:8000 - caproverExtra: - containerHttpPort: '5000' -caproverOneClickApp: - variables: - - id: '$$cap_version' - label: CheckMK Version - defaultValue: '2023.04.07' - description: Check out their Docker page for the valid tags https://hub.docker.com/r/checkmk/check-mk-raw/tags - validRegex: "/^([^\\s^\\/])+$/" - instructions: - start: |- - Checkmk is a leading IT monitoring software. Easy configuration, scalable, flexible. - Open source and enterprise. Ready to go in minutes. - More details: https://checkmk.com/ - end: |- - !!IMPORTEND!! Your username is 'cmkadmin' and your password is generated during the container initialization and is written in the logs. - CheckMK has been successfully deployed! - displayName: CheckMK RAW - isOfficial: true - description: Quickly gain a complete view of your IT infrastructure, no matter how complex. Checkmk provides powerful monitoring of networks, servers, clouds, containers and applications. Fast. Effective. - documentation: See https://docs.checkmk.com/latest/ diff --git a/public/v4/apps/chevereto.yml b/public/v4/apps/chevereto.yml deleted file mode 100644 index 9c9355034..000000000 --- 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/cloudflareddns.yml b/public/v4/apps/cloudflareddns.yml deleted file mode 100644 index d7aa47afa..000000000 --- a/public/v4/apps/cloudflareddns.yml +++ /dev/null @@ -1,93 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - image: oznu/cloudflare-ddns:latest - environment: - API_KEY: $$cap_api_key - ZONE: $$cap_zone - SUBDOMAIN: $$cap_subdomain - PROXIED: $$cap_proxied - RRTYPE: $$cap_rrtype - DNS_SERVER: $$cap_dns_server - CRON: $$cap_cron - caproverExtra: - notExposeAsWebApp: 'true' -caproverOneClickApp: - variables: - - id: $$cap_api_key - label: Cloudflare API token - defaultValue: '' - description: Your CloudFlare scoped API token. See the Creating a Cloudflare API token upward. - validRegex: /.{1,}/ - - id: $$cap_zone - label: DNS zone - defaultValue: $$cap_root_domain - description: The DNS zone that DDNS updates should be applied to. Defaults to your CapRover root domain. - validRegex: /.{1,}/ - - id: $$cap_subdomain - label: Zone's subdomain - defaultValue: '*' - description: A subdomain of the ZONE to write DNS changes to. If this is not supplied the root zone will be used. Defaults to your CapRover apps subdomains. - - id: $$cap_proxied - label: Proxied? - defaultValue: 'false' - description: If you are using free ClourFlare tier, leave as false. Set to true to make traffic go through the CloudFlare CDN. - validRegex: /.{1,}/ - - id: $$cap_rrtype - label: Resource record type - defaultValue: 'A' - description: Set to AAAA to use set IPv6 records instead of IPv4 records. Defaults to A for IPv4 records. - validRegex: /.{1,}/ - - id: $$cap_dns_server - label: DNS server - defaultValue: '1.1.1.1' - description: Set to the IP address of the DNS server you would like to use. Defaults to 1.1.1.1 (CloudFlare DNS) otherwise. - validRegex: /.{1,}/ - - id: $$cap_cron - label: Cron - defaultValue: '*/5 * * * *' - description: Sets how often your container checks for IP changes. Defaults to every 5 minutes. You can read more about CRON configuration here https://en.wikipedia.org/wiki/Cron - validRegex: /.{1,}/ - instructions: - start: >- - This small Alpine Linux based Docker image will allow you to use the free CloudFlare DNS Service as a Dynamic DNS Provider (DDNS). - - Default values are tuned to work with CapRover. - - - - To create a CloudFlare API token for your DNS zone go to https://dash.cloudflare.com/profile/api-tokens and follow these steps: - - - - 1 - Click Create Token - - - - 2 - Provide the token a name, for example, cloudflare-ddns - - - - 3 - Grant the token the following permissions: - - Zone - Zone Settings - Read - - Zone - Zone - Read - - Zone - DNS - Edit - - - - 4 - Set the zone resources to: - - Include - All zones - - - - 5 - Complete the wizard and copy the generated token into the Cloudflare API token field - end: >- - Cloudflare DDNS has been successfully deployed. - displayName: CloudFlare DDNS - isOfficial: false - description: This small image will allow you to use the free CloudFlare DNS Service as a Dynamic DNS Provider (DDNS). - documentation: Taken from https://github.com/oznu/docker-cloudflare-ddns diff --git a/public/v4/apps/cockpit.yml b/public/v4/apps/cockpit.yml deleted file mode 100644 index c3226bc3a..000000000 --- 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 f88dd7660..000000000 --- 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 42d247da4..000000000 --- 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 66fee8673..000000000 --- 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 426bb5a9d..000000000 --- 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/corteza.yml b/public/v4/apps/corteza.yml deleted file mode 100644 index 1d20a3a7e..000000000 --- a/public/v4/apps/corteza.yml +++ /dev/null @@ -1,72 +0,0 @@ -captainVersion: 4 - -services: - $$cap_appname: - image: cortezaproject/corteza:$$corteza_version - restart: always - depends_on: - - $$cap_appname-db - volumes: - - $$cap_appname-data:/data - environment: - VIRTUAL_HOST: $$cap_appname.$$cap_root_domain - DB_DSN: postgres://$$cap_postgre_username:$$cap_postgre_password@srv-captain--$$cap_appname-db:5432/$$cap_postgre_db_name?sslmode=disable - HTTP_WEBAPP_ENABLED: true - DOMAIN: $$cap_appname.$$cap_root_domain - VERSION: $$corteza_version - LETSENCRYPT_HOST: $$cap_lets_encrypt - $$cap_appname-db: - image: postgres:13 - restart: always - caproverExtra: - notExposeAsWebApp: 'true' - volumes: - - $$cap_appname-postgres-data:/var/lib/postgresql/data - environment: - POSTGRES_USER: $$cap_postgre_username - POSTGRES_PASSWORD: $$cap_postgre_password - POSTGRES_DB: $$cap_postgre_db_name - -caproverOneClickApp: - variables: - - id: '$$corteza_version' - label: Corteza Version - defaultValue: '2021.9.5' - description: Check out their Docker page for the valid tags https://hub.docker.com/r/cortezaproject/corteza/tags - validRegex: /^([^\s^\/])+$/ - - id: $$cap_postgre_db_name - label: PostgreSQL Database name - description: '' - defaultValue: 'corteza' - validRegex: /.{1,}/ - - id: $$cap_postgre_username - label: PostgreSQL username - defaultValue: 'cortezaUser' - description: '' - validRegex: /.{1,}/ - - id: $$cap_postgre_password - label: PostgreSQL Password - description: '' - defaultValue: $$cap_gen_random_hex(16) - validRegex: /.{1,}/ - - id: $$cap_lets_encrypt - defaultValue: $$cap_appname.$$cap_root_domain - label: Lets Encrypt Host for SSL. - description: 'Set your root domain if you are going to use SSL (https://). Leave empty otherwise.' - - instructions: - start: |- - Corteza is an open-source, self-hosted cloud-based platform for your work. It provides a wide ecosystem of a Unified Workspace (like Google G Suite), Enterprise Messaging (like Slack), a Low-Code environment for rapidly and securely delivering records-based management solutions, and CRM and Service Solution (like Salesforce). - For more info visit https://cortezaproject.org/ - - end: |- - Corteza has been successfully deployed! - -------------------------------------------- - Before you proceed, please enable Websocket Support - https://captain.$$cap_root_domain/#/apps/details/$$cap_appname - -------------------------------------------- - App is available as http://$$cap_appname.$$cap_root_domain - displayName: Corteza - isOfficial: true - description: Corteza is a free, open-source, Low Code platform for building your organisation key applications, growing its productivity and protecting its data and the privacy of all those concerned. - documentation: This docker-compose is taken https://github.com/cortezaproject diff --git a/public/v4/apps/couchbase.yml b/public/v4/apps/couchbase.yml deleted file mode 100644 index 40ed4fb90..000000000 --- a/public/v4/apps/couchbase.yml +++ /dev/null @@ -1,29 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname-db: - image: couchbase:$$cap_cb_version - volumes: - - $$cap_appname-data:/opt/couchbase/var - restart: always - caproverExtra: - containerHttpPort: '8091' -caproverOneClickApp: - variables: - - id: $$cap_cb_version - label: CouchBase Version - defaultValue: 'community-6.6.0' - description: Check out their Docker page for the valid tags https://registry.hub.docker.com/_/couchbase?tab=tags - validRegex: /^([^\s^\/])+$/ - instructions: - start: |- - Couchbase Server, originally known as Membase, is an open-source, distributed multi-model NoSQL document-oriented database software package optimized for interactive applications. - After installation on CapRover, it will be available as srv-captain--YOUR_CONTAINER_NAME. - end: |- - Wait for few minutes to completly finish the deployment. - Visit http://$$cap_appname.$$cap_root_domain on the host machine to see the Web Console to start Couchbase Server setup. - DB will be internally available as srv-captain--$$cap_appname in ports 8091,8092,8093,8094,11210. - If you want this app available externally, map these ports on Caprover App-Config settings and allow on firewall. - displayName: CouchBase - isOfficial: true - description: Couchbase is an open-source, distributed multi-model NoSQL document-oriented database software - documentation: Taken from https://registry.hub.docker.com/_/couchbase diff --git a/public/v4/apps/couchdb-clouseau.yml b/public/v4/apps/couchdb-clouseau.yml deleted file mode 100644 index 34af1dd23..000000000 --- a/public/v4/apps/couchdb-clouseau.yml +++ /dev/null @@ -1,38 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - image: ibmcom/couchdb3:$$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: '3.2.1' - 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 + Clouseau - isOfficial: true - description: CouchDB + Clouseau (Full Text Search) - IBM CouchDB 3 official image - documentation: Taken from https://hub.docker.com/r/ibmcom/couchdb3/ diff --git a/public/v4/apps/couchdb.yml b/public/v4/apps/couchdb.yml deleted file mode 100644 index 60b999782..000000000 --- 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 33925687c..000000000 --- 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: 'Countly' - 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/crater.yml b/public/v4/apps/crater.yml deleted file mode 100644 index fc425f443..000000000 --- a/public/v4/apps/crater.yml +++ /dev/null @@ -1,360 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - caproverExtra: - dockerfileLines: - - ARG CRATER_PHP_VERSION - - FROM shinsenter/crater:php$CRATER_PHP_VERSION - - ARG TZ - - ARG PUID - - ARG PGID - - ARG CRATER_AUTO_OPTIMIZE - - ARG CRATER_LINK_STORAGE - - ARG CRATER_AUTO_MIGRATION - - ARG CRATER_QUEUE_ENABLED - - ARG CRATER_QUEUE_OPTIONS - - ARG CRATER_SCHEDULE_ENABLED - - ARG CRATER_SCHEDULE_OPTIONS - - ARG APP_ENV - - ARG APP_KEY - - ARG APP_DEBUG - - ARG APP_LOG_LEVEL - - ARG APP_URL - - ARG DB_CONNECTION - - ARG DB_HOST - - ARG DB_PORT - - ARG DB_DATABASE - - ARG DB_USERNAME - - ARG DB_PASSWORD - - ARG BROADCAST_DRIVER - - ARG CACHE_DRIVER - - ARG QUEUE_DRIVER - - ARG SESSION_DRIVER - - ARG SESSION_LIFETIME - - ARG REDIS_HOST - - ARG REDIS_PORT - - ARG MAIL_DRIVER - - ARG MAIL_HOST - - ARG MAIL_PORT - - ARG MAIL_USERNAME - - ARG MAIL_PASSWORD - - ARG MAIL_ENCRYPTION - - ARG MAIL_FROM_ADDRESS - - ARG MAIL_FROM_NAME - - ARG PUSHER_APP_ID - - ARG PUSHER_KEY - - ARG PUSHER_SECRET - - ARG SANCTUM_STATEFUL_DOMAINS - - ARG SESSION_DOMAIN - - ARG TRUSTED_PROXIES - - ARG CRON_JOB_AUTH_TOKEN - - ARG PROJECT_DIRECTORY=/var/www/html - - ARG STARTUP_COMMANDS_FILE=/startup/500-init-crater - - ARG ENVIRONMENT_FILE=$PROJECT_DIRECTORY/.env - - >- - ARG ENVIRONMENT_VARIABLE_NAMES="APP_ENV APP_KEY APP_DEBUG - APP_LOG_LEVEL APP_URL DB_CONNECTION DB_HOST DB_PORT - DB_DATABASE DB_USERNAME DB_PASSWORD BROADCAST_DRIVER - CACHE_DRIVER QUEUE_DRIVER SESSION_DRIVER SESSION_LIFETIME - REDIS_HOST REDIS_PORT MAIL_DRIVER MAIL_HOST MAIL_PORT - MAIL_USERNAME MAIL_PASSWORD MAIL_ENCRYPTION MAIL_FROM_ADDRESS - MAIL_FROM_NAME PUSHER_APP_ID PUSHER_KEY PUSHER_SECRET - SANCTUM_STATEFUL_DOMAINS SESSION_DOMAIN TRUSTED_PROXIES - CRON_JOB_AUTH_TOKEN" - - ARG COMMAND_CLEAN_ENVIRONMENT_FILE="> $ENVIRONMENT_FILE" - - ARG COMMAND_ADD_TO_ENVIRONMENT_FILE="for name in $ENVIRONMENT_VARIABLE_NAMES; do printf \"\$name=\${!name}\\\n\" >> $ENVIRONMENT_FILE; done" - - ARG COMMAND_NOTIFY="echo; echo 'Created environment file'" - - ENV TZ=$TZ - - ENV PUID=$PUID - - ENV PGID=$PGID - - ENV CRATER_AUTO_OPTIMIZE=$CRATER_AUTO_OPTIMIZE - - ENV CRATER_LINK_STORAGE=$CRATER_LINK_STORAGE - - ENV CRATER_AUTO_MIGRATION=$CRATER_AUTO_MIGRATION - - ENV CRATER_QUEUE_ENABLED=$CRATER_QUEUE_ENABLED - - ENV CRATER_QUEUE_OPTIONS=$CRATER_QUEUE_OPTIONS - - ENV CRATER_SCHEDULE_ENABLED=$CRATER_SCHEDULE_ENABLED - - ENV CRATER_SCHEDULE_OPTIONS=$CRATER_SCHEDULE_OPTIONS - - ENV WEBHOME=$PROJECT_DIRECTORY - - RUN printf "\n$COMMAND_CLEAN_ENVIRONMENT_FILE\n$COMMAND_ADD_TO_ENVIRONMENT_FILE\n$COMMAND_NOTIFY" >> $STARTUP_COMMANDS_FILE - environment: - CRATER_PHP_VERSION: $$cap_PHP_VERSION - TZ: $$cap_TZ - PUID: $$cap_PUID - PGID: $$cap_PGID - CRATER_AUTO_OPTIMIZE: $$cap_CRATER_AUTO_OPTIMIZE - CRATER_LINK_STORAGE: $$cap_CRATER_LINK_STORAGE - CRATER_AUTO_MIGRATION: $$cap_CRATER_AUTO_MIGRATION - CRATER_QUEUE_ENABLED: $$cap_CRATER_QUEUE_ENABLED - CRATER_QUEUE_OPTIONS: $$cap_CRATER_QUEUE_OPTIONS - CRATER_SCHEDULE_ENABLED: $$cap_CRATER_SCHEDULE_ENABLED - CRATER_SCHEDULE_OPTIONS: $$cap_CRATER_SCHEDULE_OPTIONS - APP_ENV: $$cap_APP_ENV - APP_KEY: $$cap_APP_KEY - APP_DEBUG: $$cap_APP_DEBUG - APP_LOG_LEVEL: $$cap_APP_LOG_LEVEL - APP_URL: $$cap_APP_URL - DB_CONNECTION: $$cap_DB_CONNECTION - DB_HOST: srv-captain--$$cap_appname-db - DB_PORT: $$cap_DB_PORT - DB_DATABASE: $$cap_DB_DATABASE - DB_USERNAME: $$cap_DB_USERNAME - DB_PASSWORD: $$cap_DB_PASSWORD - BROADCAST_DRIVER: $$cap_BROADCAST_DRIVER - CACHE_DRIVER: $$cap_CACHE_DRIVER - QUEUE_DRIVER: $$cap_QUEUE_DRIVER - SESSION_DRIVER: $$cap_SESSION_DRIVER - SESSION_LIFETIME: $$cap_SESSION_LIFETIME - REDIS_HOST: srv-captain--$$cap_appname-queue - REDIS_PORT: $$cap_REDIS_PORT - MAIL_DRIVER: $$cap_MAIL_DRIVER - MAIL_HOST: $$cap_MAIL_HOST - MAIL_PORT: $$cap_MAIL_PORT - MAIL_USERNAME: $$cap_MAIL_USERNAME - MAIL_PASSWORD: $$cap_MAIL_PASSWORD - MAIL_ENCRYPTION: $$cap_MAIL_ENCRYPTION - MAIL_FROM_ADDRESS: $$cap_MAIL_FROM_ADDRESS - MAIL_FROM_NAME: $$cap_MAIL_FROM_NAME - PUSHER_APP_ID: $$cap_PUSHER_APP_ID - PUSHER_KEY: $$cap_PUSHER_KEY - PUSHER_SECRET: $$cap_PUSHER_SECRET - SANCTUM_STATEFUL_DOMAINS: $$cap_appname.$$cap_root_domain - SESSION_DOMAIN: $$cap_appname.$$cap_root_domain - TRUSTED_PROXIES: $$cap_TRUSTED_PROXIES - CRON_JOB_AUTH_TOKEN: $$cap_CRON_JOB_AUTH_TOKEN - volumes: - - $$cap_appname-web:/var/www/html - $$cap_appname-db: - caproverExtra: - notExposeAsWebApp: 'true' - image: mysql:$$cap_MYSQL_VERSION - environment: - TZ: $$cap_TZ - MYSQL_USER: $$cap_DB_USERNAME - MYSQL_PASSWORD: $$cap_DB_PASSWORD - MYSQL_DATABASE: $$cap_DB_DATABASE - MYSQL_ROOT_PASSWORD: $$cap_DB_ROOT_PASSWORD - volumes: - - $$cap_appname-db-data:/var/lib/mysql - - $$cap_appname-db-dump:/docker-entrypoint-initdb.d - $$cap_appname-queue: - caproverExtra: - notExposeAsWebApp: 'true' - image: redis:$$cap_REDIS_VERSION - volumes: - - $$cap_appname-queue:/data -caproverOneClickApp: - instructions: - start: |- - Crater is an open-source web & mobile app that helps you track expenses, payments & create professional invoices & estimates. - Please note that this is **NOT** the official image. - We are using the image provided by Shinsenter: https://hub.docker.com/r/shinsenter/crater - Please make sure you enter `APP_URL` and `APP_KEY` before proceeding. - end: |- - Crater has been successfully deployed! It might take few moments before it's fully started. - You can access it at `http://$$cap_appname.$$cap_root_domain` - It will show the installation wizard. - Please enter the following details: - - Database Host: `srv-captain--$$cap_appname-db` - - Database Name: `$$cap_DB_DATABASE` - - Database Username: `$$cap_DB_USERNAME` - - Database Password: `$$cap_DB_PASSWORD` - displayName: Crater - isOfficial: false - description: Open Source Invoicing Solution for Individuals & Businesses - documentation: See https://docs.craterapp.com/developer-guide.html - variables: - - id: $$cap_PHP_VERSION - label: PHP Image Version Tag - description: Without "php" prefix. Check out their valid tags at https://hub.docker.com/r/shinsenter/crater/tags - defaultValue: '8.1' - validRegex: /.{1,}/ - - id: $$cap_MYSQL_VERSION - label: MySQL Image Version Tag - description: Check out their valid tags at https://hub.docker.com/_/mysql/tags - defaultValue: '8.0.30' - validRegex: /.{1,}/ - - id: $$cap_REDIS_VERSION - label: Redis Image Version Tag - description: Check out their valid tags at https://hub.docker.com/_/redis/tags - defaultValue: '7.0.5' - validRegex: /.{1,}/ - - id: $$cap_TZ - label: Timezone - description: Timezone for the application, find yours at https://en.wikipedia.org/wiki/List_of_tz_database_time_zones - defaultValue: UTC - validRegex: /.{1,}/ - - id: $$cap_PUID - label: User ID - defaultValue: '1000' - description: User ID that the process uses, run (id $user) on your instance to see the ID - validRegex: /.{1,}/ - - id: $$cap_PGID - label: Group ID - defaultValue: '1000' - description: Group ID that the process uses, run (id $user) on your instance to see the ID - validRegex: /.{1,}/ - - id: $$cap_CRATER_AUTO_OPTIMIZE - label: Automatic Optimizations - defaultValue: 'false' - description: Optimization and caching of all configs, views and routes. - validRegex: /^(true|false)$/ - - id: $$cap_CRATER_LINK_STORAGE - label: Link Storage - defaultValue: 'false' - description: Symlinks to the storage folder. - validRegex: /^(true|false)$/ - - id: $$cap_CRATER_AUTO_MIGRATION - label: Automatic Migrations - defaultValue: 'false' - description: Run Crater migrations for development purposes. - validRegex: /^(true|false)$/ - - id: $$cap_CRATER_QUEUE_ENABLED - label: Enable Queue Worker - defaultValue: 'true' - description: Start queue worker when the container is up. - validRegex: /^(true|false)$/ - - id: $$cap_CRATER_QUEUE_OPTIONS - label: Queue Worker Options - description: Extra arguments for queue worker. - - id: $$cap_CRATER_SCHEDULE_ENABLED - label: Enable Schedule Worker - defaultValue: 'true' - description: Start schedule worker when container is up. - validRegex: /^(true|false)$/ - - id: $$cap_CRATER_SCHEDULE_OPTIONS - label: Schedule Worker Options - description: Extra arguments for schedule worker. - - id: $$cap_APP_ENV - label: Environment - defaultValue: production - description: Application environment. - validRegex: /^(production|development)$/ - - id: $$cap_APP_KEY - label: Key - description: |- - Base64 encoded application key for encryption. - Run `openssl rand -base64 32` in the terminal to generate a key. - Prepend `base64:` and paste it here. - Example: `base64:cUNxR6ZmeVIj2zd7Q9z0OmHy+DpDB8wv+15OA9AVHKY=` - validRegex: /.{1,}/ - - id: $$cap_APP_DEBUG - label: Debugging Mode - defaultValue: 'false' - description: Whether debugging information should be shown. - validRegex: /^(true|false)$/ - - id: $$cap_APP_LOG_LEVEL - label: Log Level - defaultValue: error - description: Level of information shown in the logging console. - validRegex: /.{1,}/ - - id: $$cap_APP_URL - label: Application URL - description: URL of user-facing service. (e.g. http://crater.example.com) - validRegex: /.{1,}/ - - id: $$cap_DB_CONNECTION - label: Database Type - description: Type of database (e.g. mysql, sqlite, pgsql) - defaultValue: mysql - validRegex: /.{1,}/ - - id: $$cap_DB_PORT - label: Database Port - description: Port of database host. - defaultValue: 3306 - validRegex: /.{1,}/ - - id: $$cap_DB_DATABASE - label: Database Name - description: Name of database. - defaultValue: crater - validRegex: /.{1,}/ - - id: $$cap_DB_USERNAME - label: Database User Name - description: Name of database user. - defaultValue: crater - validRegex: /.{1,}/ - - id: $$cap_DB_PASSWORD - label: Database User Password - description: Password of database user. - defaultValue: $$cap_gen_random_hex(16) - validRegex: /.{1,}/ - - id: $$cap_DB_ROOT_PASSWORD - label: Database Root User Password - description: Password of database root user. - defaultValue: $$cap_gen_random_hex(16) - validRegex: /.{1,}/ - - id: $$cap_BROADCAST_DRIVER - label: Broadcast Driver - description: Driver for broadcasting. - defaultValue: log - validRegex: /.{1,}/ - - id: $$cap_CACHE_DRIVER - label: Cache Driver - description: Driver for caching. - defaultValue: file - validRegex: /.{1,}/ - - id: $$cap_QUEUE_DRIVER - label: Queue Driver - description: Driver for queue. - defaultValue: sync - validRegex: /.{1,}/ - - id: $$cap_SESSION_DRIVER - label: Session Driver - description: Driver for sessions. - defaultValue: cookie - validRegex: /.{1,}/ - - id: $$cap_SESSION_LIFETIME - label: Session Lifetime - description: Duration of a valid session in minutes. - defaultValue: 1440 - validRegex: /.{1,}/ - - id: $$cap_REDIS_PORT - label: Redis Port - description: Port of Redis host. - defaultValue: 6379 - validRegex: /.{1,}/ - - id: $$cap_MAIL_DRIVER - label: Mail Driver - description: Driver for email delivery. - defaultValue: smtp - validRegex: /.{1,}/ - - id: $$cap_MAIL_HOST - label: Mail Host - description: Host of mail server. - - id: $$cap_MAIL_PORT - label: Mail Port - description: Port of mail server. - - id: $$cap_MAIL_USERNAME - label: Mail User Name - description: Name of mail server user. - - id: $$cap_MAIL_PASSWORD - label: Mail User Password - description: Password of mail server user. - - id: $$cap_MAIL_ENCRYPTION - label: Mail Server Encryption - description: Mail server's encryption type (e.g. ssl or tls). - - id: $$cap_MAIL_FROM_ADDRESS - label: Mail From Address - description: Sender mail address for system mails. - defaultValue: admin@crater.in - validRegex: /.{1,}/ - - id: $$cap_MAIL_FROM_NAME - label: Mail From Name - description: Sender name for system mails. - defaultValue: Crater - validRegex: /.{1,}/ - - id: $$cap_PUSHER_APP_ID - label: Pusher Application ID - description: If using Pusher, insert application ID here. - - id: $$cap_PUSHER_KEY - label: Pusher Key - description: If using Pusher, insert key here. - - id: $$cap_PUSHER_SECRET - label: Pusher Secret - description: If using Pusher, insert secret here. - - id: $$cap_TRUSTED_PROXIES - label: Trusted Proxies - description: Restrict proxy access. - defaultValue: '*' - validRegex: /.{1,}/ - - id: $$cap_CRON_JOB_AUTH_TOKEN - label: Cronjob Authentication Token - description: Authentication token for cronjob executions. diff --git a/public/v4/apps/cronicle.yml b/public/v4/apps/cronicle.yml deleted file mode 100644 index f242c1dd7..000000000 --- a/public/v4/apps/cronicle.yml +++ /dev/null @@ -1,41 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - image: soulteary/cronicle:$$cap_version - restart: always - volumes: - - /etc/localtime:/etc/localtime - - /etc/timezone:/etc/timezone - - $$cap_appname:/opt/cronicle/data - - $$cap_appname-plugins:/opt/cronicle/plugins - environment: - - TZ=$$cap_timezone - logging: - driver: 'json-file' - options: - max-size: '10m' - caproverExtra: - containerHttpPort: '3012' -caproverOneClickApp: - variables: - - id: $$cap_version - label: Cronicle Version - defaultValue: '0.9.17' - description: Check out their docker page for the valid tags https://hub.docker.com/r/soulteary/cronicle/tags - validRegex: /^([^\s^\/])+$/ - - id: $$cap_timezone - label: Timezone - defaultValue: 'Etc/UTC' - description: 'Check out all the available timezones here https://en.wikipedia.org/wiki/List_of_tz_database_time_zones' - instructions: - start: >- - A simple, distributed task scheduler and runner with a web based UI. - end: >- - Aaaand you're done! πŸ˜„ - Your service is available at http://$$cap_appname.$$cap_root_domain. - **IMPORTANT: Make sure to enable websocket support in the HTTP settings**. - **Credentials**: `admin`/`admin` - displayName: 'Cronicle' - isOfficial: false - description: A simple, distributed task scheduler and runner with a web based UI. - documentation: Taken from https://github.com/jhuckaby/Cronicle and https://github.com/soulteary/docker-cronicle diff --git a/public/v4/apps/davos.yml b/public/v4/apps/davos.yml deleted file mode 100644 index 9ace5d2bb..000000000 --- a/public/v4/apps/davos.yml +++ /dev/null @@ -1,35 +0,0 @@ -captainVersion: 4 -caproverOneClickApp: - displayName: Davos - description: 'Davos is an FTP automation tool that periodically scans given host locations for new files.' - documentation: 'https://github.com/linuxserver/davos' - instructions: - end: 'Your service is available at http://$$cap_appname.$$cap_root_domain' - start: 'davos is an FTP download automation tool that allows you to scan various FTP servers for files you are interested in.' - isOfficial: true - variables: - - defaultValue: 2.2.1 - id: $$cap_davos_version - label: Davos Version - validRegex: /^([^\s^\/])+$/ - - defaultValue: '1000' - id: $$cap_davos_puid - label: Puid - validRegex: /^([^\s^\/])+$/ - - defaultValue: '1000' - id: $$cap_davos_pgid - label: Pgid - validRegex: /^([^\s^\/])+$/ -services: - $$cap_appname-davos: - caproverExtra: - containerHttpPort: '8080' - container_name: davos - environment: - PGID: $$cap_davos_pgid - PUID: $$cap_davos_puid - image: lscr.io/linuxserver/davos:$$cap_davos_version - restart: unless-stopped - volumes: - - $$cap_appname-config:/config - - $$cap_appname-download:/download diff --git a/public/v4/apps/directus-mysql-redis.yml b/public/v4/apps/directus-mysql-redis.yml deleted file mode 100644 index df49ea5c6..000000000 --- a/public/v4/apps/directus-mysql-redis.yml +++ /dev/null @@ -1,146 +0,0 @@ -captainVersion: 4 - -services: - # MySQL - $$cap_appname-mysql: - image: mysql:$$cap_mysql_tag - volumes: - - $$cap_appname-data:/var/lib/mysql - environment: - MYSQL_ROOT_PASSWORD: $$cap_mysql_root_password - MYSQL_USER: $$cap_mysql_user - MYSQL_PASSWORD: $$cap_mysql_password - MYSQL_DATABASE: $$cap_mysql_database_name - caproverExtra: - notExposeAsWebApp: 'true' - - # Redis - $$cap_appname-redis: - image: redis:$$cap_redis_tag - caproverExtra: - notExposeAsWebApp: 'true' - - # Directus - $$cap_appname: - depends_on: - - $$cap_appname-mysql - - $$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 - PUBLIC_URL: https://$$cap_appname.$$cap_root_domain - DB_CLIENT: 'mysql' - DB_HOST: srv-captain--$$cap_appname-mysql - DB_PORT: '3306' - DB_DATABASE: $$cap_mysql_database_name - DB_USER: $$cap_mysql_user - DB_PASSWORD: $$cap_mysql_password - CACHE_ENABLED: 'true' - CACHE_STORE: 'redis' - CACHE_REDIS: redis://srv-captain--$$cap_appname-redis:6379 - CACHE_AUTO_PURGE: $$cap_redis_auto_purge - CACHE_TTL: $$cap_redis_ttl - ADMIN_EMAIL: $$cap_admin_email - ADMIN_PASSWORD: $$cap_admin_password - TELEMETRY: 'false' - caproverExtra: - containerHttpPort: '8055' - -caproverOneClickApp: - variables: - - label: Directus image tag - id: $$cap_directus_tag - defaultValue: '9.22.1' - validRegex: /.{1,}/ - description: Tag of Directus image on https://hub.docker.com/r/directus/directus/tags - - - label: Directus Auth Secret Key - id: $$cap_directus_auth_secret_key - defaultValue: $$cap_gen_random_hex(22) - validRegex: /^(?=.*\d).{10,}$/ - description: Directus Auth Secret Key (must not be the same as Directus Auth Public Key) - - - label: Directus Auth Public Key - id: $$cap_directus_auth_public_key - defaultValue: $$cap_gen_random_hex(22) - validRegex: /^(?=.*\d).{10,}$/ - description: Directus Auth Public Key (must not be the same as Directus Auth Secret Key) - - - label: Directus admin user email - id: $$cap_admin_email - defaultValue: admin@example.com - validRegex: /.{1,}/ - description: Directus admin user email - - - label: Directus admin user password - id: $$cap_admin_password - defaultValue: $$cap_gen_random_hex(22) - validRegex: /^(?=.*\d).{8,}$/ - description: Directus admin user password - - - label: MySQL image tag - id: $$cap_mysql_tag - defaultValue: '5.7' - validRegex: /.{1,}/ - description: 'Tag of MySQL image on https://hub.docker.com/_/mysql/tags. NOTE: Not working with MySQL version 8 or higher!' - - - label: MySQL root password - id: $$cap_mysql_root_password - defaultValue: $$cap_gen_random_hex(22) - validRegex: /^(?=.*\d).{10,}$/ - description: Root password for the MySQL database instance. - - - label: MySQL database name - id: $$cap_mysql_database_name - defaultValue: directus - validRegex: /.{1,}/ - description: Name of the Directus database instance. - - - label: MySQL user name - id: $$cap_mysql_user - defaultValue: directus - validRegex: /.{1,}/ - description: User for the Directus database instance. - - - label: MySQL user password - id: $$cap_mysql_password - defaultValue: $$cap_gen_random_hex(22) - validRegex: /^(?=.*\d).{10,}$/ - description: User password for the Directus database instance. - - - label: Redis image tag - id: $$cap_redis_tag - defaultValue: '7.0-alpine' - validRegex: /.{1,}/ - description: Tag of redis image on https://hub.docker.com/_/redis/tags - - - label: Redis CACHE_AUTO_PURGE (true or false) - id: $$cap_redis_auto_purge - defaultValue: 'true' - validRegex: /.{1,}/ - description: Automatically purge the data cache on create, update, and delete actions. (https://docs.directus.io/self-hosted/config-options.html#cache) - - - label: Redis CACHE_TTL - id: $$cap_redis_ttl - defaultValue: '1d' - validRegex: /.{1,}/ - description: How long the data cache is persisted. (https://docs.directus.io/self-hosted/config-options.html#cache) - - instructions: - end: > - Your service is available at http://$$cap_appname.$$cap_root_domain after a few minutes. You should enable HTTPS. If you won’t enable HTTPS adjust the PUBLIC_URL (environmental variable) in your App Configs. - start: >- - Directus is an open-source headless CMS and an Open Data Platform built to democratize the database. It provides a dynamic API and intuitive Admin Panel App. For more information and available options, see https://github.com/directus or the official documentation at https://docs.directus.io - - displayName: 'Directus + MySQL + Redis' - - isOfficial: true - - description: Directus is an open-source headless CMS and an Open Data Platform built to democratize the database. It provides a dynamic API and intuitive Admin Panel App. - - documentation: Taken from https://docs.directus.io/self-hosted/docker-guide.html. diff --git a/public/v4/apps/directus.yml b/public/v4/apps/directus.yml deleted file mode 100644 index 661f44579..000000000 --- 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 093c8c93e..000000000 --- a/public/v4/apps/discourse.yml +++ /dev/null @@ -1,153 +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: - POSTGRESQL_DATABASE: $$cap_db_name - POSTGRESQL_USERNAME: $$cap_db_user - POSTGRESQL_PASSWORD: $$cap_db_pass - POSTGRESQL_POSTGRES_PASSWORD: $$cap_db_pass - 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 - POSTGRESQL_CLIENT_POSTGRES_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 ["/opt/bitnami/scripts/discourse-sidekiq/run.sh"] - notExposeAsWebApp: 'true' -caproverOneClickApp: - variables: - - id: $$cap_discourse_version - label: Discourse Version - defaultValue: 2.8.11 - description: Version of Discourse - validRegex: /^([^\s^\/])+$/ - - id: $$cap_postgresql_version - label: Postgresql (database) version - defaultValue: 15.1.0 - 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 c35622a15..000000000 --- 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 f116d2e1a..000000000 --- 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/upshift/dolibarr/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/dozzle.yml b/public/v4/apps/dozzle.yml deleted file mode 100644 index 4de2276dc..000000000 --- a/public/v4/apps/dozzle.yml +++ /dev/null @@ -1,36 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - image: amir20/dozzle:$$cap_version - volumes: - - /var/run/docker.sock:/var/run/docker.sock - environment: - DOZZLE_USERNAME: $$cap_username - DOZZLE_PASSWORD: $$cap_password - DOZZLE_KEY: $$cap_gen_random_hex(16) - caproverExtra: - containerHttpPort: '8080' -caproverOneClickApp: - variables: - - id: $$cap_version - label: Version Tag - description: Check out their Docker page for the valid tags https://hub.docker.com/r/amir20/dozzle/tags?page=1&ordering=last_updated - defaultValue: 'v3.7.1' - - id: $$cap_username - label: Username - defaultValue: 'admin' - - id: $$cap_password - label: Password - defaultValue: $$cap_gen_random_hex(16) - instructions: - start: |- - Dozzle is a small lightweight application with a web based interface to monitor Docker logs. It doesn’t store any log files. It is for live monitoring of your container logs only. - Dozzle should work for most. It has been tested with hundreds of containers. However, it doesn't support offline searching. Products like Loggly, Papertrail or Kibana are more suited for full search capabilities. - - More details: https://github.com/amir20/dozzle - - end: Make sure to enable HTTPS before accessing this app! Dozzle is deployed and available as $$cap_appname. - displayName: Dozzle - isOfficial: true - description: Dozzle is a small lightweight application with a web based interface to monitor Docker logs. It doesn’t store any log files. It is for live monitoring of your container logs only. - documentation: Taken from https://github.com/amir20/dozzle diff --git a/public/v4/apps/drone-gitea.yml b/public/v4/apps/drone-gitea.yml deleted file mode 100644 index a534c2202..000000000 --- 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 4bbfb44a0..000000000 --- a/public/v4/apps/droppy.yml +++ /dev/null @@ -1,25 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - image: ghcr.io/droppyjs/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://github.com/orgs/droppyjs/packages/container/package/droppy - defaultValue: v0.0.6 - 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: 'droppy' - description: droppy is a self-hosted file storage server with a web interface - documentation: Read the documentation @ https://github.com/droppyjs/droppy diff --git a/public/v4/apps/duplicati.yml b/public/v4/apps/duplicati.yml deleted file mode 100644 index 8c2bcefc0..000000000 --- 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 0722408c2..000000000 --- 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 781eda56b..000000000 --- a/public/v4/apps/elasticsearch.yml +++ /dev/null @@ -1,50 +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: - CLI_JAVA_OPTS: -Xms512m -Xmx512m - cluster.name: $$cap_elasticsearch_cluster_name - discovery.type: $$cap_elasticsearch_discovery_type - http.port: $$cap_container_port - node.name: $$cap_appname - xpack.security.enabled: $$cap_elasticsearch_security_enabled - caproverExtra: - containerHttpPort: $$cap_container_port -caproverOneClickApp: - variables: - - id: $$cap_elasticsearch_version - label: 'Elasticsearch Version Tag' - description: 'Check out the releases overview: https://hub.docker.com/_/elasticsearch' - defaultValue: 8.4.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_discovery_type - label: Discovery Type - description: Discovery type, for a single node cluster use `single-node`, otherwise `multi-node` - defaultValue: single-node - validRegex: /^([^\s^\/])+$/ - - id: $$cap_elasticsearch_security_enabled - label: Security Enabled - defaultValue: 'false' - description: 'When you enable this option, Elasticsearch will create a random password (see startup logs) for the `elastic` user and create SSL certificates required for authentication. It is recommended to leave this off for a quick setup. Warning: make sure to enable HTTP Basic Auth in CapRover!' - 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: 'elasticsearch' - 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/elkarbackup.yml b/public/v4/apps/elkarbackup.yml deleted file mode 100644 index 83ae47237..000000000 --- a/public/v4/apps/elkarbackup.yml +++ /dev/null @@ -1,75 +0,0 @@ -captainVersion: 4 -services: - # Elkar - $$cap_appname: - image: elkarbackup/elkarbackup:$$cap_elkar_version - restart: always - environment: - TZ: $$cap_tz - PHP_TZ: $$cap_tz - EB_CRON: 'enabled' - SYMFONY__DATABASE__HOST: srv-captain--$$cap_appname-mariadb - SYMFONY__DATABASE__USER: $$cap_mariadb-user - SYMFONY__DATABASE__PASSWORD: $$cap_mariadb-pass - SYMFONY__DATABASE__NAME: $$cap_mariadb-db - volumes: - - $$cap_appname-backups:/app/backups - - $$cap_appname-uploads:/app/uploads - - $$cap_appname-ssh-keys:/app/.ssh - # 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_elkar_version - label: Version Tag - description: Check out their Docker page for the valid tags https://hub.docker.com/r/elkarbackup/elkarbackup/tags - defaultValue: '2' - - id: $$cap_mariadb_version - label: MariaDB Version - defaultValue: '10.6.2' - 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 ElkarBackup - defaultValue: 'elkar' - - id: $$cap_mariadb-user - label: MariaDB User - description: Database User for ElkarBackup - defaultValue: 'elkar' - - id: $$cap_mariadb-pass - label: MariaDB database user password - description: Super secret database user password - instructions: - start: |- - Open source backup solution for your network. - - Your login credentials are - Default user: root - Default password: root - end: |- - Aaaand you're done! πŸ˜„ - Your service is available at http://$$cap_appname.$$cap_root_domain - - Your login credentials are - Default user: root - Default password: root - displayName: Elkarbackup - isOfficial: true - description: Open source backup solution for your network. - documentation: https://docs.elkarbackup.org/docs/introduction.html diff --git a/public/v4/apps/emailengine.yml b/public/v4/apps/emailengine.yml deleted file mode 100644 index f1a6a82c4..000000000 --- a/public/v4/apps/emailengine.yml +++ /dev/null @@ -1,44 +0,0 @@ -captainVersion: 4 -services: - # EmailEngine - $$cap_appname: - depends_on: - - $$cap_appname-redis - image: andris9/emailengine:$$cap_emailengine_version - restart: always - environment: - WAIT_HOSTS: srv-captain--$$cap_appname-redis:6379 - EENGINE_REDIS: redis://:@srv-captain--$$cap_appname-redis:6379 - caproverExtra: - containerHttpPort: '3000' - # Redis - $$cap_appname-redis: - image: redis:$$cap_redis_version - command: redis-server - volumes: - - $$cap_appname-db-data:/data/db - restart: always - caproverExtra: - notExposeAsWebApp: 'true' -caproverOneClickApp: - variables: - - id: $$cap_emailengine_version - label: EmailEngine Version - defaultValue: 'v2' - description: Check out their docker page for the valid tags https://hub.docker.com/r/andris9/emailengine/tags - validRegex: /^([^\s^\/])+$/ - - id: $$cap_redis_version - label: Redis Version - defaultValue: '7.0.2' - description: Check out their docker page for the valid tags https://hub.docker.com/_/redis?tab=tags - validRegex: /^([^\s^\/])+$/ - instructions: - start: >- - IMAP and SMTP are hard, so let EmailEngine handle these for you. Run REST API calls to interact with email servers and receive webhooks for changes on tracked email accounts. With EmailEngine, you can focus on building features that matter instead of spending time rolling custom IMAP and SMTP connectivity logic. - end: >- - You're done! πŸ€— - Your EmailEngine is available at http://$$cap_appname.$$cap_root_domain:3000 - displayName: 'EmailEngine' - isOfficial: true - description: Self-hosted application that opens a permanent IMAP connection against every registered email account to translate API requests to IMAP commands and monitor changes on these accounts. - documentation: Taken from https://hub.docker.com/r/andris9/emailengine diff --git a/public/v4/apps/etesync.yml b/public/v4/apps/etesync.yml deleted file mode 100644 index d4141206a..000000000 --- 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 655356dc0..000000000 --- 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/excalidraw.yml b/public/v4/apps/excalidraw.yml deleted file mode 100644 index 38d15828b..000000000 --- a/public/v4/apps/excalidraw.yml +++ /dev/null @@ -1,75 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - image: kiliandeca/excalidraw@$$cap_excalidraw_version - restart: always - environment: - BACKEND_V2_GET_URL: https://$$cap_appname-storage.$$cap_root_domain/api/v2/scenes/ - BACKEND_V2_POST_URL: https://$$cap_appname-storage.$$cap_root_domain/api/v2/scenes/ - LIBRARY_URL: https://libraries.excalidraw.com - LIBRARY_BACKEND: https://us-central1-excalidraw-room-persistence.cloudfunctions.net/libraries - SOCKET_SERVER_URL: https://$$cap_appname-room.$$cap_root_domain/ - STORAGE_BACKEND: 'https' - HTTP_STORAGE_BACKEND_URL: 'https://$$cap_appname-storage.$$cap_root_domain/api/v2' - depends_on: - - $$cap_appname-room - - $$cap_appname-storage-backend - $$cap_appname-room: - image: excalidraw/excalidraw-room - restart: always - $$cap_appname-storage-backend: - image: kiliandeca/excalidraw-storage-backend@$$cap_storage_backend_version - restart: always - environment: - STORAGE_URI: redis://srv-captain--$$cap_appname-redis:6379 - STORAGE_TTL: 2592000000 - depends_on: - - $$cap_appname-redis - caproverExtra: - containerHttpPort: '8080' - $$cap_appname-redis: - image: redis:$$cap_redis_version - restart: always - caproverExtra: - notExposeAsWebApp: 'true' - volumes: - - $$cap_appname-redis-data:/data - -caproverOneClickApp: - variables: - - id: $$cap_excalidraw_version - label: Excalidraw version - defaultValue: 'sha256:2fe5a14cc0aab940dcf6144a6a5e73b9d044bdf0148762f9c7bc0ceea424c872' - description: Check out this Docker page for any valid tags https://hub.docker.com/r/kiliandeca/excalidraw/tags - - id: $$cap_storage_backend_version - label: Excalidraw storage backend adapter version - defaultValue: 'sha256:dd01b5214ad2e24970bdc255e28b2921ab59b1db14dbb826979d1fdea1c5c20b' - description: Check out this Docker page for any valid tags https://hub.docker.com/r/kiliandeca/excalidraw-storage-backend/tags - - id: $$cap_redis_version - label: Redis Version - defaultValue: 7.0.3 - description: Check out their Docker page for the valid tags https://hub.docker.com/_/redis?tab=tags - validRegex: /^([^\s^\/])+$/ - instructions: - start: >- - Excalidraw is a virtual whiteboard for sketching hand-drawn like diagrams or normal ones. It's collaborative and end-to-end encrypted. - - - For more documentation on the project go to: https://github.com/excalidraw/excalidraw#documentation - end: > - Excalidraw is deployed and available as $$cap_appname. - - Before starting using Excalidraw, you'll need to - - 1) Enable HTTPS for $$cap_appname-room, $$cap_appname-storage and $$cap_appname apps. - - 2) Force HTTPS by redirecting all HTTP traffic to HTTPS for $$cap_appname-room, $$cap_appname-storage and $$cap_appname apps. - - 3) Enable Websocket in $$cap_appname-room, $$cap_appname-storage and $$cap_appname apps. - - - IMPORTANT: It will take up to 1 minutes for Excalidraw to be ready. Before that, you might see 502 error page. - displayName: 'Excalidraw' - isOfficial: false - description: Virtual whiteboard for sketching hand-drawn like diagrams or normal ones. Collaborative and end-to-end encrypted. - documentation: Taken from https://gitlab.com/kiliandeca/excalidraw-fork/-/blob/main/examples/docker-compose.yml diff --git a/public/v4/apps/fider.yml b/public/v4/apps/fider.yml deleted file mode 100644 index 6b6a39ff0..000000000 --- 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: - BASE_URL: '$$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.21.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 a6ac996b9..000000000 --- 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.22.4 - 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: 'filebrowser' - 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/filerun.yml b/public/v4/apps/filerun.yml deleted file mode 100644 index 248ce341e..000000000 --- a/public/v4/apps/filerun.yml +++ /dev/null @@ -1,63 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - image: filerun/filerun:$$cap_wp_version - volumes: - - $$cap_appname-html:/var/www/html - - $$cap_appname-userfiles:/user-files - restart: always - environment: - FR_DB_HOST: $$cap_db_host - FR_DB_PORT: $$cap_db_port - FR_DB_NAME: $$cap_db_name - FR_DB_USER: $$cap_db_user - FR_DB_PASS: $$cap_db_pass - APACHE_RUN_USER: www-data - APACHE_RUN_USER_ID: 33 - APACHE_RUN_GROUP: www-data - APACHE_RUN_GROUP_ID: 33 -caproverOneClickApp: - variables: - - description: Database host. Remember Latest version of MYSQL use SHA256_Hashing plugin for authentication by default, If you are using MySQL database, change user password hashing plugin into Native authentication plugin. - defaultValue: srv-captain--xxx - id: $$cap_db_host - label: Database Host - - description: Database port. Default Value is 3306 - defaultValue: '3306' - id: $$cap_db_port - label: Database Port - - description: Database name - defaultValue: filerun - id: $$cap_db_name - label: DB Name - - id: $$cap_db_user - label: Database user - defaultValue: filerunuser - - id: $$cap_db_pass - label: Database password - description: '' - validRegex: /.{1,}/ - - id: $$cap_wp_version - label: Filerun Version. - defaultValue: 'latest' - description: Use 'latest' tag for normal installation. Check out their Docker page for the valid tags https://hub.docker.com/r/filerun/filerun/tags - validRegex: /^([^\s^\/])+$/ - instructions: - start: >- - FileRun is a self-hosted Google Drive alternative. It is a full featured web based file manager with an easy to use user interface. It is great for managing your photo, movie, audio collection, or sharing files with your family and friends. - - Enter your Database Configuration parameters and click on next. A FileRun 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. You should start by configuring your DB first and then comeback with all the DB Information. - end: >- - FileRun is deployed and available as $$cap_appname-wordpress. - - Username: superuser Password: superuser - - IMPORTANT: It will take up to 2 minutes for FileRun 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: FileRun - No DB - isOfficial: true - description: FileRun is a self-hosted Google Drive alternative. It is a full featured web based file manager with an easy to use user interface. - documentation: Taken from https://hub.docker.com/r/filerun/filerun/. diff --git a/public/v4/apps/filestash.yml b/public/v4/apps/filestash.yml deleted file mode 100644 index 8addd00e7..000000000 --- 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/filezilla.yml b/public/v4/apps/filezilla.yml deleted file mode 100644 index 203e1b411..000000000 --- a/public/v4/apps/filezilla.yml +++ /dev/null @@ -1,37 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - image: linuxserver/filezilla:$$cap_fz_version - environment: - TZ: $$cap_tz - PUID: '1000' - PGID: '1000' - restart: unless-stopped - volumes: - - $$cap_appname-config:/config - caproverExtra: - containerHttpPort: '3000' -caproverOneClickApp: - variables: - - id: $$cap_fz_version - label: Filezilla Version - defaultValue: 3.51.0-r1-ls6 - description: Check out their Docker page for the valid tags https://hub.docker.com/r/linuxserver/filezilla/tags - validRegex: /^([^\s^\/])+$/ - - 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: >- - FIleZilla Client is a fast and reliable cross-platform FTP, FTPS and SFTP client with lots of useful features and an intuitive graphical user interface. - end: >- - Filezilla is deployed and available as http://$$cap_appname.$$cap_root_domain. - IMPORTANT!! You need to enable websocket support. - The default username/password is abc/abc. - By default the user/pass is abc/abc, if you change your password or want to login manually to the GUI session for any reason use the following link: http://$$cap_appname.$$cap_root_domain/?login=true - displayName: Filezilla - isOfficial: true - description: FileZilla is a free and open-source, cross-platform FTP application - documentation: Taken from https://hub.docker.com/r/linuxserver/filezilla. diff --git a/public/v4/apps/firefly-iii.yml b/public/v4/apps/firefly-iii.yml deleted file mode 100644 index 220255691..000000000 --- a/public/v4/apps/firefly-iii.yml +++ /dev/null @@ -1,71 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - image: fireflyiii/core:$$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/fireflyiii/core/tags - defaultValue: version-5.5.13 - 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/fireflyiii-data-importer.yml b/public/v4/apps/fireflyiii-data-importer.yml deleted file mode 100644 index a263b0e54..000000000 --- a/public/v4/apps/fireflyiii-data-importer.yml +++ /dev/null @@ -1,46 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - image: fireflyiii/data-importer:$$cap_fidi_version - environment: - FIREFLY_III_ACCESS_TOKEN: $$cap_ff_token - FIREFLY_III_URL: $$cap_ff_url - NORDIGEN_ID: $$cap_nordigen_id - NORDIGEN_KEY: $$cap_nordigen_key - SPECTRE_APP_ID: $$cap_spectre_app_id - SPECTRE_SECRET: $$cap_spectre_secret - hostname: $$cap_appname.$$cap_root_domain - caproverExtra: - containerHttpPort: '8080' -caproverOneClickApp: - variables: - - id: $$cap_fidi_version - label: FIDI Version - defaultValue: version-v1.0.1 - description: Check out their Docker page for the valid tags https://hub.docker.com/r/fireflyiii/data-importer/tags - - id: $$cap_ff_token - label: Firefly III Access Token - - id: $$cap_ff_url - label: Firefly III URL - description: Your Firefly III instance URL - - id: $$cap_nordigen_id - label: Nordigen ID - description: Your Nordigen ID (optional) - - id: $$cap_nordigen_key - label: Nordigen Key - description: Your Nordigen Key (optional) - - id: $$cap_spectre_app_id - label: Spectre App ID (optional) - description: Your Spectre App ID (optional) - - id: $$cap_spectre_secret - label: Spectre Secret - description: Your Spectre Secret (optional) - instructions: - start: >- - Firefly III Data Importer (FIDI) is a tool to import data into Firefly III. Read more about it here: https://docs.firefly-iii.org/data-importer/ - end: >- - Firefly III Data Importer (FIDI) has been successfully deployed. - displayName: Firefly III Data Importer - isOfficial: true - description: Firefly III Data Importer (FIDI) is a tool to import data into Firefly III. - documentation: Taken from https://hub.docker.com/r/fireflyiii/data-importer. diff --git a/public/v4/apps/firefox.yml b/public/v4/apps/firefox.yml deleted file mode 100644 index b6b4791ec..000000000 --- a/public/v4/apps/firefox.yml +++ /dev/null @@ -1,44 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - documentation: https://docs.linuxserver.io/images/docker-firefox - image: lscr.io/linuxserver/firefox:$$cap_firefox_version - restart: always - volumes: - - $$cap_appname-config:/config - environment: - PUID: $$cap_puid - PGID: $$cap_pgid - TZ: $$cap_tz - caproverExtra: - containerHttpPort: '3000' -caproverOneClickApp: - variables: - - id: $$cap_firefox_version - label: Firefox Version - defaultValue: '78.13.0' - description: firefox Image Version, se more at https://hub.docker.com/r/linuxserver/firefox/tags - validRegex: /^([^\s^\/])+$/ - - id: $$cap_puid - label: PUID - defaultValue: 1000 - validRegex: /^[0-9]+$/ - description: For UserID. Ensure any volume directories on the host are owned by the same user you specify. Default to 1000 se more at https://docs.linuxserver.io/images/docker-firefox#user-group-identifiers - - id: $$cap_pgid - label: PGID - defaultValue: 1000 - validRegex: /^[0-9]+$/ - description: For GroupID. Ensure any volume directories on the host are owned by the same user you specify. Default to 1000, see more at https://docs.linuxserver.io/images/docker-firefox#user-group-identifiers - - id: $$cap_tz - label: Timezone - defaultValue: 'UTC' - description: Timezone. Specify a timezone to use EG Europe/London - instructions: - start: >- - Firefox Browser, also known as Mozilla Firefox or simply Firefox, is a free and open-source web browser developed by the Mozilla Foundation and its subsidiary, the Mozilla Corporation. Firefox uses the Gecko layout engine to render web pages, which implements current and anticipated web standards. - end: >- - You need enable Websocket Support to run FireFox. The application can be accessed at: http://$$cap_appname.$$cap_root_domain. By default the user/pass is abc/abc, if you change your password or want to login manually to the GUI session for any reason use the following link: http://$$cap_appname.$$cap_root_domain/?login=true - displayName: Firefox - isOfficial: false - description: get running FireFox browser from your web browser! - documentation: https://docs.linuxserver.io/images/docker-firefox diff --git a/public/v4/apps/flagsmith.yml b/public/v4/apps/flagsmith.yml deleted file mode 100644 index 84e133d2b..000000000 --- a/public/v4/apps/flagsmith.yml +++ /dev/null @@ -1,56 +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: - POSTGRES_USER: flagsmith - POSTGRES_PASSWORD: $$cap_postgres_password - POSTGRES_DB: $$cap_postgres_db - caproverExtra: - notExposeAsWebApp: true - - $$cap_appname: - image: flagsmith/flagsmith:$$cap_flagsmith_tag - depends_on: - - $$cap_appname-db - restart: unless-stopped - environment: - DATABASE_URL: postgres://flagsmith:$$cap_postgres_password@srv-captain--$$cap_appname-db/$$cap_postgres_db?sslmode=disable - DJANGO_ALLOWED_HOSTS: '*' - caproverExtra: - containerHttpPort: '8000' - -caproverOneClickApp: - variables: - - id: $$cap_postgres_version - label: Postgres Version - defaultValue: '13.1' - - id: $$cap_postgres_db - label: Postgres DB - defaultValue: 'flagsmith' - - id: $$cap_postgres_password - label: Postgres Password - defaultValue: $$cap_gen_random_hex(16) - validRegex: /^(?=.*\d).{10,}$/ - - id: $$cap_flagsmith_tag - label: Flagsmith Version - defaultValue: '2.14.3' - description: Check out our docker page for the valid tags https://hub.docker.com/r/flagsmith/flagsmith/tags - instructions: - start: >- - Flagsmith - an open source, fully featured, Feature Flag and Remote Config service. Use our hosted API, deploy to your own private cloud, or run on-premise. - For more info visit https://flagsmith.com/ - end: |- - Flagsmith has been successfully deployed! - App is available as http://$$cap_appname.$$cap_root_domain - - displayName: Flagsmith - isOfficial: true - description: >- - Flagsmith - an open source, fully featured, Feature Flag and Remote Config service. Use our hosted API, deploy to your own private cloud, or run on-premise. - documentation: >- - This docker-compose is taken from https://github.com/Flagsmith/self-hosted/blob/master/docker-compose.yml diff --git a/public/v4/apps/focalboard.yml b/public/v4/apps/focalboard.yml deleted file mode 100644 index f041acc7a..000000000 --- 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/forge_minecraft.yml b/public/v4/apps/forge_minecraft.yml deleted file mode 100644 index 9106ae2b9..000000000 --- a/public/v4/apps/forge_minecraft.yml +++ /dev/null @@ -1,91 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - image: itzg/minecraft-server:java19 - environment: - EULA: 'true' - TYPE: 'FORGE' - VERSION: '$$cap_minecraft_version' - FORGE_VERSION: '$$cap_forge_version' - MAX_PLAYERS: '$$cap_max_players' - MODE: '$$cap_game_mode' - MAX_MEMORY: '$$cap_max_ramG' - SERVER_NAME: '$$cap_display_name' - MOTD: '$$cap_display_description' - ONLINE_MODE: '$$cap_online_mode' - RCON_PASSWORD: '$$cap_rcon_password' - ports: - - '$$cap_mc_port:25565' - volumes: - - $$cap_appname-data:/data - stdin_open: true - tty: true - restart: unless-stopped - caproverExtra: - notExposeAsWebApp: 'true' - $$cap_appname-web: - image: itzg/rcon:multiarch - environment: - RWA_USERNAME: $$cap_web_username - RWA_PASSWORD: $$cap_web_password - RWA_ADMIN: 'TRUE' - RWA_RCON_HOST: srv-captain--$$cap_appname - RWA_RCON_PASSWORD: $$cap_rcon_password - ports: - - 4327:4327 - caproverExtra: - containerHttpPort: '4326' -caproverOneClickApp: - variables: - - id: $$cap_appname - label: service name - defaultValue: mc - - id: $$cap_minecraft_version - label: Minecraft version - defaultValue: 1.19.3 - - id: $$cap_forge_version - label: forge server version - description: 'choose the version that works with your mc version , see: https://files.minecraftforge.net/' - defaultValue: 44.1.16 - - id: $$cap_mc_port - label: Service port - defaultValue: 25575 - validRegex: /.{1,}/ - - id: $$cap_web_username - label: admin portal username - defaultValue: 'admin' - - id: $$cap_web_password - label: admin portal password. - defaultValue: $$cap_gen_random_hex(8) - - id: $$cap_rcon_password - label: Rcon cli password - defaultValue: $$cap_gen_random_hex(8) - - id: $$cap_max_ram - label: Max RAM (GB) - defaultValue: 2 - validRegex: /.{1,}/ - - id: $$cap_display_name - label: server displayed name - defaultValue: Minecraft server - - id: $$cap_display_description - label: server displayed description - defaultValue: Minecraft server powerd by docker - - id: $$cap_online_mode - label: online mode - defaultValue: FALSE - validRegex: /^(TRUE|FALSE)$/ - - id: $$cap_game_mode - label: game mode - defaultValue: survival - validRegex: /^(creative|survival|adventure|spectator)$/ - - id: $$cap_max_players - label: Max no of players - defaultValue: 20 - validRegex: /.{1,}/ - instructions: - start: Minecraft server with dynamic version, server types, and modpack support, this oneclickapp in the Forge version of itzg's Minecraft server. - end: minecraft is deployed and available as srv-captain--$$cap_appname. Note that the application may take up to ten minutes to become available. - displayName: Minecraft forge server - isOfficial: false - description: Minecraft server with dynamic version, server types, and modpack support, this oneclickapp in the Forge version of itzg's Minecraft server. - documentation: https://github.com/itzg/docker-minecraft-server diff --git a/public/v4/apps/formance-ledger.yml b/public/v4/apps/formance-ledger.yml deleted file mode 100644 index ef21dafe6..000000000 --- a/public/v4/apps/formance-ledger.yml +++ /dev/null @@ -1,89 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - caproverExtra: - containerHttpPort: 3068 - image: ghcr.io/formancehq/ledger:$$cap_FORMANCE_LEDGER_VERSION - environment: - NUMARY_STORAGE_DRIVER: postgres - NUMARY_STORAGE_POSTGRES_CONN_STRING: postgresql://$$cap_POSTGRES_USER:$$cap_POSTGRES_PASSWORD@srv-captain--$$cap_appname-db/$$cap_POSTGRES_DB - NUMARY_SERVER_HTTP_BIND_ADDRESS: '0.0.0.0:3068' - NUMARY_SEGMENT_ENABLED: $$cap_FORMANCE_LEDGER_SEGMENT_ENABLED - NUMARY_AUTH_BASIC_ENABLED: $$cap_FORMANCE_LEDGER_AUTH_BASIC_ENABLED - NUMARY_AUTH_BASIC_CREDENTIALS: $$cap_FORMANCE_LEDGER_AUTH_BASIC_CREDENTIALS - volumes: - - $$cap_appname:/root/.numary - depends_on: - - $$cap_appname-db - $$cap_appname-db: - caproverExtra: - notExposeAsWebApp: 'true' - 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:/var/lib/postgresql/data - $$cap_appname-ui: - caproverExtra: - containerHttpPort: 3078 - dockerfileLines: - - FROM ghcr.io/formancehq/ledger:$$cap_FORMANCE_LEDGER_VERSION - - CMD ["ui"] - environment: - NUMARY_UI_HTTP_BIND_ADDRESS: '0.0.0.0:3078' - depends_on: - - $$cap_appname -caproverOneClickApp: - instructions: - start: |- - Formance Ledger lets you model and record complex money movements, helping you accelerate your business operations. - Build financial dashboards, deliver payments to your marketplace partners, and accurately track revenue across your entire operation. - end: |- - Formance Ledger has been successfully deployed! It might take few moments before it's fully started. - You can access the ledger API at `http://$$cap_appname.$$cap_root_domain` and the control panel at `http://$$cap_appname-ui.$$cap_root_domain`. - displayName: Formance Ledger - isOfficial: true - description: Programmable Financial Ledger To Build Money-Moving Applications - documentation: https://docs.formance.com - variables: - - id: $$cap_FORMANCE_LEDGER_VERSION - label: Application | Version - description: Version of Formance. Check out their valid tags at https://github.com/formancehq/ledger/pkgs/container/ledger - defaultValue: v1.8.0 - validRegex: /.{1,}/ - - id: $$cap_FORMANCE_LEDGER_AUTH_BASIC_ENABLED - label: Application | Enable Basic Authentication - description: Whether to use basic authentication to protect your ledger. - defaultValue: 'true' - validRegex: /^(true|false)$/ - - id: $$cap_FORMANCE_LEDGER_AUTH_BASIC_CREDENTIALS - label: Application | Basic Authentication Credentials - description: Basic authentication credentials, when enabled. Format is `username:password`. - defaultValue: administrator:$$cap_gen_random_hex(16) - - id: $$cap_FORMANCE_LEDGER_SEGMENT_ENABLED - label: Application | Enable Segment - description: Whether to send usage statistics to Segment. - defaultValue: 'false' - validRegex: /^(true|false)$/ - - id: $$cap_POSTGRES_VERSION - label: Database | Version - description: Version of PostgreSQL. Check out their valid tags at https://hub.docker.com/_/postgres/tags - defaultValue: '14.0-alpine' - validRegex: /.{1,}/ - - id: $$cap_POSTGRES_DB - label: Database | Name - description: Name of the database. - defaultValue: formance - validRegex: /.{1,}/ - - id: $$cap_POSTGRES_USER - label: Database | User Name - description: Name of the database user. - defaultValue: formance - validRegex: /.{1,}/ - - id: $$cap_POSTGRES_PASSWORD - label: Database | User Password - description: Password of the database user. - defaultValue: $$cap_gen_random_hex(16) - validRegex: /.{1,}/ diff --git a/public/v4/apps/formio.yml b/public/v4/apps/formio.yml deleted file mode 100644 index 594d8a25e..000000000 --- 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/foundryvtt.yml b/public/v4/apps/foundryvtt.yml deleted file mode 100644 index c831892c1..000000000 --- a/public/v4/apps/foundryvtt.yml +++ /dev/null @@ -1,80 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - image: felddy/foundryvtt:$$cap_foundry_version - environment: - FOUNDRY_USERNAME: $$cap_foundry_username - FOUNDRY_PASSWORD: $$cap_foundry_password - FOUNDRY_ADMIN_KEY: $$cap_foundry_admin_key - FOUNDRY_PROXY_SSL: $$cap_foundry_proxy_ssl - FOUNDRY_MINIFY_STATIC_FILES: $$cap_foundry_minify_static_files - CONTAINER_CACHE: $$cap_foundry_container_cache - TIMEZONE: $$cap_foundry_timezone - caproverExtra: - containerHttpPort: '30000' - volumes: - - $$cap_appname:/data -caproverOneClickApp: - variables: - - id: $$cap_foundry_version - label: Foundry VTT Version - defaultValue: '0.8.9' - description: Check out their Docker page for the valid tags https://hub.docker.com/r/felddy/foundryvtt/tags - validRegex: /^([^\s^\/])+$/ - - id: $$cap_foundry_username - label: Username - defaultValue: 'user' - description: Account username or email address for foundryvtt.com. Required for downloading an application distribution. - validRegex: /.{1,}/ - - id: $$cap_foundry_password - label: Password - defaultValue: 'password' - description: Account password for foundryvtt.com. Required for downloading an application distribution. - validRegex: /.{1,}/ - - id: $$cap_foundry_admin_key - label: Admin password - description: Admin password to be applied at startup. If omitted the admin password will be cleared. - - id: $$cap_foundry_proxy_ssl - label: Proxy SSL - defaultValue: 'true' - description: Indicates whether the software is running behind a reverse proxy that uses SSL. This allows invitation links and A/V functionality to work as if the Foundry Server had SSL configured directly. CapRover has built-in reverse proxy. - validRegex: /.{1,}/ - - id: $$cap_foundry_minify_static_files - label: Minify static? - defaultValue: 'true' - description: Set to true to reduce network traffic by serving minified static JavaScript and CSS files. Enabling this setting is recommended for most users, but module developers may wish to disable it. - validRegex: /.{1,}/ - - id: $$cap_foundry_container_cache - label: Cache path - defaultValue: '/data/container_cache' - description: Set a path to cache downloads of the Foundry distribution archive and speed up subsequent container startups. The path should be in /data or another persistent mount point in the container. e.g.; /data/container_cache - - id: $$cap_foundry_timezone - label: Timezone - defaultValue: 'UTC' - description: Container TZ database name https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List - validRegex: /.{1,}/ - instructions: - start: >- - Foundry Virtual Tabletop is an application for organizing and running tabletop roleplaying games in a beautiful and intuitive web-based application. - - Foundry VTT is designed to modernize and simplify the virtual tabletop creation process while providing great user experience for both players and game-masters. - - Foundry VTT is available for purchase from https://foundryvtt.com - - - - You can get a Foundry Virtual Tabletop instance up and running in minutes using this container. This Docker container is designed to be secure, reliable, compact, and simple to use. It only requires that you provide the credentials or URL needed to download a Foundry Virtual Tabletop distribution. - - - - Prerequisites: - - A FoundryVTT.com account with a purchased software license. - end: >- - Foundry VTT has been successfully deployed. Please wait while Foundry downloads and installs latest version (could take some time depending on your internet and Foundry servers proximity). - - You HAVE TO enable Websocket Support in HTTP settings page. - displayName: Foundry Virtual Tabletop - isOfficial: false - description: Foundry VTT is an application built for experiencing multiplayer tabletop RPGs where your players connect directly through the browser. REQUIRES LICENCE - documentation: Taken from https://github.com/felddy/foundryvtt-docker diff --git a/public/v4/apps/freshrss.yml b/public/v4/apps/freshrss.yml deleted file mode 100644 index 5c0938aa0..000000000 --- a/public/v4/apps/freshrss.yml +++ /dev/null @@ -1,118 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname-postgresql: - environment: - POSTGRES_PORT: 5432 - POSTGRES_USER: $$cap_freshrss_POSTGRESQL_USER - POSTGRES_PASSWORD: $$cap_freshrss_POSTGRESQL_PASS - image: postgres:$$cap_fresrss_psql_version - restart: always - volumes: - - $$cap_appname-postgresql-data:/var/lib/postgresql/data - caproverExtra: - notExposeAsWebApp: true - '$$cap_appname': - image: freshrss/freshrss:$$cap_version - environment: - TZ: '$$cap_tz' - CRON_MIN: '$$cap_cron' - FRESHRSS_ENV: '$$cap_env' - PUBLISHED_PORT: '80' - ADMIN_EMAIL: '$$cap_admin_email' - ADMIN_PASSWORD: '$$cap_admin_pass' - ADMIN_API_PASSWORD: '$$cap_api_pass' - DB_HOST: srv-captain--$$cap_appname-postgresql - DB_BASE: $$cap_freshrss_POSTGRESQL_DB - DB_PASSWORD: $$cap_freshrss_POSTGRESQL_PASS - DB_USER: $$cap_freshrss_POSTGRESQL_USER - FRESHRSS_INSTALL: |- - --api_enabled - --base_url https://$$cap_appname.$$cap_root_domain - --db-base $$cap_freshrss_POSTGRESQL_DB - --db-host srv-captain--$$cap_appname-postgresql - --db-password $$cap_freshrss_POSTGRESQL_PASS - --db-type pgsql - --db-user $$cap_freshrss_POSTGRESQL_USER - --default_user admin - --language en - FRESHRSS_USER: |- - --api_password $$cap_api_pass - --email $$cap_admin_email - --language en - --password $$cap_admin_pass - --user admin - volumes: - - '$$cap_appname-data:/var/www/FreshRSS/data' - - '$$cap_appname-extensions:/var/www/FreshRSS/extensions' - depends_on: - - $$cap_appname-postgresql - caproverExtra: - containerHttpPort: '80' -caproverOneClickApp: - variables: - - id: '$$cap_version' - label: FreshRSS Version - defaultValue: '1.20.0' - description: Check out their Docker page for the valid tags https://hub.docker.com/r/freshrss/freshrss/tags - validRegex: "/^([^\\s^\\/])+$/" - - id: '$$cap_tz' - label: Time Zone - defaultValue: Europe/Vienna - description: Get yours from https://en.wikipedia.org/wiki/List_of_tz_database_time_zones - validRegex: '/.{1,}/' - - id: '$$cap_cron' - label: Cron Minutes - defaultValue: '2,32' - description: a valid cron minute definition such as '13,43' (recommended) or '*/20'. Not passing the CRON_MIN environment variable – or setting it to empty string – will disable the cron daemon. - - id: '$$cap_env' - label: Environment - defaultValue: 'production' - description: Enables additional development information if set to development (increases the level of logging and ensures that errors are displayed) - - id: '$$cap_admin_email' - label: Admin Email - defaultValue: 'admin@example.net' - description: Email Address for Admin login - - id: $$cap_admin_pass - label: Admin Password - defaultValue: $$cap_gen_random_hex(15) - description: 'The password of the admin user.' - validRegex: /.{1,}/ - - id: $$cap_api_pass - label: API Password - defaultValue: $$cap_gen_random_hex(15) - description: 'The password of the admin API.' - validRegex: /.{1,}/ - - - id: '$$cap_fresrss_psql_version' - label: PotgreSQL Version - defaultValue: '15.0' - description: Check out their Docker page for the valid tags https://hub.docker.com/_/postgres/tags - validRegex: "/^([^\\s^\\/])+$/" - - - id: $$cap_freshrss_POSTGRESQL_USER - label: POSTGRESQL_USER - defaultValue: postgresuser - validRegex: /^([a-zA-Z0-9\-\.\_])+$/ - - - id: $$cap_freshrss_POSTGRESQL_PASS - label: POSTGRESQL_PASS - defaultValue: $$cap_gen_random_hex(10) - description: 'The password of freshrsss database user.' - validRegex: /.{1,}/ - - - id: $$cap_freshrss_POSTGRESQL_DB - label: POSTGRESQL_DB - defaultValue: freshrss_production - validRegex: /^([a-zA-Z0-9\-\.\_])+$/ - instructions: - start: |- - FreshRSS is a self-hosted RSS feed aggregator like Leed or Kriss Feed. - It is lightweight, easy to work with, powerful, and customizable. - - More details: https://github.com/FreshRSS/FreshRSS - end: |- - FreshRSS has been successfully deployed! - displayName: FreshRSS - isOfficial: true - description: FreshRSS is a self-hosted RSS feed aggregator like Leed or Kriss Feed. - documentation: See https://github.com/FreshRSS/FreshRSS diff --git a/public/v4/apps/fusionauth.yml b/public/v4/apps/fusionauth.yml deleted file mode 100644 index 9443c8b7e..000000000 --- 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 b6c01cd03..000000000 --- a/public/v4/apps/ghost-only.yml +++ /dev/null @@ -1,113 +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_ENABLE_HTTPS: $$cap_ghost_protocol - GHOST_PORT_NUMBER: $$cap_ghost_port - GHOST_DATABASE_HOST: $$cap_db_host - GHOST_DATABASE_PORT_NUMBER: $$cap_db_port_number - GHOST_SMTP_FROM_ADDRESS: $$cap_ghost_smtp_from - GHOST_SMTP_HOST: $$cap_ghost_smtp_host - GHOST_SMTP_PASSWORD: $$cap_ghost_smtp_password - GHOST_SMTP_PORT: $$cap_ghost_smtp_port - GHOST_SMTP_USER: $$cap_ghost_smtp_user - GHOST_SMTP_PROTOCOL: $$cap_ghost_smtp_protocol - image: bitnami/ghost:$$cap_ghost_version - restart: always - volumes: - - $$cap_appname-data:/bitnami/ghost - caproverExtra: - containerHttpPort: '2368' -caproverOneClickApp: - variables: - - defaultValue: 5.2.2 - 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: DB Host - defaultValue: localhost - id: $$cap_db_host - label: DB Host - - description: DB port - defaultValue: '3306' - id: $$cap_db_port_number - label: DB port - - description: Database name - defaultValue: ghost - id: $$cap_ghost_database_name - label: Ghost Database name - validRegex: /^([^\s^\/])+$/ - - description: User for database - id: $$cap_ghost_database_user - label: DB User - validRegex: /^([^\s^\/])+$/ - - description: Password for database - id: $$cap_ghost_database_password - label: Ghost DB password - validRegex: /^(?=.*\d).{10,}$/ - - defaultValue: youremail@example.com - description: Ghost administrator 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: 'yes' - description: Enable serving Ghost through HTTPS instead of HTTP - id: $$cap_ghost_protocol - label: Ghost Protocol - validRegex: /^([^\s^\/])+$/ - - defaultValue: '2368' - description: Port that you will be using - id: $$cap_ghost_port - label: Ghost Port - - description: The SMTP protocol to use. Allowed values tls, ssl. No default. - id: $$cap_ghost_smtp_protocol - label: '[OPTIONAL] STMP protocol' - - 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. - - Before starting using Ghost, you'll need to - - - Enable HTTPS - - 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 b5e5eef43..000000000 --- a/public/v4/apps/ghost.yml +++ /dev/null @@ -1,131 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - environment: - GHOST_DATABASE_NAME: ghost - GHOST_DATABASE_PASSWORD: $$cap_db_ghost_password - GHOST_DATABASE_USER: ghost - GHOST_BLOG_TITLE: $$cap_ghost_blog_title - GHOST_USERNAME: $$cap_ghost_user - GHOST_EMAIL: $$cap_ghost_email - GHOST_HOST: $$cap_ghost_host - GHOST_PASSWORD: $$cap_ghost_password - GHOST_ENABLE_HTTPS: $$cap_ghost_protocol - GHOST_PORT_NUMBER: $$cap_ghost_port - GHOST_DATABASE_HOST: srv-captain--$$cap_appname-db - GHOST_DATABASE_PORT_NUMBER: '3306' - GHOST_SMTP_FROM_ADDRESS: $$cap_ghost_smtp_from - GHOST_SMTP_HOST: $$cap_ghost_smtp_host - GHOST_SMTP_PASSWORD: $$cap_ghost_smtp_password - GHOST_SMTP_PORT: $$cap_ghost_smtp_port - GHOST_SMTP_USER: $$cap_ghost_smtp_user - GHOST_SMTP_PROTOCOL: $$cap_ghost_smtp_protocol - image: bitnami/ghost:$$cap_ghost_version - restart: always - volumes: - - $$cap_appname-data:/bitnami/ghost - depends_on: - - $$cap_appname-db - caproverExtra: - containerHttpPort: '2368' - $$cap_appname-db: - environment: - MYSQL_DATABASE: ghost - MYSQL_PASSWORD: $$cap_db_ghost_password - MYSQL_ROOT_PASSWORD: $$cap_db_password - MYSQL_ROOT_USER: $$cap_db_user - MYSQL_USER: ghost - image: bitnami/mysql:8.0 - restart: always - volumes: - - $$cap_appname-db-data:/bitnami/mysql - caproverExtra: - notExposeAsWebApp: 'true' -caproverOneClickApp: - variables: - - defaultValue: 5.2.2 - 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 DB - id: $$cap_db_user - label: MYSQL root user - validRegex: /^([^\s^\/])+$/ - - description: Root password that will be created on MYSQL - id: $$cap_db_password - label: MYSQL root password - validRegex: /^(?=.*\d).{10,}$/ - - description: Password for database user named `ghost` - id: $$cap_db_ghost_password - label: MYSQL Ghost password - validRegex: /^(?=.*\d).{10,}$/ - - defaultValue: user - description: Ghost administrator user - id: $$cap_ghost_user - label: Ghost administrator username - validRegex: /^([^\s^\/])+$/ - - defaultValue: youremail@example.com - description: Ghost administrator email, you will use it to login - id: $$cap_ghost_email - label: Ghost administrator 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: 'yes' - description: Enable serving Ghost through HTTPS instead of HTTP - id: $$cap_ghost_protocol - label: Ghost Protocol - validRegex: /^([^\s^\/])+$/ - - defaultValue: '2368' - description: Port that you will be using - id: $$cap_ghost_port - label: Ghost Port - - defaultValue: 'User blog' - description: Blog name that will be displayed - id: $$cap_ghost_blog_title - label: Ghost Blog Title - - defaultValue: smtp.gmail.com - description: The SMTP host you will be using - id: $$cap_ghost_smtp_host - label: SMTP host - - defaultValue: '587' - 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 - - description: The SMTP protocol to use. Allowed values tls, ssl. No default. - id: $$cap_ghost_smtp_protocol - label: '[OPTIONAL] SMTP protocol' - - defaultValue: blog@example.com - description: SMTP from address - id: $$cap_ghost_smtp_from - label: SMTP from address - instructions: - end: > - Ghost is deployed and available as $$cap_appname. - - Before starting using Ghost, you'll need to - - - Enable HTTPS - - 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' - 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/ghostfolio.yml b/public/v4/apps/ghostfolio.yml deleted file mode 100644 index 98eace82a..000000000 --- a/public/v4/apps/ghostfolio.yml +++ /dev/null @@ -1,102 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - caproverExtra: - containerHttpPort: '3333' - image: ghostfolio/ghostfolio:$$cap_GHOSTFOLIO_VERSION - hostname: $$cap_appname.$$cap_root_domain - environment: - NODE_ENV: $$cap_NODE_ENV - ACCESS_TOKEN_SALT: $$cap_ACCESS_TOKEN_SALT - BASE_CURRENCY: $$cap_BASE_CURRENCY - DATABASE_URL: postgresql://$$cap_POSTGRES_USER:$$cap_POSTGRES_PASSWORD@srv-captain--$$cap_appname-db:5432/$$cap_POSTGRES_DB?sslmode=prefer - HOST: $$cap_appname.$$cap_root_domain - JWT_SECRET_KEY: $$cap_JWT_SECRET_KEY - POSTGRES_DB: $$cap_POSTGRES_DB - POSTGRES_USER: $$cap_POSTGRES_USER - POSTGRES_PASSWORD: $$cap_POSTGRES_PASSWORD - REDIS_HOST: srv-captain--$$cap_appname-cache - REDIS_PORT: 6379 - $$cap_appname-db: - caproverExtra: - notExposeAsWebApp: 'true' - image: postgres:$$cap_POSTGRES_VERSION - environment: - POSTGRES_DB: $$cap_POSTGRES_DB - POSTGRES_USER: $$cap_POSTGRES_USER - POSTGRES_PASSWORD: $$cap_POSTGRES_PASSWORD - POSTGRES_ROOT_PASSWORD: $$cap_POSTGRES_ROOT_PASSWORD - volumes: - - $$cap_appname-db:/var/lib/postgresql/data - $$cap_appname-cache: - caproverExtra: - notExposeAsWebApp: 'true' - image: redis:$$cap_REDIS_VERSION -caproverOneClickApp: - instructions: - start: |- - Ghostfolio is an open source wealth management software built with web technology. - The application empowers busy people to keep track of stocks, ETFs or cryptocurrencies and make solid, data-driven investment decisions. - end: |- - Ghostfolio has been successfully deployed! It might take few moments before it's fully started. - You can access it at `http://$$cap_appname.$$cap_root_domain` - displayName: Ghostfolio - isOfficial: true - description: Open Source Wealth Management Software - documentation: See https://ghostfol.io - variables: - - id: $$cap_GHOSTFOLIO_VERSION - label: Ghostfolio Version - description: Check out their valid tags at https://hub.docker.com/r/ghostfolio/ghostfolio/tags - defaultValue: '1.205.1' - validRegex: /.{1,}/ - - id: $$cap_POSTGRES_VERSION - label: Postgres Version - description: Check out their valid tags at https://hub.docker.com/_/postgres/tags - defaultValue: '15.0-alpine' - validRegex: /.{1,}/ - - id: $$cap_REDIS_VERSION - label: Redis Version - description: Check out their valid tags at https://hub.docker.com/_/redis/tags - defaultValue: '7.0-alpine' - validRegex: /.{1,}/ - - id: $$cap_NODE_ENV - label: Application Environment - description: Configure the environment. - defaultValue: production - validRegex: /.{1,}/ - - id: $$cap_ACCESS_TOKEN_SALT - label: Access Token Salt - description: A random string used as salt for access tokens. - defaultValue: $$cap_gen_random_hex(32) - validRegex: /.{1,}/ - - id: $$cap_BASE_CURRENCY - label: Base Currency - description: The base currency of the Ghostfolio application. This can **not** be changed later! - defaultValue: USD - validRegex: /.{1,}/ - - id: $$cap_JWT_SECRET_KEY - label: JWT Secret Key - description: A random string used for JSON Web Tokens (JWT). - defaultValue: $$cap_gen_random_hex(32) - validRegex: /.{1,}/ - - id: $$cap_POSTGRES_DB - label: Database - description: The name of the PostgreSQL database. - defaultValue: ghostfolio - validRegex: /.{1,}/ - - id: $$cap_POSTGRES_USER - label: Database User - description: The user of the PostgreSQL database. - defaultValue: ghostfolio - validRegex: /.{1,}/ - - id: $$cap_POSTGRES_PASSWORD - label: Database Password - description: The password of the PostgreSQL database. - defaultValue: $$cap_gen_random_hex(32) - validRegex: /.{1,}/ - - id: $$cap_POSTGRES_ROOT_PASSWORD - label: Database Root User Password - description: The password of the PostgreSQL database root user. - defaultValue: $$cap_gen_random_hex(32) - validRegex: /.{1,}/ diff --git a/public/v4/apps/gitea.yml b/public/v4/apps/gitea.yml deleted file mode 100644 index 451e3133b..000000000 --- a/public/v4/apps/gitea.yml +++ /dev/null @@ -1,63 +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 - defaultValue: $$cap_gen_random_hex(10) - description: '' - validRegex: /.{1,}/ - - id: $$cap_gitea_version - label: Gitea Version - defaultValue: '1.19.0' - 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: '8.0.32' - 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. - - Be sure to change 'Server domain' to `$$cap_root_domain` during initial setup otherwise you may experience issues. - - 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: 'Gitea' - 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 936e13d28..000000000 --- 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 5a2ad9a81..000000000 --- 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/glitchtip.yml b/public/v4/apps/glitchtip.yml deleted file mode 100644 index 5324ff854..000000000 --- a/public/v4/apps/glitchtip.yml +++ /dev/null @@ -1,114 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname-postgres: - image: postgres:$$cap_POSTGRES_VERSION - environment: - POSTGRES_USER: glitchtip - POSTGRES_PASSWORD: $$cap_POSTGRES_PASSWORD - volumes: - - $$cap_appname-postgres-data:/var/lib/postgresql/data - caproverExtra: - notExposeAsWebApp: 'true' - $$cap_appname-redis: - environment: - REDIS_PASSWORD: $$cap_REDIS_PASSWORD - caproverExtra: - dockerfileLines: - - FROM redis:$$cap_REDIS_VERSION - - CMD exec redis-server --requirepass "$$cap_REDIS_PASSWORD" - notExposeAsWebApp: 'true' - $$cap_appname: - depends_on: - - $$cap_appname-postgres - - $$cap_appname-redis - environment: - DATABASE_URL: postgres://glitchtip:$$cap_POSTGRES_PASSWORD@srv-captain--$$cap_appname-postgres:5432/glitchtip - REDIS_URL: redis://:$$cap_REDIS_PASSWORD@srv-captain--$$cap_appname-redis:6379 - SECRET_KEY: $$cap_SECRET - PORT: 8000 - EMAIL_URL: $$cap_SMTP - GLITCHTIP_DOMAIN: http://$$cap_appname.$$cap_root_domain - DEFAULT_FROM_EMAIL: $$cap_FROM_EMAIL - CELERY_WORKER_CONCURRENCY: $$cap_CELERY_WORKER_CONCURRENCY - caproverExtra: - containerHttpPort: '8000' - dockerfileLines: - - FROM glitchtip/glitchtip:$$cap_GLITCHTIP_VERSION - - CMD ./manage.py migrate && ./bin/start.sh - $$cap_appname-worker: - depends_on: - - $$cap_appname-postgres - - $$cap_appname-redis - environment: - DATABASE_URL: postgres://glitchtip:$$cap_POSTGRES_PASSWORD@srv-captain--$$cap_appname-postgres:5432/glitchtip - REDIS_URL: redis://:$$cap_REDIS_PASSWORD@srv-captain--$$cap_appname-redis:6379 - SECRET_KEY: $$cap_SECRET - PORT: 8000 - EMAIL_URL: $$cap_SMTP - GLITCHTIP_DOMAIN: http://$$cap_appname.$$cap_root_domain - DEFAULT_FROM_EMAIL: $$cap_FROM_EMAIL - CELERY_WORKER_CONCURRENCY: $$cap_CELERY_WORKER_CONCURRENCY - caproverExtra: - dockerfileLines: - - FROM glitchtip/glitchtip:$$cap_GLITCHTIP_VERSION - - CMD ./bin/run-celery-with-beat.sh - notExposeAsWebApp: 'true' -caproverOneClickApp: - variables: - - id: $$cap_GLITCHTIP_VERSION - label: GlitchTip Version - defaultValue: 'v2.0.5' - description: Check out their Docker page for the valid tags https://hub.docker.com/r/glitchtip/glitchtip/tags - validRegex: /^([^\s^\/])+$/ - - id: $$cap_POSTGRES_VERSION - label: Postgres Version - defaultValue: '14' - description: Check out their Docker page for the valid tags https://hub.docker.com/_/postgres/tags - validRegex: /^([^\s^\/])+$/ - - id: $$cap_REDIS_VERSION - label: Redis Version - defaultValue: '7.0.5-alpine' - description: Check out their docker page for the valid tags https://hub.docker.com/_/redis?tab=tags - validRegex: /^([^\s^\/])+$/ - - id: $$cap_CELERY_WORKER_CONCURRENCY - defaultValue: '2' - description: Number of concurrent celery workers. Defaults to number of CPU cores. Highly recommended to change. Our sample docker compose file defaults this to 2, to avoid unwanted and unnecessary scaling. - label: Celery Worker Concurrency - - id: $$cap_SMTP - defaultValue: smtp://email:password@smtp_url:port - description: See https://glitchtip.com/documentation/install#configuration. - label: SMTP Configuration - - id: $$cap_FROM_EMAIL - defaultValue: info@example.com - description: Default from email address. - label: Email Address - - id: $$cap_POSTGRES_PASSWORD - defaultValue: $$cap_gen_random_hex(24) - description: This is the PostgreSQL password for user 'glitchtip'. - label: PostgreSQL Password - validRegex: /^([^\s^\/])+$/ - - id: $$cap_REDIS_PASSWORD - defaultValue: $$cap_gen_random_hex(24) - description: This is the PostgreSQL password for user 'glitchtip'. - label: Redis Password - validRegex: /^([^\s^\/])+$/ - - id: $$cap_SECRET - label: Secret Key - defaultValue: $$cap_gen_random_hex(32) - description: Secret key used by glitchtip. - validRegex: /^([^\s^\/])+$/ - instructions: - start: |- - GlitchTip makes monitoring software easy. Track errors, monitor performance, and check site uptime all in one place. Our app is compatible with Sentry client SDKs, but easier to run. - - Recommended system requirements: 1GB RAM, x86 or arm64 CPU - - Documentation: https://glitchtip.com/documentation - end: |- - GlitchTip instance successfully deployed. It will allow you to register an account, afterwards registrations will be closed by default. - If you want to use a different domain change the `GLITCHTIP_DOMAIN` variable. - See https://glitchtip.com/documentation/install for additional environment variables available. - displayName: GlitchTip - isOfficial: true - description: Simple, open source error tracking. - documentation: This docker-compose is taken from https://glitchtip.com/assets/docker-compose.sample.yml diff --git a/public/v4/apps/gotenberg.yml b/public/v4/apps/gotenberg.yml deleted file mode 100644 index 787ed997a..000000000 --- a/public/v4/apps/gotenberg.yml +++ /dev/null @@ -1,310 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - caproverExtra: - containerHttpPort: $$cap_GOTENBERG_API_PORT - dockerfileLines: - - ARG VERSION - - FROM gotenberg/gotenberg:$VERSION - - ARG API_PORT - - ARG API_TIMEOUT - - ARG API_ROOT_PATH - - ARG API_TRACE_HEADER - - ARG API_DISABLE_HEALTH_CHECK - - ARG CHROMIUM_ALLOW_FILE_ACCESS_FROM_FILES - - ARG CHROMIUM_ALLOW_INSECURE_LOCALHOST - - ARG CHROMIUM_ALLOW_LIST - - ARG CHROMIUM_DENY_LIST - - ARG CHROMIUM_IGNORE_CERTIFICATE_ERRORS - - ARG CHROMIUM_DISABLE_WEB_SECURITY - - ARG CHROMIUM_INCOGNITO - - ARG CHROMIUM_HOST_RESOLVER_RULES - - ARG CHROMIUM_PROXY_SERVER - - ARG CHROMIUM_DISABLE_JAVASCRIPT - - ARG CHROMIUM_DISABLE_ROUTES - - ARG LIBREOFFICE_DISABLE_ROUTES - - ARG LIBREOFFICE_LISTENER_START_TIMEOUT - - ARG LIBREOFFICE_LISTENER_RESTART_THRESHOLD - - ARG PDFENGINES_ENGINES - - ARG PDFENGINES_DISABLE_ROUTES - - ARG WEBHOOK_ALLOW_LIST - - ARG WEBHOOK_DENY_LIST - - ARG WEBHOOK_ERROR_ALLOW_LIST - - ARG WEBHOOK_ERROR_DENY_LIST - - ARG WEBHOOK_MAX_RETRY - - ARG WEBHOOK_RETRY_MIN_WAIT - - ARG WEBHOOK_RETRY_MAX_WAIT - - ARG WEBHOOK_CLIENT_TIMEOUT - - ARG WEBHOOK_DISABLE - - ARG PROMETHEUS_COLLECT_INTERVAL - - ARG PROMETHEUS_NAMESPACE - - ARG PROMETHEUS_DISABLE_COLLECT - - ARG PROMETHEUS_DISABLE_ROUTE_LOGGING - - ARG LOG_FORMAT - - ARG LOG_LEVEL - - ARG GRACEFUL_SHUTDOWN_DURATION - - >- - CMD gotenberg - --api-port=$API_PORT - --api-timeout=$API_TIMEOUT - --api-root-path=$API_ROOT_PATH - --api-trace-header=$API_TRACE_HEADER - --api-disable-health-check-logging=$API_DISABLE_HEALTH_CHECK - --chromium-allow-file-access-from-files=$CHROMIUM_ALLOW_FILE_ACCESS_FROM_FILES - --chromium-allow-insecure-localhost=$CHROMIUM_ALLOW_INSECURE_LOCALHOST - --chromium-allow-list=$CHROMIUM_ALLOW_LIST - --chromium-deny-list=$CHROMIUM_DENY_LIST - --chromium-ignore-certificate-errors=$CHROMIUM_IGNORE_CERTIFICATE_ERRORS - --chromium-disable-web-security=$CHROMIUM_DISABLE_WEB_SECURITY - --chromium-incognito=$CHROMIUM_INCOGNITO - --chromium-host-resolver-rules=$CHROMIUM_HOST_RESOLVER_RULES - --chromium-proxy-server=$CHROMIUM_PROXY_SERVER - --chromium-disable-javascript=$CHROMIUM_DISABLE_JAVASCRIPT - --chromium-disable-routes=$CHROMIUM_DISABLE_ROUTES - --libreoffice-disable-routes=$LIBREOFFICE_DISABLE_ROUTES - --uno-listener-start-timeout=$LIBREOFFICE_LISTENER_START_TIMEOUT - --uno-listener-restart-threshold=$LIBREOFFICE_LISTENER_RESTART_THRESHOLD - --pdfengines-engines=$PDFENGINES_ENGINES - --pdfengines-disable-routes=$PDFENGINES_DISABLE_ROUTES - --webhook-allow-list=$WEBHOOK_ALLOW_LIST - --webhook-deny-list=$WEBHOOK_DENY_LIST - --webhook-error-allow-list=$WEBHOOK_ERROR_ALLOW_LIST - --webhook-error-deny-list=$WEBHOOK_ERROR_DENY_LIST - --webhook-max-retry=$WEBHOOK_MAX_RETRY - --webhook-retry-min-wait=$WEBHOOK_RETRY_MIN_WAIT - --webhook-retry-max-wait=$WEBHOOK_RETRY_MAX_WAIT - --webhook-client-timeout=$WEBHOOK_CLIENT_TIMEOUT - --webhook-disable=$WEBHOOK_DISABLE - --prometheus-collect-interval=$PROMETHEUS_COLLECT_INTERVAL - --prometheus-namespace=$PROMETHEUS_NAMESPACE - --prometheus-disable-collect=$PROMETHEUS_DISABLE_COLLECT - --prometheus-disable-route-logging=$PROMETHEUS_DISABLE_ROUTE_LOGGING - --log-format=$LOG_FORMAT - --log-level=$LOG_LEVEL - --gotenberg-graceful-shutdown-duration=$GRACEFUL_SHUTDOWN_DURATION - environment: - VERSION: $$cap_GOTENBERG_VERSION - API_PORT: $$cap_GOTENBERG_API_PORT - API_TIMEOUT: $$cap_GOTENBERG_API_TIMEOUT - API_ROOT_PATH: $$cap_GOTENBERG_API_ROOT_PATH - API_TRACE_HEADER: $$cap_GOTENBERG_API_TRACE_HEADER - API_DISABLE_HEALTH_CHECK: $$cap_GOTENBERG_API_DISABLE_HEALTH_CHECK - CHROMIUM_ALLOW_FILE_ACCESS_FROM_FILES: $$cap_GOTENBERG_CHROMIUM_ALLOW_FILE_ACCESS_FROM_FILES - CHROMIUM_ALLOW_INSECURE_LOCALHOST: $$cap_GOTENBERG_CHROMIUM_ALLOW_INSECURE_LOCALHOST - CHROMIUM_ALLOW_LIST: $$cap_GOTENBERG_CHROMIUM_ALLOW_LIST - CHROMIUM_DENY_LIST: $$cap_GOTENBERG_CHROMIUM_DENY_LIST - CHROMIUM_IGNORE_CERTIFICATE_ERRORS: $$cap_GOTENBERG_CHROMIUM_IGNORE_CERTIFICATE_ERRORS - CHROMIUM_DISABLE_WEB_SECURITY: $$cap_GOTENBERG_CHROMIUM_DISABLE_WEB_SECURITY - CHROMIUM_INCOGNITO: $$cap_GOTENBERG_CHROMIUM_INCOGNITO - CHROMIUM_HOST_RESOLVER_RULES: $$cap_GOTENBERG_CHROMIUM_HOST_RESOLVER_RULES - CHROMIUM_PROXY_SERVER: $$cap_GOTENBERG_CHROMIUM_PROXY_SERVER - CHROMIUM_DISABLE_JAVASCRIPT: $$cap_GOTENBERG_CHROMIUM_DISABLE_JAVASCRIPT - CHROMIUM_DISABLE_ROUTES: $$cap_GOTENBERG_CHROMIUM_DISABLE_ROUTES - LIBREOFFICE_DISABLE_ROUTES: $$cap_GOTENBERG_LIBREOFFICE_DISABLE_ROUTES - LIBREOFFICE_LISTENER_START_TIMEOUT: $$cap_GOTENBERG_LIBREOFFICE_LISTENER_START_TIMEOUT - LIBREOFFICE_LISTENER_RESTART_THRESHOLD: $$cap_GOTENBERG_LIBREOFFICE_LISTENER_RESTART_THRESHOLD - PDFENGINES_ENGINES: $$cap_GOTENBERG_PDFENGINES_ENGINES - PDFENGINES_DISABLE_ROUTES: $$cap_GOTENBERG_PDFENGINES_DISABLE_ROUTES - WEBHOOK_ALLOW_LIST: $$cap_GOTENBERG_WEBHOOK_ALLOW_LIST - WEBHOOK_DENY_LIST: $$cap_GOTENBERG_WEBHOOK_DENY_LIST - WEBHOOK_ERROR_ALLOW_LIST: $$cap_GOTENBERG_WEBHOOK_ERROR_ALLOW_LIST - WEBHOOK_ERROR_DENY_LIST: $$cap_GOTENBERG_WEBHOOK_ERROR_DENY_LIST - WEBHOOK_MAX_RETRY: $$cap_GOTENBERG_WEBHOOK_MAX_RETRY - WEBHOOK_RETRY_MIN_WAIT: $$cap_GOTENBERG_WEBHOOK_RETRY_MIN_WAIT - WEBHOOK_RETRY_MAX_WAIT: $$cap_GOTENBERG_WEBHOOK_RETRY_MAX_WAIT - WEBHOOK_CLIENT_TIMEOUT: $$cap_GOTENBERG_WEBHOOK_CLIENT_TIMEOUT - WEBHOOK_DISABLE: $$cap_GOTENBERG_WEBHOOK_DISABLE - PROMETHEUS_COLLECT_INTERVAL: $$cap_GOTENBERG_PROMETHEUS_COLLECT_INTERVAL - PROMETHEUS_NAMESPACE: $$cap_GOTENBERG_PROMETHEUS_NAMESPACE - PROMETHEUS_DISABLE_COLLECT: $$cap_GOTENBERG_PROMETHEUS_DISABLE_COLLECT - PROMETHEUS_DISABLE_ROUTE_LOGGING: $$cap_GOTENBERG_PROMETHEUS_DISABLE_ROUTE_LOGGING - LOG_FORMAT: $$cap_GOTENBERG_LOG_FORMAT - LOG_LEVEL: $$cap_GOTENBERG_LOG_LEVEL - GRACEFUL_SHUTDOWN_DURATION: $$cap_GOTENBERG_GRACEFUL_SHUTDOWN_DURATION - -caproverOneClickApp: - displayName: Gotenberg - isOfficial: true - description: Docker-Powered Stateless API For PDF Files - documentation: https://gotenberg.dev/docs/about - instructions: - start: |- - Gotenberg provides a developer-friendly API to interact with powerful tools like Chromium and LibreOffice for converting numerous document formats (HTML, Markdown, Word, Excel, etc.) into PDF files, and more! - end: |- - Gotenberg has been successfully deployed! It might take few moments before it's fully started. - You can access it at `http://$$cap_appname.$$cap_root_domain` - If you prefer not to expose it, you can change it in the **HTTP Settings** of `$$cap_appname`. - variables: - - id: $$cap_GOTENBERG_VERSION - label: General | Version - description: Check out their valid tags at https://hub.docker.com/r/gotenberg/gotenberg/tags - defaultValue: 7 - validRegex: /.{1,}/ - - id: $$cap_GOTENBERG_GRACEFUL_SHUTDOWN_DURATION - label: General | Graceful Shutdown Duration - description: Graceful shutdown duration. - defaultValue: '30s' - validRegex: /.{1,}/ - - id: $$cap_GOTENBERG_API_PORT - label: API | Port - description: Port of Gotenberg. - defaultValue: 3000 - validRegex: /.{1,}/ - - id: $$cap_GOTENBERG_API_TIMEOUT - label: API | Timeout - description: Time limit for requests. - defaultValue: '30s' - validRegex: /.{1,}/ - - id: $$cap_GOTENBERG_API_ROOT_PATH - label: API | Root Path - description: Root path of the API for service discovery via URL paths. - defaultValue: '/' - validRegex: /.{1,}/ - - id: $$cap_GOTENBERG_API_TRACE_HEADER - label: API | Trace Header - description: Header name to use for identifying requests. - defaultValue: Gotenberg-Trace - validRegex: /.{1,}/ - - id: $$cap_GOTENBERG_API_DISABLE_HEALTH_CHECK - label: API | Disable Health Check - description: Whether to disable health check logging. - defaultValue: 'false' - validRegex: /^(true|false)$/ - - id: $$cap_GOTENBERG_CHROMIUM_ALLOW_FILE_ACCESS_FROM_FILES - label: Chromium | Allow File Access From Files - description: Whether to allow `file://` URIs to read other `file://` URIs. - defaultValue: 'true' - validRegex: /^(true|false)$/ - - id: $$cap_GOTENBERG_CHROMIUM_ALLOW_INSECURE_LOCALHOST - label: Chromium | Allow Insecure Localhost - description: Whether to ignore TLS/SSL errors on `localhost`. - defaultValue: 'true' - validRegex: /^(true|false)$/ - - id: $$cap_GOTENBERG_CHROMIUM_ALLOW_LIST - label: Chromium | Allow List - description: Allowed URLs for Chromium using a regular expression. - - id: $$cap_GOTENBERG_CHROMIUM_DENY_LIST - label: Chromium | Deny List - description: Denied URLs for Chromium using a regular expression. - defaultValue: ^file:///[^tmp].* - - id: $$cap_GOTENBERG_CHROMIUM_IGNORE_CERTIFICATE_ERRORS - label: Chromium | Ignore Certificate Errors - description: Whether to ignore certificate errors. - defaultValue: 'true' - validRegex: /^(true|false)$/ - - id: $$cap_GOTENBERG_CHROMIUM_DISABLE_WEB_SECURITY - label: Chromium | Disable Web Security - description: Whether to not enforce the same-origin policy. - defaultValue: 'true' - validRegex: /^(true|false)$/ - - id: $$cap_GOTENBERG_CHROMIUM_INCOGNITO - label: Chromium | Incognito Mode - description: Whether to start Chromium with incognito mode. - defaultValue: 'false' - validRegex: /^(true|false)$/ - - id: $$cap_GOTENBERG_CHROMIUM_HOST_RESOLVER_RULES - label: Chromium | Host Resolver Rules - description: Custom mappings to the host resolver. - - id: $$cap_GOTENBERG_CHROMIUM_PROXY_SERVER - label: Chromium | Proxy Server - description: Outbound proxy server. This switch only affects HTTP and HTTPS requests. - - id: $$cap_GOTENBERG_CHROMIUM_DISABLE_JAVASCRIPT - label: Chromium | Disable JavaScript - description: Whether to disable JavaScript. - defaultValue: 'false' - validRegex: /^(true|false)$/ - - id: $$cap_GOTENBERG_CHROMIUM_DISABLE_ROUTES - label: Chromium | Disable Routes - description: Whether to disable the routes for Chromium. - defaultValue: 'false' - validRegex: /^(true|false)$/ - - id: $$cap_GOTENBERG_LIBREOFFICE_DISABLE_ROUTES - label: LibreOffice | Disable Routes - description: Whether to disable the routes for LibreOffice. - defaultValue: 'false' - validRegex: /^(true|false)$/ - - id: $$cap_GOTENBERG_LIBREOFFICE_LISTENER_START_TIMEOUT - label: LibreOffice | Listener Start Timeout - description: Time limit for starting the LibreOffice listener. - defaultValue: '10s' - validRegex: /.{1,}/ - - id: $$cap_GOTENBERG_LIBREOFFICE_LISTENER_RESTART_THRESHOLD - label: LibreOffice | Listener Restart Threshold - description: Conversions limit after which the LibreOffice listener is restarted. `0` means no long-running LibreOffice listener. - defaultValue: 10 - validRegex: /.{1,}/ - - id: $$cap_GOTENBERG_PDFENGINES_ENGINES - label: PDF Engines | Engines - description: PDF engines and their order (e.g. `pdftk,uno-pdfengine`). Leave blank to use all. - - id: $$cap_GOTENBERG_PDFENGINES_DISABLE_ROUTES - label: PDF Engines | Disable Routes - description: Whether to disable the routes for PDF Engines. - defaultValue: 'false' - validRegex: /^(true|false)$/ - - id: $$cap_GOTENBERG_WEBHOOK_ALLOW_LIST - label: Webhook | Allow List - description: Allowed URLs for the webhook feature using a regular expression. - - id: $$cap_GOTENBERG_WEBHOOK_DENY_LIST - label: Webhook | Deny List - description: Denied URLs for the webhook feature using a regular expression. - - id: $$cap_GOTENBERG_WEBHOOK_ERROR_ALLOW_LIST - label: Webhook | Error Allow List - description: Allowed URLs in case of an error for the webhook feature using a regular expression. - - id: $$cap_GOTENBERG_WEBHOOK_ERROR_DENY_LIST - label: Webhook | Error Deny List - description: Denied URLs in case of an error for the webhook feature using a regular expression. - - id: $$cap_GOTENBERG_WEBHOOK_MAX_RETRY - label: Webhook | Maximum Retry - description: Maximum number of retries for the webhook feature. - defaultValue: 4 - validRegex: /.{1,}/ - - id: $$cap_GOTENBERG_WEBHOOK_RETRY_MIN_WAIT - label: Webhook | Minimum Retry Waiting Time - description: Minimum duration to wait before trying to call the webhook again. - defaultValue: '1s' - validRegex: /.{1,}/ - - id: $$cap_GOTENBERG_WEBHOOK_RETRY_MAX_WAIT - label: Webhook | Maximum Retry Waiting Time - description: Maximum duration to wait before trying to call the webhook again. - defaultValue: '30s' - validRegex: /.{1,}/ - - id: $$cap_GOTENBERG_WEBHOOK_CLIENT_TIMEOUT - label: Webhook | Client Timeout - description: Time limit for requests to the webhook. - defaultValue: '30s' - validRegex: /.{1,}/ - - id: $$cap_GOTENBERG_WEBHOOK_DISABLE - label: Webhook | Disable - description: Whether to disable the webhook feature. - defaultValue: 'false' - validRegex: /^(true|false)$/ - - id: $$cap_GOTENBERG_PROMETHEUS_COLLECT_INTERVAL - label: Prometheus | Collect Interval - description: Interval for collecting modules' metrics. - defaultValue: '1s' - validRegex: /.{1,}/ - - id: $$cap_GOTENBERG_PROMETHEUS_NAMESPACE - label: Prometheus | Namespace - description: Namespace of modules' metrics. - defaultValue: gotenberg - validRegex: /.{1,}/ - - id: $$cap_GOTENBERG_PROMETHEUS_DISABLE_COLLECT - label: Prometheus | Disable Collect - description: Whether to disable the collect of metrics. - defaultValue: 'false' - validRegex: /^(true|false)$/ - - id: $$cap_GOTENBERG_PROMETHEUS_DISABLE_ROUTE_LOGGING - label: Prometheus | Disable Route Logging - description: Whether to disable the route logging. - defaultValue: 'false' - validRegex: /^(true|false)$/ - - id: $$cap_GOTENBERG_LOG_FORMAT - label: Logging | Format - description: Log format (`auto`, `json` or `text`) - defaultValue: auto - validRegex: /.{1,}/ - - id: $$cap_GOTENBERG_LOG_LEVEL - label: Logging | Level - description: Log level (`error`, `warn`, `info` or `debug`) - defaultValue: info - validRegex: /.{1,}/ diff --git a/public/v4/apps/gotify.yml b/public/v4/apps/gotify.yml deleted file mode 100644 index 3ec7ef483..000000000 --- a/public/v4/apps/gotify.yml +++ /dev/null @@ -1,26 +0,0 @@ -captainVersion: 4 -services: - '$$cap_appname': - image: gotify/server:$$cap_version - volumes: - - '$$cap_appname-data:/app/data' - - '$$cap_appname-config:/etc/gotify/' -caproverOneClickApp: - variables: - - id: '$$cap_version' - label: Gotify Version - defaultValue: '2.1.7' - description: Check out their Docker page for the valid tags https://hub.docker.com/r/gotify/server/tags - validRegex: "/^([^\\s^\\/])+$/" - instructions: - start: |- - Gotify is a simple server for sending and receiving messages - More details: https://gotify.net/ - end: |- - Gotify has been successfully deployed! - First you need to enable websocket. - Then, log into your instance during the next minutes with user admin password admin and change this password. - displayName: Gotify - isOfficial: true - description: Gotify is a simple server for sending and receiving messages. - documentation: See https://github.com/gotify diff --git a/public/v4/apps/grafana.yml b/public/v4/apps/grafana.yml deleted file mode 100644 index 61acf8689..000000000 --- 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/greenlight.yml b/public/v4/apps/greenlight.yml deleted file mode 100644 index a8d3c4b3a..000000000 --- a/public/v4/apps/greenlight.yml +++ /dev/null @@ -1,217 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname-greenlight: - image: bigbluebutton/greenlight:v2 - volumes: - - $$cap_appname-greenlight-log:/usr/src/app/log - - $$cap_appname-greenlight-storage:/usr/src/app/storage - caproverExtra: - containerHttpPort: '80' - environment: - SECRET_KEY_BASE: $$cap_SECRET_KEY_BASE - BIGBLUEBUTTON_ENDPOINT: $$cap_BIGBLUEBUTTON_ENDPOINT - BIGBLUEBUTTON_SECRET: $$cap_BIGBLUEBUTTON_SECRET - SAFE_HOSTS: $$cap_SAFE_HOSTS - ALLOW_GREENLIGHT_ACCOUNTS: $$cap_ALLOW_GREENLIGHT_ACCOUNTS - RECAPTCHA_SITE_KEY: $$cap_RECAPTCHA_SITE_KEY - RECAPTCHA_SECRET_KEY: $$cap_RECAPTCHA_SECRET_KEY - GOOGLE_ANALYTICS_TRACKING_ID: $$cap_GOOGLE_ANALYTICS_TRACKING_ID - ALLOW_MAIL_NOTIFICATIONS: $$cap_ALLOW_MAIL_NOTIFICATIONS - SMTP_SERVER: $$cap_SMTP_SERVER - SMTP_PORT: $$cap_SMTP_PORT - SMTP_DOMAIN: $$cap_SMTP_DOMAIN - SMTP_USERNAME: $$cap_SMTP_USERNAME - SMTP_PASSWORD: $$cap_SMTP_PASSWORD - SMTP_AUTH: $$cap_SMTP_AUTH - SMTP_STARTTLS_AUTO: $$cap_SMTP_STARTTLS_AUTO - SMTP_SENDER: $$cap_SMTP_SENDER - SMTP_TEST_RECIPIENT: $$cap_SMTP_TEST_RECIPIENT - RELATIVE_URL_ROOT: '/' - ROOM_FEATURES: $$cap_ROOM_FEATURES - PAGINATION_NUMBER: $$cap_PAGINATION_NUMBER - NUMBER_OF_ROWS: $$cap_NUMBER_OF_ROWS - ENABLE_GOOGLE_CALENDAR_BUTTON: $$cap_ENABLE_GOOGLE_CALENDAR_BUTTON - MAINTENANCE_MODE: $$cap_MAINTENANCE_MODE - MAINTENANCE_WINDOW: $$cap_MAINTENANCE_WINDOW - HELP_URL: $$cap_HELP_URL - ENABLE_SSL: $$cap_ENABLE_SSL - DB_ADAPTER: $$cap_DB_ADAPTER - DB_HOST: $$cap_DB_HOST - DB_PORT: $$cap_DB_PORT - DB_NAME: $$cap_DB_NAME - DB_USERNAME: $$cap_DB_USERNAME - DB_PASSWORD: $$cap_DB_PASSWORD - CABLE_ADAPTER: $$cap_CABLE_ADAPTER - DEFAULT_REGISTRATION: $$cap_DEFAULT_REGISTRATION - AWS_ACCESS_KEY_ID: $$cap_AWS_ACCESS_KEY_ID - AWS_SECRET_ACCESS_KEY: $$cap_AWS_SECRET_ACCESS_KEY - AWS_REGION: $$cap_AWS_REGION - AWS_BUCKET: $$cap_AWS_BUCKET - WEB_CONCURRENCY: $$cap_WEB_CONCURRENCY -caproverOneClickApp: - variables: - - id: $$cap_SECRET_KEY_BASE - description: Create a Secret Key for Rails - label: SECRET_KEY_BASE - defaultValue: $$cap_gen_random_hex(32) - - id: $$cap_BIGBLUEBUTTON_ENDPOINT - description: The endpoint for your BigBlueButton - defaultValue: https://scalelite.eunarede.stream/bigbluebutton/ - label: BIGBLUEBUTTON_ENDPOINT - - id: $$cap_BIGBLUEBUTTON_SECRET - description: The secret for your BigBlueButton - label: BIGBLUEBUTTON_SECRET - - id: $$cap_SAFE_HOSTS - description: The hostname that the application is accessible - label: SAFE_HOSTS - defaultValue: $$cap_appname.$$cap_root_domain - - id: $$cap_ALLOW_GREENLIGHT_ACCOUNTS - description: Set this to true if you want GreenLight to support user signup - label: ALLOW_GREENLIGHT_ACCOUNTS - defaultValue: 'true' - - id: $$cap_DEFAULT_REGISTRATION - description: Specify the default registration to be used by Greenlight - label: DEFAULT_REGISTRATION - defaultValue: 'open' - - id: $$cap_WEB_CONCURRENCY - description: The amount of workers (separate processes) used by the web server - label: WEB_CONCURRENCY - defaultValue: '2' - - id: $$cap_ENABLE_SSL - description: ENABLE_SSL - label: ENABLE_SSL - defaultValue: 'false' - - id: $$cap_ROOM_FEATURES - description: Specify which settings you would like the users to configure on room - label: ROOM_FEATURES - defaultValue: 'mute-on-join,require-moderator-approval,anyone-can-start,all-join-moderator,recording' - - id: $$cap_PAGINATION_NUMBER - description: Specify the maximum number of records to be sent to the BigBlueButton API in one call - label: PAGINATION_NUMBER - defaultValue: '10' - - id: $$cap_NUMBER_OF_ROWS - description: Specify the maximum number of rows that should be displayed per page for a paginated table - label: NUMBER_OF_ROWS - defaultValue: '10' - - id: $$cap_ENABLE_GOOGLE_CALENDAR_BUTTON - description: ENABLE_GOOGLE_CALENDAR_BUTTON - label: ENABLE_GOOGLE_CALENDAR_BUTTON - defaultValue: 'true' - - id: $$cap_GOOGLE_ANALYTICS_TRACKING_ID - description: GOOGLE_ANALYTICS_TRACKING_ID - label: GOOGLE_ANALYTICS_TRACKING_ID - defaultValue: '' - - id: $$cap_RECAPTCHA_SITE_KEY - description: RECAPTCHA_SITE_KEY - label: RECAPTCHA_SITE_KEY - defaultValue: '' - - id: $$cap_RECAPTCHA_SECRET_KEY - description: RECAPTCHA_SECRET_KEY - label: RECAPTCHA_SECRET_KEY - defaultValue: '' - - id: $$cap_DB_ADAPTER - description: DB_ADAPTER - label: DB_ADAPTER - defaultValue: 'postgresql' - - id: $$cap_CABLE_ADAPTER - description: CABLE_ADAPTER - label: CABLE_ADAPTER - defaultValue: 'postgresql' - - id: $$cap_DB_HOST - description: DB_HOST - label: DB_HOST - defaultValue: 'srv-captain--postgres-db' - - id: $$cap_DB_PORT - description: DB_PORT - label: DB_PORT - defaultValue: '5432' - - id: $$cap_DB_NAME - description: DB_NAME - label: DB_NAME - - id: $$cap_DB_USERNAME - description: DB_USERNAME - label: DB_USERNAME - defaultValue: 'postgres' - - id: $$cap_DB_PASSWORD - description: DB_PASSWORD - label: DB_PASSWORD - - id: $$cap_ALLOW_MAIL_NOTIFICATIONS - description: ALLOW_MAIL_NOTIFICATIONS - label: ALLOW_MAIL_NOTIFICATIONS - defaultValue: 'false' - - id: $$cap_SMTP_TEST_RECIPIENT - description: SMTP_TEST_RECIPIENT - label: SMTP_TEST_RECIPIENT - defaultValue: '' - - id: $$cap_SMTP_SERVER - description: SMTP_SERVER - label: SMTP_SERVER - defaultValue: '' - - id: $$cap_SMTP_PORT - description: SMTP_PORT - label: SMTP_PORT - defaultValue: '' - - id: $$cap_SMTP_DOMAIN - description: SMTP_DOMAIN - label: SMTP_DOMAIN - defaultValue: '' - - id: $$cap_SMTP_USERNAME - description: SMTP_USERNAME - label: SMTP_USERNAME - defaultValue: '' - - id: $$cap_SMTP_PASSWORD - description: SMTP_PASSWORD - label: SMTP_PASSWORD - defaultValue: '' - - id: $$cap_SMTP_AUTH - description: SMTP_AUTH - label: SMTP_AUTH - defaultValue: '' - - id: $$cap_SMTP_STARTTLS_AUTO - description: SMTP_STARTTLS_AUTO - label: SMTP_STARTTLS_AUTO - defaultValue: '' - - id: $$cap_SMTP_SENDER - description: SMTP_SENDER - label: SMTP_SENDER - defaultValue: '' - - id: $$cap_MAINTENANCE_MODE - description: MAINTENANCE_MODE - label: MAINTENANCE_MODE - defaultValue: '' - - id: $$cap_MAINTENANCE_WINDOW - description: MAINTENANCE_WINDOW - label: MAINTENANCE_WINDOW - defaultValue: '' - - id: $$cap_HELP_URL - description: HELP_URL - label: HELP_URL - defaultValue: '#' - - id: $$cap_AWS_ACCESS_KEY_ID - description: AWS_ACCESS_KEY_ID - label: AWS_ACCESS_KEY_ID - defaultValue: '' - - id: $$cap_AWS_SECRET_ACCESS_KEY - description: AWS_SECRET_ACCESS_KEY - label: AWS_SECRET_ACCESS_KEY - defaultValue: '' - - id: $$cap_AWS_REGION - description: AWS_REGION - label: AWS_REGION - defaultValue: '' - - id: $$cap_AWS_BUCKET - description: AWS_BUCKET - label: AWS_BUCKET - defaultValue: '' - instructions: - start: >- - Greenlight 2.0 (referred hereafter as simply β€œGreenlight”) is a Ruby on Rails application that provides a simple interface for users to create rooms, start meetings, and manage recordings. - - Remember that this app will not create a Database by itself. You need to provide all that information. - end: >- - Greenlight is deployed and available as $$cap_appname-wordpress . - - IMPORTANT: It will take up to 2 minutes for Greenlight to be ready. Before that, you might see a 502 error page. - displayName: Greenlight (no database) - description: This will create a Greenlight only. You will need to create and configure the database information manually. Intended for advanced users. - documentation: Taken from https://docs.bigbluebutton.org/greenlight/gl-overview.html. diff --git a/public/v4/apps/grocy.yml b/public/v4/apps/grocy.yml deleted file mode 100644 index 5bcbe8f16..000000000 --- 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/guacamole.yml b/public/v4/apps/guacamole.yml deleted file mode 100644 index 193f46372..000000000 --- a/public/v4/apps/guacamole.yml +++ /dev/null @@ -1,61 +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: guacamole - MYSQL_USER: guacamole - MYSQL_PASSWORD: $$cap_db_pass - caproverExtra: - notExposeAsWebApp: 'true' - $$cap_appname-guacd: - image: guacamole/guacd:$$cap_guacd_version - restart: always - caproverExtra: - notExposeAsWebApp: 'true' - $$cap_appname: - image: guacamole/guacamole:$$cap_guacamole_version - restart: always - depends_on: - - $$cap_appname-db - - $$cap_appname-guacd - environment: - GUACD_HOSTNAME: srv-captain--$$cap_appname-guacd - MYSQL_HOSTNAME: srv-captain--$$cap_appname-db - MYSQL_DATABASE: guacamole - MYSQL_USER: guacamole - MYSQL_PASSWORD: $$cap_db_pass - caproverExtra: - containerHttpPort: '8080' -caproverOneClickApp: - variables: - - id: $$cap_db_pass - label: Database password - description: '' - validRegex: /.{1,}/ - - id: $$cap_guacamole_version - label: Guacamole Version - defaultValue: '1.3.0' - description: Check out their Docker page for the valid tags https://hub.docker.com/r/guacamole/guacamole/tags - validRegex: /^([^\s^\/])+$/ - - id: $$cap_guacd_version - label: Guacd Version - defaultValue: '1.3.0' - description: Check out their Docker page for the valid tags https://hub.docker.com/r/guacamole/guacd/tags - validRegex: /^([^\s^\/])+$/ - - id: $$cap_mysql_version - label: MySQL Version - defaultValue: '8.0.26' - description: Check out their Docker page for the valid tags https://hub.docker.com/_/mysql?tab=tags - validRegex: /^([^\s^\/])+$/ - instructions: - start: Guacamole is an HTML5 Remote Desktop application. - end: Guacamole is deployed and available as srv-captain--$$cap_appname. In order to use Guacamole, you must enable websockets and setup the MySQL database. For instructions on how to setup the database, check out https://github.com/christopher-kapic/caprover-guacamole - displayName: Guacamole - isOfficial: false - description: An HTML5 remote access application. - documentation: 'https://guacamole.apache.org/' diff --git a/public/v4/apps/hasura-only.yml b/public/v4/apps/hasura-only.yml deleted file mode 100644 index 15f80f70b..000000000 --- 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 b78878701..000000000 --- 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: 'Hasura' - isOfficial: true - description: Instant realtime GraphQL APIs on any Postgres application, existing or new - documentation: Hasura GraphQL Engine diff --git a/public/v4/apps/healthchecks.yml b/public/v4/apps/healthchecks.yml deleted file mode 100644 index 9b480098f..000000000 --- a/public/v4/apps/healthchecks.yml +++ /dev/null @@ -1,56 +0,0 @@ -captainVersion: 4 -services: - # HealthChecks - $$cap_appname: - image: healthchecks/healthchecks:$$cap_hc_version - restart: always - environment: - DB: postgres - DB_HOST: srv-captain--$$cap_appname-db - DB_NAME: hc - DB_PASSWORD: $$cap_postgres_password - DB_PORT: 5432 - DB_SSLMODE: prefer - DB_TARGET_SESSION_ATTRS: read-write - DB_USER: postgres - DEBUG: False - SECRET_KEY: $$cap_gen_random_hex(64) - SITE_ROOT: http://0.0.0.0:8000 - caproverExtra: - containerHttpPort: '8000' - # Postgres - $$cap_appname-db: - image: postgres:12 - volumes: - - $$cap_appname-db-data:/var/lib/postgresql/data - restart: always - environment: - POSTGRES_USER: postgres - POSTGRES_PASSWORD: $$cap_postgres_password - POSTGRES_DB: hc - caproverExtra: - notExposeAsWebApp: 'true' -caproverOneClickApp: - variables: - - id: $$cap_hc_version - label: hc Manifest digest - defaultValue: 'v1.25.0' - description: Find on https://hub.docker.com/r/healthchecks/healthchecks/tags - - id: $$cap_postgres_password - label: Postgres Password - description: Password must be at least 12 characters. Please use a random string. - defaultValue: $$cap_gen_random_hex(16) - validRegex: /^[^\@]{12,}$/ - instructions: - start: |- - Healthchecks is a cron job monitoring service. It listens for HTTP requests and email messages ("pings") from your cron jobs and scheduled tasks ("checks"). When a ping does not arrive on time, Healthchecks sends out alerts. - Github: https://github.com/healthchecks/healthchecks - - end: |- - Aaaand you're done! πŸ˜„ - Your service is available at http://$$cap_appname.$$cap_root_domain - More environment variables can be found at https://github.com/healthchecks/healthchecks/blob/master/docker/.env - displayName: 'HealthChecks' - isOfficial: true - description: Healthchecks is a cron job monitoring service. - documentation: https://github.com/healthchecks/healthchecks diff --git a/public/v4/apps/hedgedoc.yml b/public/v4/apps/hedgedoc.yml deleted file mode 100644 index 15606e415..000000000 --- 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 513403b39..000000000 --- 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/homarr.yml b/public/v4/apps/homarr.yml deleted file mode 100644 index 8732e22b6..000000000 --- a/public/v4/apps/homarr.yml +++ /dev/null @@ -1,41 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - image: ghcr.io/ajnart/homarr:$$cap_homarr_version - volumes: - - $$cap_appname-configs:/app/data/configs - - $$cap_appname-icons:/app/public/icons - environment: - BASE_URL: $$cap_appname.$$cap_root_domain - TZ: $$cap_homarr_timezone - PASSWORD: $$cap_homarr_password - hostname: $$cap_appname.$$cap_root_domain - caproverExtra: - containerHttpPort: '7575' -caproverOneClickApp: - displayName: Homarr - description: Simple and lightweight homepage for your server, that helps you easily access all of your services in one place. - isOfficial: true - documentation: See https://github.com/ajnart/homarr - instructions: - start: |- - Homarr is a simple and lightweight homepage for your server, that helps you easily access all of your services in one place. - It integrates with the services you use to display information on the homepage (e.g. Show upcoming Sonarr/Radarr releases). - end: > - Homarr has been successfully deployed! It might take few moments before it's fully started. - You can access it at http://$$cap_appname.$$cap_root_domain - variables: - - id: $$cap_homarr_version - label: Version Tag - description: Check out their GitHub packages page for the valid tags https://github.com/ajnart/homarr/pkgs/container/homarr - defaultValue: '0.10.1' - validRegex: "/^([^\\s^\\/])+$/" - - id: $$cap_homarr_timezone - 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: UTC - validRegex: "/^([^\\s^\\/])+$/" - - id: $$cap_homarr_password - label: Password - description: Password to protect the dashboard (leave empty to disable password protection) - defaultValue: $$cap_gen_random_hex(16) diff --git a/public/v4/apps/humhub.yml b/public/v4/apps/humhub.yml deleted file mode 100644 index dfa5adad0..000000000 --- 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/imagor-local.yml b/public/v4/apps/imagor-local.yml deleted file mode 100644 index f25e34163..000000000 --- a/public/v4/apps/imagor-local.yml +++ /dev/null @@ -1,49 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - image: shumc/imagor:$$cap_imagor_version - volumes: - - $$cap_appname-data:/mnt/data - environment: - PORT: 80 - IMAGOR_UNSAFE: $$cap_env_imagor_unsafe - IMAGOR_SECRET: $$cap_env_imagor_secret - FILE_LOADER_BASE_DIR: /mnt/data - FILE_STORAGE_BASE_DIR: /mnt/data - FILE_RESULT_STORAGE_BASE_DIR: /mnt/data/result - restart: always -caproverOneClickApp: - variables: - - id: $$cap_imagor_version - label: App Version - description: Check out their Docker page for the valid tags https://hub.docker.com/r/shumc/imagor/tags - defaultValue: '0.8.11' - validRegex: /^([^\s^\/])+$/ - - - id: $$cap_env_imagor_unsafe - label: Imagor Undafe - description: unsafe URL for testing (valid value 1 or 0) - defaultValue: 1 - validRegex: /^\d$/ - - - id: $$cap_env_imagor_secret - label: Imagor Secret - description: Secret key for URL signature - defaultValue: $$cap_gen_random_hex(32) - validRegex: /^([^\s^\/])+$/ - - instructions: - start: |- - Imagor is a fast, Docker-ready image processing server written in Go. - This app will store the images in local file system, using mounted volume. - If you want to s3 buckets use the Imagor S3 instead. - GitHub: https://github.com/cshum/imagor - end: |- - $$cap_appname deployed successfuly. - Imagor is currently running in unsafe mode for easier testing. - In production environment, it is highly recommended turning off IMAGOR_UNSAFE - by setting the IMAGOR_UNSAFE to 0 or removing the IMAGOR_UNSAFE environment variable - displayName: Imagor (Local storage) - isOfficial: true - description: Imagor is a fast, Docker-ready image processing server written in Go. (Stores images locally as docker volumes) - documentation: https://github.com/cshum/imagor diff --git a/public/v4/apps/imagor-s3.yml b/public/v4/apps/imagor-s3.yml deleted file mode 100644 index 997ea63fb..000000000 --- a/public/v4/apps/imagor-s3.yml +++ /dev/null @@ -1,104 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - image: shumc/imagor:$$cap_imagor_version - environment: - PORT: 80 - IMAGOR_UNSAFE: $$cap_env_imagor_unsafe - IMAGOR_SECRET: $$cap_env_imagor_secret - AWS_ACCESS_KEY_ID: $$cap_env_aws_key_id - AWS_SECRET_ACCESS_KEY: $$cap_env_aws_secret_access_key - AWS_REGION: $$cap_env_aws_region - - S3_LOADER_BUCKET: $$cap_env_s3_loader_bucket - S3_LOADER_BASE_DIR: $$cap_env_s3_loader_bucket_dir - - S3_STORAGE_BUCKET: $$cap_env_s3_storage_bucket - S3_STORAGE_BASE_DIR: $$cap_env_s3_storage_bucket_dir - - S3_RESULT_STORAGE_BUCKET: $$cap_env_s3_result_storage_bucket - S3_RESULT_STORAGE_BASE_DIR: $$cap_env_s3_result_storage_bucket_dir - restart: always -caproverOneClickApp: - variables: - - id: $$cap_imagor_version - label: App Version - description: Check out their Docker page for the valid tags https://hub.docker.com/r/shumc/imagor/tags - defaultValue: '0.8.11' - validRegex: /^([^\s^\/])+$/ - - - id: $$cap_env_imagor_unsafe - label: Imagor Undafe - description: unsafe URL for testing (valid value 1 or 0) - defaultValue: 1 - validRegex: /^\d$/ - - - id: $$cap_env_imagor_secret - label: Imagor Secret - description: Secret key for URL signature - defaultValue: $$cap_gen_random_hex(32) - validRegex: /^([^\s^\/])+$/ - - - id: $$cap_env_aws_key_id - label: AWS Key ID - description: AWS Access Key Id - defaultValue: '' - validRegex: /^([^\s^\/])+$/ - - - id: $$cap_env_aws_secret_access_key - label: AWS Key Secret Access Key - description: AWS key secret access key - defaultValue: '' - validRegex: /^([^\s^\/])+$/ - - - id: $$cap_env_aws_region - label: AWS Region - description: AWS region - defaultValue: '' - validRegex: /^([^\s^\/])+$/ - - - id: $$cap_env_s3_loader_bucket - label: AWS S3 Loader Bucket - description: enable S3 loader by specifying bucket - defaultValue: 'mybucket' - - - id: $$cap_env_s3_loader_bucket_dir - label: AWS S3 Loader Bucket Directory - description: optional - defaultValue: 'images' - - - id: $$cap_env_s3_storage_bucket - label: AWS S3 Storage Bucket - description: enable S3 storage by specifying bucket - defaultValue: 'mybucket' - - - id: $$cap_env_s3_storage_bucket_dir - label: AWS S3 Storage Bucket Directory - description: optional - defaultValue: 'images' - - - id: $$cap_env_s3_result_storage_bucket - label: AWS S3 Result Storage Bucket - description: enable S3 result storage by specifying bucket - defaultValue: 'mybucket' - - - id: $$cap_env_s3_result_storage_bucket_dir - label: AWS S3 Result Storage Bucket Directory - description: optional - defaultValue: 'images/result' - - instructions: - start: |- - Imagor is a fast, Docker-ready image processing server written in Go. - This app will store the images in S3 bucket. - If you want to store the images locally as docker volume use Imagor Local instead. - GitHub: https://github.com/cshum/imagor - end: |- - $$cap_appname deployed successfuly. - Imagor is currently running in unsafe mode for easier testing. - In production environment, it is highly recommended turning off IMAGOR_UNSAFE - by setting the IMAGOR_UNSAFE to 0 or removing the IMAGOR_UNSAFE environment variable - displayName: Imagor (S3 storage) - isOfficial: true - description: Imagor is a fast, Docker-ready image processing server written in Go. (Stores images in S3 bucket) - documentation: https://github.com/cshum/imagor diff --git a/public/v4/apps/imgproxy.yml b/public/v4/apps/imgproxy.yml deleted file mode 100644 index 60cfe4be2..000000000 --- a/public/v4/apps/imgproxy.yml +++ /dev/null @@ -1,36 +0,0 @@ -captainVersion: 4 -caproverOneClickApp: - displayName: 'imgproxy' - description: 'Fast and secure standalone server for resizing and converting remote images' - documentation: 'https://docs.imgproxy.net/' - isOfficial: true - instructions: - start: |- - imgproxy - Fast and secure standalone server for resizing and converting remote images. - For more info visit https://imgproxy.net/. - end: |- - imgproxy has been successfully deployed as $$cap_appname. - You can your configuration if necessary. For more info visit https://docs.imgproxy.net/. - variables: - - defaultValue: 3.6.0 - id: $$cap_imgproxy_version - label: imgproxy Version - validRegex: /^(?:2|3)(?:\.[0-9]+){0,2}$/ - - defaultValue: $$cap_gen_random_hex(128) - id: $$cap_imgproxy_key - label: Signature Key - validRegex: /^[a-fA-F0-9]+$/ - - defaultValue: $$cap_gen_random_hex(128) - id: $$cap_imgproxy_salt - label: Signature Salt - validRegex: /^[a-fA-F0-9]+$/ -services: - $$cap_appname: - caproverExtra: - containerHttpPort: 5000 - environment: - IMGPROXY_BIND: 0.0.0.0:5000 - IMGPROXY_KEY: $$cap_imgproxy_key - IMGPROXY_SALT: $$cap_imgproxy_salt - image: darthsim/imgproxy:v$$cap_imgproxy_version - restart: unless-stopped diff --git a/public/v4/apps/immich.yml b/public/v4/apps/immich.yml deleted file mode 100644 index 8efce1883..000000000 --- a/public/v4/apps/immich.yml +++ /dev/null @@ -1,180 +0,0 @@ -captainVersion: 4 - -services: - $$cap_appname-server: - caproverExtra: - notExposeAsWebApp: 'true' - dockerfileLines: - - FROM ghcr.io/immich-app/immich-server:$$cap_version - - ENTRYPOINT ["/bin/sh", "./start-server.sh"] - environment: - NODE_ENV: production - DB_PASSWORD: $$cap_app_db_pass - DB_USERNAME: $$cap_app_db_user - DB_DATABASE_NAME: $$cap_app_db_name - DB_HOSTNAME: srv-captain--$$cap_appname-db - TYPESENSE_API_KEY: $$cap_typesense_api_key - TYPESENSE_HOST: srv-captain--$$cap_appname-typesense - REDIS_HOSTNAME: srv-captain--$$cap_appname-redis - UPLOAD_LOCATION: $$cap_app_upload_location - IMMICH_WEB_URL: http://srv-captain--$$cap_appname-web:3000 - IMMICH_SERVER_URL: http://srv-captain--$$cap_appname-server:3001 - IMMICH_MACHINE_LEARNING_URL: http://srv-captain--$$cap_appname-machine-learning:3003 - volumes: - - $$cap_app_upload_location:/usr/src/app/upload - depends_on: - - $$cap_appname-redis - - $$cap_appname-db - - $$cap_appname-typesense - - $$cap_appname-microservices: - caproverExtra: - notExposeAsWebApp: 'true' - dockerfileLines: - - FROM ghcr.io/immich-app/immich-server:$$cap_version - - ENTRYPOINT ["/bin/sh", "./start-microservices.sh"] - environment: - NODE_ENV: production - DB_PASSWORD: $$cap_app_db_pass - DB_USERNAME: $$cap_app_db_user - DB_DATABASE_NAME: $$cap_app_db_name - DB_HOSTNAME: srv-captain--$$cap_appname-db - TYPESENSE_API_KEY: $$cap_typesense_api_key - TYPESENSE_HOST: srv-captain--$$cap_appname-typesense - REDIS_HOSTNAME: srv-captain--$$cap_appname-redis - UPLOAD_LOCATION: $$cap_app_upload_location - IMMICH_WEB_URL: http://srv-captain--$$cap_appname-web:3000 - IMMICH_SERVER_URL: http://srv-captain--$$cap_appname-server:3001 - IMMICH_MACHINE_LEARNING_URL: http://srv-captain--$$cap_appname-machine-learning:3003 - volumes: - - $$cap_app_upload_location:/usr/src/app/upload - depends_on: - - $$cap_appname-redis - - $$cap_appname-db - - $$cap_appname-typesense - - $$cap_appname-machine-learning: - caproverExtra: - notExposeAsWebApp: 'true' - image: ghcr.io/immich-app/immich-machine-learning:$$cap_version - environment: - NODE_ENV: production - DB_PASSWORD: $$cap_app_db_pass - DB_USERNAME: $$cap_app_db_user - DB_DATABASE_NAME: $$cap_app_db_name - DB_HOSTNAME: srv-captain--$$cap_appname-db - TYPESENSE_API_KEY: $$cap_typesense_api_key - TYPESENSE_HOST: srv-captain--$$cap_appname-typesense - REDIS_HOSTNAME: srv-captain--$$cap_appname-redis - UPLOAD_LOCATION: $$cap_app_upload_location - IMMICH_WEB_URL: http://srv-captain--$$cap_appname-web:3000 - IMMICH_SERVER_URL: http://srv-captain--$$cap_appname-server:3001 - IMMICH_MACHINE_LEARNING_URL: http://srv-captain--$$cap_appname-machine-learning:3003 - volumes: - - $$cap_app_upload_location:/usr/src/app/upload - - $$cap_appname-mlcache:/cache - - $$cap_appname-web: - caproverExtra: - dockerfileLines: - - FROM ghcr.io/immich-app/immich-web:$$cap_version - - ENTRYPOINT ["/bin/sh", "./entrypoint.sh"] - notExposeAsWebApp: 'true' - environment: - NODE_ENV: production - DB_PASSWORD: $$cap_app_db_pass - DB_USERNAME: $$cap_app_db_user - DB_DATABASE_NAME: $$cap_app_db_name - DB_HOSTNAME: srv-captain--$$cap_appname-db - TYPESENSE_API_KEY: $$cap_typesense_api_key - TYPESENSE_HOST: srv-captain--$$cap_appname-typesense - REDIS_HOSTNAME: srv-captain--$$cap_appname-redis - UPLOAD_LOCATION: $$cap_app_upload_location - IMMICH_WEB_URL: http://srv-captain--$$cap_appname-web:3000 - IMMICH_SERVER_URL: http://srv-captain--$$cap_appname-server:3001 - IMMICH_MACHINE_LEARNING_URL: http://srv-captain--$$cap_appname-machine-learning:3003 - - $$cap_appname-typesense: - caproverExtra: - notExposeAsWebApp: 'true' - image: typesense/typesense:$$cap_typesense_ver - environment: - TYPESENSE_API_KEY: $$cap_typesense_api_key - TYPESENSE_DATA_DIR: '/data' - volumes: - - $$cap_appname-typesense-data:/data - - $$cap_appname-redis: - caproverExtra: - notExposeAsWebApp: 'true' - image: redis:$$cap_redis_ver - - $$cap_appname-db: - caproverExtra: - notExposeAsWebApp: 'true' - image: postgres:$$cap_app_db_ver - environment: - POSTGRES_PASSWORD: $$cap_app_db_pass - POSTGRES_USER: $$cap_app_db_user - POSTGRES_DB: $$cap_app_db_name - PG_DATA: /var/lib/postgresql/data - volumes: - - $$cap_appname-db-data:/var/lib/postgresql/data - - $$cap_appname: - caproverExtra: - containerHttpPort: 8080 - image: ghcr.io/immich-app/immich-proxy:v1.52.1 - environment: - IMMICH_SERVER_URL: http://srv-captain--$$cap_appname-server:3001 - IMMICH_WEB_URL: http://srv-captain--$$cap_appname-web:3000 - depends_on: - - $$cap_appname-server - -caproverOneClickApp: - displayName: Immich - description: Open source (MIT License) Google Photos alternative. Backup your phone's photos and videos to your private server. - isOfficial: false - documentation: https://immich.app - instructions: - start: |- - Leave every default value as is for a working and simple installation. You can specify the (full) path to the directory you want to save your media, in that case the directory must exist beforehand. Immich can be accessed via browser and with an app (Immich). If you have big media files (bigger than 500MB) in your phone, update your Nginx configuration to increase your `client_max_body_size`. - end: |- - On your first visit it will ask for email and password for the admin user. Remember to change the default Nginx configuration and increasing the 'client_max_body_size' value if you expect to upload files bigger than 500MB. - variables: - - label: Immich version - id: $$cap_version - description: Check out their valid tags at https://hub.docker.com/r/immich-app/immich/tags - defaultValue: v1.52.1 - - label: Immich redis version - id: $$cap_redis_ver - defaultValue: 6.2 - description: Check out their valid tags at https://hub.docker.com/_/redis/tags - - label: Typesense version - id: $$cap_typesense_ver - description: Check out their valid tags at https://hub.docker.com/r/typesense/typesense/tags - defaultValue: 0.24.0 - - label: Typesense API key - id: $$cap_typesense_api_key - description: A big enough string to be used to authenticate against Typesense. A random one is generated for you. - defaultValue: $$cap_gen_random_hex(32) - - label: Database password - id: $$cap_app_db_pass - description: Password for accessing the database. A random one has been generated for you. - defaultValue: $$cap_gen_random_hex(32) - - label: Database username - id: $$cap_app_db_user - description: Username to access the database - defaultValue: 'immich' - - label: Database name - id: $$cap_app_db_name - description: A name for the database used by Immich - defaultValue: 'immich' - - label: PostgreSQL database version - id: $$cap_app_db_ver - description: Immich uses PostgreSQL as a database. Check out their valid tags at https://hub.docker.com/_/postgres/tags - defaultValue: 14 - - label: Upload directory - id: $$cap_app_upload_location - description: Full path to the directory where you plan to store all your files. It should be created beforehand. If you want caprover to create it for you just leave the default 'immich-data' - defaultValue: immich-data diff --git a/public/v4/apps/influxdb.yml b/public/v4/apps/influxdb.yml deleted file mode 100644 index bbed29aec..000000000 --- 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 fda668c5f..000000000 --- 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/invidious.yml b/public/v4/apps/invidious.yml deleted file mode 100644 index 0d12a99f6..000000000 --- a/public/v4/apps/invidious.yml +++ /dev/null @@ -1,58 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname-db: - image: postgres:$$db_version - restart: always - volumes: - - $$cap_appname-data:/var/lib/postgresql/data - environment: - POSTGRES_DB: invidious - POSTGRES_PASSWORD: kemal - POSTGRES_USER: kemal - healthcheck: - test: ['CMD', 'pg_isready', '-U', 'postgres'] - caproverExtra: - notExposeAsWebApp: 'true' - $$cap_appname: - image: quay.io/invidious/invidious$$cap_version - restart: always - environment: - # Adapted from ./config/config.yml - INVIDIOUS_CONFIG: | - channel_threads: 1 - check_tables: true - feed_threads: 1 - db: - user: kemal - password: kemal - host: srv-captain--$$cap_appname-db - port: 5432 - dbname: invidious - full_refresh: false - https_only: false - domain: - caproverExtra: - containerHttpPort: '3000' - -caproverOneClickApp: - variables: - - id: '$$cap_version' - label: Invidious Version - defaultValue: '@sha256:38d9630df74d77e9b704c0dbac10c626ef0f8ccb75fa0457e546018e7227b215' - description: Check out their Quay.io page for the valid tags https://quay.io/repository/invidious/invidious?tab=tags. If you want to use the latest tag (or a versioned release, if available), start with a colon (e.g. :latest). - validRegex: "/^([^\\s^\\/])+$/" - - id: '$$db_version' - label: Postgres Version - defaultValue: '14' # there is no other tag provided - description: Check out their Docker page for the valid tags https://hub.docker.com/_/postgres?tab=tags - validRegex: "/^([^\\s^\\/])+$/" - instructions: - start: |- - Invidious is an alternative front-end to YouTube. - More details: https://github.com/iv-org/invidious - end: |- - Invidious has been successfully deployed! It may take a couple of minutes until the web frontend can be reached. - displayName: Invidious - isOfficial: true - description: Invidious is an alternative front-end to YouTube. - documentation: See https://github.com/iv-org/invidious diff --git a/public/v4/apps/invoiceninja.yml b/public/v4/apps/invoiceninja.yml deleted file mode 100644 index 43845183d..000000000 --- a/public/v4/apps/invoiceninja.yml +++ /dev/null @@ -1,150 +0,0 @@ -captainVersion: 4 -caproverOneClickApp: - instructions: - start: |- - You will need your own "Invoice App Key", you can get new one with - `docker run --rm invoiceninja/invoiceninja php artisan key:generate --show` - Detailed instructions in [Invoice Ninja Repo](https://github.com/invoiceninja/dockerfiles#alternatively-get-started-with-docker-compose) - Some variables have default values and can be set in App Config of AppName-app. Check https://github.com/invoiceninja/invoiceninja/blob/master/.env.example - end: > - Invoice Ninja is deployed, it might take few moments before it's fully started. - Initial user is: $$cap_invoiceninja_admin_user_email with password $$cap_invoiceninja_admin_pass. - Some variables have default values and can be set in App Config of $$cap_appname-app - - displayName: Invoice Ninja - isOfficial: false - description: Small Business Invoicing & Payments. - documentation: |- - Based on https://github.com/invoiceninja/dockerfiles - - Changed the db backup system to use automysqlbackup - - variables: - - id: $$cap_invoiceninja_VERSION - label: Invoice Ninja Version - defaultValue: '5.5.37' - description: It's a good idea to check for breaking changes between versions - validRegex: /^([^\s^\/])+$/ - - - id: $$cap_invoiceninja_APP_KEY - label: Invoice App Key - description: Your own App Key by Invoice Ninja. See description above. - validRegex: /^base64\:[A-Za-z0-9+\/]+={0,2}$/ - - id: $$cap_invoiceninja_admin_user_email - label: ADMIN_USER_EMAIL - defaultValue: admin@example.com - description: 'Admin user for Invoice Ninja' - validRegex: /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/ - - - id: $$cap_invoiceninja_admin_pass - label: ADMIN_USER_PASS - defaultValue: $$cap_gen_random_hex(10) - description: 'Admin pass for Invoice Ninja' - validRegex: /.{1,}/ - - - id: $$cap_invoiceninja_DB_USERNAME - label: DB_USERNAME - defaultValue: ninja - validRegex: /^([a-zA-Z0-9\-\.\_])+$/ - - - id: $$cap_invoiceninja_DB_PASSWORD - label: DB_PASSWORD - defaultValue: $$cap_gen_random_hex(10) - description: 'The password of Invoice Ninjas database user.' - validRegex: /.{1,}/ - - - id: $$cap_invoiceninja_DB_DATABASE - label: DB_DATABASE - defaultValue: ninja - validRegex: /^([a-zA-Z0-9\-\.\_])+$/ - - - id: $$cap_invoiceninja_DB_ROOT_PASSWORD - label: DB_ROOT_PASSWORD - defaultValue: $$cap_gen_random_hex(10) - description: 'The password of DB superuser.' - validRegex: /.{1,}/ - - - id: $$cap_invoiceninja_debugmode - label: Debug Mode - defaultValue: 'false' - description: 'Useful for debugging, not suitable for production' - validRegex: /^(true|false)$/ - -services: - $$cap_appname-app: - restart: always - depends_on: - - $$cap_appname-db - user: - environment: - APP_URL: http://$$cap_appname.$$cap_root_domain - APP_KEY: $$cap_invoiceninja_APP_KEY - APP_DEBUG: $$cap_invoiceninja_debugmode - REQUIRE_HTTPS: false - PHANTOMJS_PDF_GENERATION: false - PDF_GENERATOR: snappdf - QUEUE_CONNECTION: database - DB_HOST: srv-captain--$$cap_appname-db - DB_PORT: 3306 - DB_DATABASE: $$cap_invoiceninja_DB_DATABASE - DB_USERNAME: $$cap_invoiceninja_DB_USERNAME - DB_PASSWORD: $$cap_invoiceninja_DB_PASSWORD - # TODO defined as variables - IN_USER_EMAIL: $$cap_invoiceninja_admin_user_email - IN_PASSWORD: $$cap_invoiceninja_admin_pass - TRUSTED_PROXIES: 10.0.0.0/8,172.16.0.0/12,192.168.0.0/16 - volumes: - - $$cap_appname-app-public:/var/www/app/public - - $$cap_appname-app-storage:/var/www/app/storage - caproverExtra: - notExposeAsWebApp: true - dockerfileLines: - - FROM invoiceninja/invoiceninja:$$cap_invoiceninja_VERSION - - USER root - - RUN mkdir -p /var/www/app/public /var/www/app/storage - - RUN chown 1500:1500 /var/www/app/* - - USER 1500 - - $$cap_appname-db: - restart: always - image: mariadb:10.4 - environment: - MYSQL_ROOT_PASSWORD: $$cap_invoiceninja_DB_ROOT_PASSWORD - MYSQL_USER: $$cap_invoiceninja_DB_USERNAME - MYSQL_PASSWORD: $$cap_invoiceninja_DB_PASSWORD - MYSQL_DATABASE: $$cap_invoiceninja_DB_DATABASE - volumes: - - $$cap_appname-db:/var/lib/mysql - caproverExtra: - notExposeAsWebApp: true - - $$cap_appname: - restart: always - depends_on: - - $$cap_appname-app - environment: - APP_CONTAINER: srv-captain--$$cap_appname-app:9000 - volumes: - - $$cap_appname-app-public:/var/www/app/public - caproverExtra: - # Workaround for hard-coded container name in nginx config - dockerfileLines: - - FROM nginx:1.21 - - ADD https://raw.githubusercontent.com/invoiceninja/dockerfiles/$$cap_invoiceninja_VERSION/config/nginx/in-vhost.conf /etc/nginx/templates/in-vhost.conf.template - - RUN sed -i 's/app:9000/${APP_CONTAINER}/g' /etc/nginx/templates/in-vhost.conf.template - - $$cap_appname-db-backup: - restart: always - image: selim13/automysqlbackup:2.6-9 - depends_on: - - $$cap_appname-db - environment: - USERNAME: root - PASSWORD: $$cap_invoiceninja_DB_ROOT_PASSWORD - DBHOST: srv-captain--$$cap_appname-db - DBEXCLUDE: 'performance_schema information_schema' - CRON_SCHEDULE: '0 0 * * *' - EXTRA_OPTS: '--single-transaction' - volumes: - - $$cap_appname-db-backup:/backup - caproverExtra: - notExposeAsWebApp: true diff --git a/public/v4/apps/invoiceplane.yml b/public/v4/apps/invoiceplane.yml deleted file mode 100644 index 92075f775..000000000 --- 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/iredmail.yml b/public/v4/apps/iredmail.yml deleted file mode 100644 index 1f69f62d2..000000000 --- a/public/v4/apps/iredmail.yml +++ /dev/null @@ -1,206 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - ports: - - '25:25' - - '110:110' - - '143:143' - - '465:465' - - '587:587' - - '993:993' - - '995:995' - volumes: - - /etc/localtime:/etc/localtime - - $$cap_appname-data-backup-mysql:/var/vmail/backup/mysql - - $$cap_appname-data-mailboxes:/var/vmail/vmail1 - - $$cap_appname-data-mlmmj:/var/vmail/mlmmj - - $$cap_appname-data-mlmmj-archive:/var/vmail/mlmmj-archive - - $$cap_appname-data-imapsieve-copy:/var/vmail/imapsieve_copy - - $$cap_appname-data-custom:/opt/iredmail/custom - - $$cap_appname-data-ssl:/opt/iredmail/ssl - - $$cap_appname-data-mysql:/var/lib/mysql - - $$cap_appname-data-clamav:/var/lib/clamav - - $$cap_appname-data-sa-rules:/var/lib/spamassassin - - $$cap_appname-data-postfix-queue:/var/spool/postfix - restart: always - caproverExtra: - dockerfileLines: - - ARG VERSION=stable - - FROM iredmail/mariadb:$VERSION - - WORKDIR /iredmail - - ARG FIRST_MAIL_DOMAIN - - ARG HOSTNAME=mail.$FIRST_MAIL_DOMAIN - - ARG FIRST_MAIL_DOMAIN_ADMIN_PASSWORD=1234 - - ARG MLMMJADMIN_API_TOKEN - - ARG ROUNDCUBE_DES_KEY - - ARG ADMIN_VERSION=NoChange - - ENV ADMIN_VERSION=$ADMIN_VERSION - - ENV FIRST_MAIL_DOMAIN=$FIRST_MAIL_DOMAIN - - ENV HOSTNAME=$HOSTNAME - - ENV FIRST_MAIL_DOMAIN_ADMIN_PASSWORD=$FIRST_MAIL_DOMAIN_ADMIN_PASSWORD - - ENV MLMMJADMIN_API_TOKEN=$MLMMJADMIN_API_TOKEN - - ENV ROUNDCUBE_DES_KEY=ROUNDCUBE_DES_KEY - - >- - RUN echo "if [\"$ADMIN_VERSION\" != \"NoChange\" && \"$ADMIN_VERSION\" - != \"\$(ls /opt/www/ | grep 'iRedAdmin-' | cut -d'-' -f2)\"]; then - wget -c -q - https://github.com/iredmail/iRedAdmin/archive/$ADMIN_VERSION.tar.gz && - tar xzf $ADMIN_VERSION.tar.gz -C /opt/www && rm -f - $ADMIN_VERSION.tar.gz && cp -R -f /opt/www/iRedAdmin-$ADMIN_VERSION/* - /opt/www/iredadmin && sleep 1; rm -r - /opt/www/iRedAdmin-$ADMIN_VERSION; fi" >> build.sh - - RUN sh build.sh && rm build.sh - - >- - RUN cat /opt/www/iredadmin/templates/default/layout.html | replace - '
  • Webmail
  • - - ARG fix_http="\"server { listen 80; server_name _; include - /etc/nginx/templates/roundcube.tmpl; location ~ ^/iredadmin/(.*) - {return 301 /;}location = /iredadmin {return 301 /;} location / { - proxy_pass http://0.0.0.0:8080/; add_header Content-Security-Policy - \\\"\\\"; } location ~ \.php$ { root /opt/www/roundcubemail; include - /etc/nginx/templates/fastcgi_php.tmpl; fastcgi_param SCRIPT_FILENAME - /opt/www/roundcubemail\$fastcgi_script_name; } location ~ - ^/(bin|config|installer|logs|SQL|temp|vendor)/.* { deny all; } - location ~ - ^/(CHANGELOG|composer.json|INSTALL|jsdeps.json|LICENSE|README|UPGRADING)$ - { deny all; } location ~ ^/plugins/.*/config.inc.php.* { deny all; } - location ~ ^/plugins/enigma/home(\$|/.*) { deny all; } }\"" - - >- - ARG full_Script="rm /etc/nginx/sites-enabled/00-default-ssl.conf \\n - echo -e $fix_http >> /etc/nginx/sites-enabled/00-default-ssl.conf \\n - cd /opt/www/iredadmin \\n python3 iredadmin.py & disown" - - RUN echo $full_Script >> /docker/entrypoints/nginx.sh - - >- - RUN echo "\$config['force_https'] = false;" >> - /opt/www/roundcubemail/config/config.inc.php - - >- - ENV addHTML="\n
    \n

    MX record

    \n \n - \n \n - \n \n - \n \n \n - \n \n - \n \n - \n \n - \n \n \n \n - \n \n >\n \n \n - \n - \n \n - \n \n - \n
    NAMEPRIORITYTTLTYPEDATA
    {{ cur_domain }}1014400mx
    autodiscover.{{ cur_domain - }}1014400mx
    autoconfig.{{ cur_domain }}1014400mx
    \n

    SPF record

    \n \n - \n \n \n - \n \n \n - \n \n - \n \n \n \n
    NAMETTLTYPEDATA
    {{ cur_domain }}3600TXT\"v=spf1 mx - -all\"
    \n

    DKIM - record

    \n \n \n - \n \n - \n \n \n - \n {%set get_dns=dns_data()%}\n - \n \n \n - \n \n
    NAMETTLTYPEDATA
    dkim._domainkey.{{ cur_domain }}{{ - get_dns[0] }}{{ get_dns[1] }}{{ get_dns[2] }}
    \n

    SRV - record for Jabber/XMPP service

    \n \n - \n \n \n - \n \n - \n \n - \n \n \n - \n - \n \n - \n \n - \n \n - \n \n \n \n - \n \n - \n \n \n \n
    NAMETTLPORTPRIORITYWEIGHTTYPEDATA
    _xmpp-client._tcp.{{ cur_domain }}18000522205SRV
    _xmpp-server._tcp.{{ cur_domain - }}18000526905SRV
    \n

    *You - also need to setup reverse PTR record for server IP address. Documentation.

    \n \n
    " - - >- - RUN cat /opt/www/iredadmin/templates/default/sql/domain/profile.html | - replace 'id=\"profile_general\">' 'id="profile_general">addHTML' | tee - /opt/www/iredadmin/templates/default/sql/domain/profile.html - - >- - RUN echo "import os\nf = - open('/opt/www/iredadmin/templates/default/sql/domain/profile.html', - 'r')\nprint(f.read().replace('addHTML', - os.environ['addHTML'].replace('\\\\\\\n', '\\\\n')))\nf.close()" >> - buildHTML.py - - >- - RUN python3 buildHTML.py | tee - /opt/www/iredadmin/templates/default/sql/domain/profile2.html - - RUN rm buildHTML.py - - >- - RUN cat /opt/www/iredadmin/templates/default/sql/domain/profile2.html - | tee /opt/www/iredadmin/templates/default/sql/domain/profile.html && - rm /opt/www/iredadmin/templates/default/sql/domain/profile2.html - - ENV addHTML='' - - >- - RUN cat /opt/www/iredadmin/libs/iredbase.py | replace 'jinja_env_vars - = {' "$(echo 'def dns_data():\n all_keys = os.popen("amavisd-new -c - /etc/amavis/conf.d/50-user - showkeys").read().split(".")[-1].strip()\n next__ = - all_keys.split(" ")\n text_with_remove = " - ".join(next__[3:]).strip()[:-1]\n text__ = "".join(map(lambda x: - x.strip(), text_with_remove.split("\"")))\n return [next__[0], - next__[1], text__]\njinja_env_vars = {"dns_data":dns_data,' | sed -e - $'s/\\\\n/\\\n/g')" | tee /opt/www/iredadmin/libs/iredbase.py - - RUN apt install -y amavisd-new - - EXPOSE 80 443 25 465 587 110 995 143 993 - containerHttpPort: '80' - environment: - VERSION: $$cap_iredmail_version - MLMMJADMIN_API_TOKEN: $$cap_gen_random_hex(32) - ROUNDCUBE_DES_KEY: $$cap_gen_random_hex(24) - FIRST_MAIL_DOMAIN: $$cap_root_domain - HOSTNAME: $$cap_appname.$$cap_root_domain - ADMIN_VERSION: $$cap_iredmail_admin_version - FIRST_MAIL_DOMAIN_ADMIN_PASSWORD: $$cap_iredmail_default_password -caproverOneClickApp: - variables: - - id: $$cap_iredmail_version - label: iRedMail version tag - description: >- - Check out their Docker page for the valid tags - https://hub.docker.com/r/iredmail/mariadb/tags - defaultValue: stable - - id: $$cap_iredmail_admin_version - label: iRedMail Admin version tag - description: >- - Set 'NoChange' to stay by the docker image version - OR - Check out their GitHub page for the newest version - https://github.com/iredmail/iRedAdmin/tags - defaultValue: NoChange - - id: $$cap_iredmail_default_password - label: First Password - description: >- - Password for the admin login (you can change that later from the admin panel) - defaultValue: $$cap_gen_random_hex(8) - instructions: - start: >- - iRedMail is a free, open-source and full-featured mail server that allows you to host your own mail server at no cost. - SMTP + IMAP + POP3 + Antispam & Antivirus + Web administration. - - **Requirements**: At least 4GB of ram and 5GB of rom. - - Recommended: Use 'mail' as the App Name. - end: >- - You **should** enable https to access the Admin panel and the Webmail safely. - Admin panel: [$$cap_appname.$$cap_root_domain](//$$cap_appname.$$cap_root_domain), Webmail: [$$cap_appname.$$cap_root_domain/mail](//$$cap_appname.$$cap_root_domain/mail) - Credentials: postmaster@$$cap_root_domain/$$cap_iredmail_default_password - The deployment can take up to 5 minutes. - displayName: iRedMail - isOfficial: false - description: iRedMail - Open Source Mail Server, built in one container - documentation: Read the iRedMail documentation -> https://docs.iredmail.org/ diff --git a/public/v4/apps/jellyfin.yml b/public/v4/apps/jellyfin.yml deleted file mode 100644 index 6a46520b5..000000000 --- a/public/v4/apps/jellyfin.yml +++ /dev/null @@ -1,55 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - image: ghcr.io/linuxserver/jellyfin:$$cap_jf_version - environment: - PUID: $$cap_puid - PGID: $$cap_pgid - TZ: $$cap_tz - JELLYFIN_PublishedServerUrl: '$$cap_appname.$$cap_root_domain' - volumes: - - $$cap_appname-config:/config - caproverExtra: - containerHttpPort: '8096' -caproverOneClickApp: - variables: - - id: $$cap_jf_version - label: Jellyfin Version - defaultValue: '10.7.7' - description: Check out their Docker page for the valid tags https://hub.docker.com/r/linuxserver/jellyfin/tags - validRegex: /^([^\s^\/])+$/ - - 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. - - - Make sure to add volume mapping for your movies and videos after installation finishes. - - You can also optionally map 7359 and 1900 for auto discovery. - displayName: Jellyfin - isOfficial: false - description: A free media streaming alternative to Plex. 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 9c73fc30b..000000000 --- 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: 'Jenkins' - 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 e6e0d77a0..000000000 --- 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 323b5d522..000000000 --- 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 bc4003dea..000000000 --- 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 06a090fa7..000000000 --- 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: 'jsreport' - 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 7e4c018dd..000000000 --- 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 fea2ac35b..000000000 --- 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 2f4b67ed4..000000000 --- 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/keila.yml b/public/v4/apps/keila.yml deleted file mode 100644 index 2caf90066..000000000 --- a/public/v4/apps/keila.yml +++ /dev/null @@ -1,163 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - caproverExtra: - containerHttpPort: $$cap_KEILA_PORT - image: pentacent/keila:$$cap_KEILA_VERSION - hostname: $$cap_appname.$$cap_root_domain - environment: - DB_URL: postgres://$$cap_POSTGRES_USER:$$cap_POSTGRES_PASSWORD@srv-captain--$$cap_appname-db/$$cap_POSTGRES_DATABASE - DB_ENABLE_SSL: $$cap_KEILA_DB_ENABLE_SSL - KEILA_USER: $$cap_KEILA_USER - KEILA_PASSWORD: $$cap_KEILA_PASSWORD - URL_HOST: $$cap_appname.$$cap_root_domain - URL_PATH: $$cap_KEILA_URL_PATH - URL_SCHEMA: $$cap_KEILA_URL_SCHEMA - URL_PORT: $$cap_KEILA_URL_PORT - PORT: $$cap_KEILA_PORT - SECRET_KEY_BASE: $$cap_KEILA_SECRET_KEY_BASE - DISABLE_REGISTRATION: $$cap_KEILA_DISABLE_REGISTRATION - DISABLE_PRECEDENCE_HEADER: $$cap_KEILA_DISABLE_PRECEDENCE_HEADER - MAILER_TYPE: $$cap_KEILA_MAILER_TYPE - MAILER_SMTP_HOST: $$cap_KEILA_MAILER_SMTP_HOST - MAILER_SMTP_PORT: $$cap_KEILA_MAILER_SMTP_PORT - MAILER_SMTP_USER: $$cap_KEILA_MAILER_SMTP_USER - MAILER_SMTP_PASSWORD: $$cap_KEILA_MAILER_SMTP_PASSWORD - HCAPTCHA_SITE_KEY: $$cap_KEILA_HCAPTCHA_SITE_KEY - HCAPTCHA_SECRET_KEY: $$cap_KEILA_HCAPTCHA_SECRET_KEY - HCAPTCHA_URL: $$cap_KEILA_HCAPTCHA_URL - depends_on: - - $$cap_appname-db - - $$cap_appname-db: - caproverExtra: - notExposeAsWebApp: 'true' - image: postgres:$$cap_POSTGRES_VERSION - environment: - POSTGRES_USER: $$cap_POSTGRES_USER - POSTGRES_PASSWORD: $$cap_POSTGRES_PASSWORD - POSTGRES_DB: $$cap_POSTGRES_DATABASE - volumes: - - $$cap_appname-db:/var/lib/postgresql/data -caproverOneClickApp: - instructions: - start: |- - Keila is an open source alternative to newsletter tools like Mailchimp or Sendinblue. - With Keila you can easily send out newsletter campaigns and create sign-up forms. - For smaller newsletters, you can use your own email inbox to send out campaigns. - For larger newsletter projects, AWS SES, Sendgrid, and Mailgun are supported in addition to SMTP. - end: |- - Keila has been successfully deployed! It might take few moments before it's fully started. - You can access it at `http://$$cap_appname.$$cap_root_domain`. - Root user is `$$cap_KEILA_USER` with password `$$cap_KEILA_PASSWORD`. - displayName: Keila - isOfficial: true - description: Free and open source email newsletter tool. - documentation: https://www.keila.io/docs - variables: - - id: $$cap_KEILA_VERSION - label: Keila | Version Tag - description: Check out their valid tags at https://hub.docker.com/r/pentacent/keila/tags - defaultValue: '0.9' - validRegex: /.{1,}/ - - id: $$cap_KEILA_PORT - label: Keila | Port - description: Port of Keila host. - defaultValue: 4000 - validRegex: /.{1,}/ - - id: $$cap_KEILA_DB_ENABLE_SSL - label: Keila | Database SSL - description: Whether to use SSL for database connection. - defaultValue: 'false' - validRegex: /^(true|false)$/ - - id: $$cap_KEILA_USER - label: Keila | Administrator User - description: Email address for the root user. - validRegex: /.{1,}/ - - id: $$cap_KEILA_PASSWORD - label: Keila | Administrator Password - description: Password for the root user. - defaultValue: $$cap_gen_random_hex(16) - validRegex: /.{1,}/ - - id: $$cap_KEILA_URL_PATH - label: Keila | URL Path - description: Path of your Keila instance. - defaultValue: / - validRegex: /.{1,}/ - - id: $$cap_KEILA_URL_SCHEMA - label: Keila | URL Schema - description: Use `http` or `https`. URL scheme of your Keila instance. - defaultValue: http - validRegex: /^(http|https)$/ - - id: $$cap_KEILA_URL_PORT - label: Keila | URL Port - description: Port of your Keila instance. Use `80` for schema `http` or `443` for schema `https`. - defaultValue: 80 - validRegex: /^(80|443)$/ - - id: $$cap_KEILA_SECRET_KEY_BASE - label: Keila | Secret Key Base - description: Strong secret with at least 64 characters. Can be generated with `head -c 48 /dev/urandom` - defaultValue: $$cap_gen_random_hex(128) - validRegex: /.{1,}/ - - id: $$cap_KEILA_DISABLE_REGISTRATION - label: Keila | Disable Registration - description: Disable user registration by setting this variable to `true`. - defaultValue: 'true' - validRegex: /^(true|false)$/ - - id: $$cap_KEILA_DISABLE_PRECEDENCE_HEADER - label: Keila | Disable Precedence Header - description: >- - Disable the `Precedence: Bulk` header by setting this variable to `true`. - defaultValue: 'false' - validRegex: /^(true|false)$/ - - id: $$cap_KEILA_MAILER_TYPE - label: Keila | Mailer Type - description: Mail delivery type. Currently only `smtp` is supported. - defaultValue: smtp - validRegex: /.{1,}/ - - id: $$cap_KEILA_MAILER_SMTP_HOST - label: Keila | SMTP Server Hostname - description: Hostname of the SMTP server. - validRegex: /.{1,}/ - - id: $$cap_KEILA_MAILER_SMTP_PORT - label: Keila | SMTP Server Port - description: Port of the SMTP server. - defaultValue: 587 - validRegex: /.{1,}/ - - id: $$cap_KEILA_MAILER_SMTP_USER - label: Keila | SMTP User - description: Username for the SMTP server. - validRegex: /.{1,}/ - - id: $$cap_KEILA_MAILER_SMTP_PASSWORD - label: Keila | SMTP Password - description: Password for the SMTP server. - validRegex: /.{1,}/ - - id: $$cap_KEILA_HCAPTCHA_SITE_KEY - label: Keila | hCaptcha Site Key - description: Site key for hCaptcha. - - id: $$cap_KEILA_HCAPTCHA_SECRET_KEY - label: Keila | hCaptcha Secret Key - description: Secret key for hCaptcha. - - id: $$cap_KEILA_HCAPTCHA_URL - label: Keila | hCaptcha Verification URL - description: Verification URL for hCaptcha. - - id: $$cap_POSTGRES_VERSION - label: PostgreSQL | Version Tag - description: Check out their valid tags at https://hub.docker.com/_/postgres/tags - defaultValue: '14.5' - validRegex: /.{1,}/ - - id: $$cap_POSTGRES_USER - label: PostgreSQL | User - description: Database user. - defaultValue: keila - validRegex: /.{1,}/ - - id: $$cap_POSTGRES_PASSWORD - label: PostgreSQL | Password - description: Database user password. - defaultValue: $$cap_gen_random_hex(16) - validRegex: /.{1,}/ - - id: $$cap_POSTGRES_DATABASE - label: PostgreSQL | Database - description: Database name. - defaultValue: keila - validRegex: /.{1,}/ diff --git a/public/v4/apps/keycloak.yml b/public/v4/apps/keycloak.yml deleted file mode 100644 index 30d274141..000000000 --- a/public/v4/apps/keycloak.yml +++ /dev/null @@ -1,91 +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: - depends_on: - - $$cap_appname-db - restart: always - environment: - KEYCLOAK_ADMIN: $$cap_keycloak_admin - KEYCLOAK_ADMIN_PASSWORD: $$cap_keycloak_password - KC_DB_PASSWORD: $$cap_pg_pass - caproverExtra: - containerHttpPort: '8080' - dockerfileLines: - - FROM quay.io/keycloak/keycloak:$$cap_keycloak_version as builder - - ENV KC_HEALTH_ENABLED=true - - ENV KC_METRICS_ENABLED=false - - ENV KC_FEATURES=token-exchange,recovery-codes - - ENV KC_DB=postgres - - RUN /opt/keycloak/bin/kc.sh build - - - FROM quay.io/keycloak/keycloak:$$cap_keycloak_version - - COPY --from=builder /opt/keycloak/ /opt/keycloak/ - - WORKDIR /opt/keycloak - - ENV KC_DB_URL=jdbc:postgresql://srv-captain--$$cap_appname-db/keycloak - - ENV KC_DB_USERNAME=keycloak - - ENV KC_DB_PASSWORD=$$cap_pg_pass - - ENTRYPOINT ["/opt/keycloak/bin/kc.sh", "start", "--optimized --hostname=$$cap_appname.$$cap_root_domain", "--proxy=edge"] - -caproverOneClickApp: - variables: - - id: $$cap_postgres_version - label: Postgres Version - defaultValue: '10.21' - description: Check out their DB page for any valid major tested https://www.keycloak.org/server/db - validRegex: /^([^\s^\/])+$/ - - id: $$cap_keycloak_version - label: Keycloak Version - defaultValue: 20.0.3 - description: v20.0.3 current as of 2023-01-13. Check out their Docker page for the valid tags https://quay.io/repository/keycloak/keycloak?tab=tags - validRegex: /^([^\s^\/])+$/ - - id: $$cap_pg_pass - label: Postgres Password - description: 'App-to-app database credential. 12-20 characters.' - defaultValue: $$cap_gen_random_hex(20) - validRegex: /.{12,20}/ - - id: $$cap_keycloak_admin - label: Keycloak admin user - description: 'Login username for the admin web user.' - validRegex: /.{1,}/ - - id: $$cap_keycloak_password - label: Keycloak admin password - description: 'Login password for the admin web user. 12-20 characters.' - defaultValue: $$cap_gen_random_hex(20) - validRegex: /.{12,20}/ - 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://quay.io/repository/keycloak/keycloak - - Enter your Keycloak Configuration parameters and click on next. - end: > - Keycloak is deployed and available as $$cap_appname. - - Before starting using Keycloak, you'll need to - - - Enable HTTPS - - - Force HTTPS by redirecting all HTTP traffic to HTTPS - - - IMPORTANT: It will take up to 1 minutes for Keycloak to be ready. Before that, you might see 502 error page. - displayName: 'Keycloack' - isOfficial: true - description: Keycloak is an open source identity and access management solution - documentation: Taken from https://github.com/keycloak/keycloak-containers/blob/main/docker-compose-examples/keycloak-postgres.yml diff --git a/public/v4/apps/keydb.yml b/public/v4/apps/keydb.yml deleted file mode 100644 index 03b027194..000000000 --- a/public/v4/apps/keydb.yml +++ /dev/null @@ -1,38 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - volumes: - - $$cap_appname-keydb-data:/data - restart: always - environment: - KEYDB_PASSWORD: $$cap_keydb_password - caproverExtra: - dockerfileLines: - - FROM eqalpha/keydb:$$cap_keydb_architecture_v$$cap_keydb_version - - CMD exec keydb-server /etc/keydb/keydb.conf --server-threads 4 --requirepass "$KEYDB_PASSWORD" - notExposeAsWebApp: 'true' -caproverOneClickApp: - variables: - - id: $$cap_keydb_version - label: KeyDB Version - description: 'Check out their Docker page for the valid tags: https://hub.docker.com/r/eqalpha/keydb/tags' - defaultValue: '6.3.2' - validRegex: /^([^\s^\/])+$/ - - id: $$cap_keydb_architecture - label: KeyDB Architecture - description: 'Choose the architecture for your KeyDB instance (x86_64 or arm64)' - defaultValue: 'x86_64' - validRegex: /^(x86_64|arm64)$/ - - id: $$cap_keydb_password - label: KeyDB Password - validRegex: /^(\w|[^\s"])+$/ - instructions: - start: >- - KeyDB is an open source, high-performance fork of Redis. It is fully compatible with Redis and includes additional features such as multithreading. - After installation on CapRover, it will be available as srv-captain--YOUR_CONTAINER_NAME at port 6379 to other CapRover apps. - Enter your KeyDB container name and click on next. It will take about a minute for the process to finish. - end: "KeyDB 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_keydb_password'})" - displayName: 'KeyDB' - isOfficial: true - description: KeyDB is a high-performance fork of Redis, fully compatible with Redis and includes additional features such as multithreading - documentation: Taken from https://hub.docker.com/r/eqalpha/keydb diff --git a/public/v4/apps/kibana.yml b/public/v4/apps/kibana.yml deleted file mode 100644 index 5c560fcdb..000000000 --- a/public/v4/apps/kibana.yml +++ /dev/null @@ -1,46 +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 - SERVER_PUBLICBASEURL: $$cap_SERVER_PUBLICBASEURL - image: docker.elastic.co/kibana/kibana:$$cap_version - restart: always - caproverExtra: - containerHttpPort: '5601' -caproverOneClickApp: - variables: - - label: Kibana version - defaultValue: 8.4.1 - description: It's highly recommended that you don't use the latest tag but instead the major version you need. See https://hub.docker.com/_/kibana for a list of versions. - 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:9200 - id: $$cap_ELASTICSEARCH_HOSTS - - label: SERVER_PUBLICBASEURL - defaultValue: http://$$cap_appname.$$cap_root_domain - description: The public URL of the Kibana app. Make sure to change this if you force HTTPS-only! - id: $$cap_SERVER_PUBLICBASEURL - 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/kimai2.yml b/public/v4/apps/kimai2.yml deleted file mode 100644 index d96570f76..000000000 --- a/public/v4/apps/kimai2.yml +++ /dev/null @@ -1,101 +0,0 @@ -captainVersion: 4 -services: - # kimai FPM - $$cap_appname-fpm: - depends_on: - - $$cap_appname-db - image: kimai/kimai2:$$cap_kimai_version - restart: 'always' - environment: - ADMINMAIL: $$cap_kimai-adminmail - ADMINPASS: $$cap_kimai-adminpass - MAILER_URL: $$cap_kimai-mailerurl - MAILER_FROM: $$cap_kimai-mailerfrom - DATABASE_URL: mysql://$$cap_mariadb-user:$$cap_mariadb-pass@srv-captain--$$cap_appname-db/$$cap_mariadb-db - TRUSTED_HOSTS: $$cap_appname.$$cap_root_domain,nginx,localhost,127.0.0.1 - volumes: - - $$cap_appname-public:/opt/kimai/public - caproverExtra: - notExposeAsWebApp: 'true' - # mariadb - $$cap_appname-db: - image: mariadb:$$cap_mariadb_version - environment: - MYSQL_DATABASE: $$cap_mariadb-db - MYSQL_USER: $$cap_mariadb-user - MYSQL_PASSWORD: $$cap_mariadb-pass - MYSQL_ROOT_PASSWORD: $$cap_mariadb-rootpass - volumes: - - $$cap_appname-db-data:/var/lib/mysql - restart: unless-stopped - caproverExtra: - notExposeAsWebApp: 'true' - $$cap_appname: - image: lcxat/nginx-fpm-reverse-proxy:$$cap_nginx_version - environment: - FPM_NGINX_HOST: srv-captain--$$cap_appname-fpm - volumes: - - $$cap_appname-public:/opt/kimai/public:ro - depends_on: - - $$cap_appname-fpm - restart: unless-stopped -caproverOneClickApp: - variables: - - id: $$cap_kimai_version - label: Version Tag - description: Check out their Docker page for the valid tags https://hub.docker.com/r/kimai/kimai2/tags - defaultValue: 'fpm-1.15.2-prod' - validRegex: /^([^\s^\/])+$/ - - id: $$cap_mariadb_version - label: mariaDB Version - defaultValue: '10' - description: Check out their docker page for the valid tags https://hub.docker.com/_/mariadb - validRegex: /^([^\s^\/])+$/ - - id: $$cap_nginx_version - label: nginx fpm Version - defaultValue: '1.21.3' - description: Check out their docker page for the valid tags https://hub.docker.com/r/lcxat/nginx-fpm-reverse-proxy/tags - validRegex: /^([^\s^\/])+$/ - - id: $$cap_kimai-adminmail - label: Admin - description: Admin User Email - defaultValue: admin@admin.local - - id: $$cap_kimai-adminpass - label: Password - description: Admin Password - defaultValue: $$cap_gen_random_hex(32) - - id: $$cap_kimai-mailerurl - label: Mail URL - description: Mail URL, check https://www.kimai.org/documentation/emails.html for details - defaultValue: smtp://localhost:25?encryption=&auth_mode= - - id: $$cap_kimai-mailerfrom - lable: Mail From - description: an application wide β€œfrom” address for all emails - defaultValue: kimai@admin.local - - id: $$cap_mariadb-db - label: Database Name - description: Database name for kimai - defaultValue: 'kimai' - - id: $$cap_mariadb-user - label: mariadb User - description: Database User for kimai - defaultValue: 'kimaiuser' - - 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: |- - With Kimai, the boring process of feeding Excel spreadsheets with your working hours is not only simplified, it also offers dozens of other exciting features that you don't even know you're missing so far! - end: |- - Aaaand you're done! πŸ˜„ - Your service is available at http://$$cap_appname.$$cap_root_domain - ------------------------------------------------------------------- - displayName: Kimai - isOfficial: false - description: With Kimai, the boring process of feeding spreadsheets with your working hours is not only simplified, it also offers dozens of other exciting features that you don't even know you're missing! - documentation: https://www.kimai.org/documentation/ diff --git a/public/v4/apps/kutt.yml b/public/v4/apps/kutt.yml deleted file mode 100644 index 567f81daa..000000000 --- a/public/v4/apps/kutt.yml +++ /dev/null @@ -1,230 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - caproverExtra: - containerHttpPort: $$cap_KUTT_PORT - image: kutt/kutt:$$cap_KUTT_VERSION - environment: - PORT: $$cap_KUTT_PORT - SITE_NAME: $$cap_KUTT_SITE_NAME - DEFAULT_DOMAIN: $$cap_appname.$$cap_root_domain - LINK_LENGTH: $$cap_KUTT_LINK_LENGTH - DB_HOST: srv-captain--$$cap_appname-db - DB_NAME: $$cap_POSTGRES_DB - DB_USER: $$cap_POSTGRES_USER - DB_PASSWORD: $$cap_POSTGRES_PASSWORD - REDIS_HOST: srv-captain--$$cap_appname-cache - DISALLOW_REGISTRATION: $$cap_KUTT_DISALLOW_REGISTRATION - DISALLOW_ANONYMOUS_LINKS: $$cap_KUTT_DISALLOW_ANONYMOUS_LINKS - USER_LIMIT_PER_DAY: $$cap_KUTT_USER_LIMIT_PER_DAY - NON_USER_COOLDOWN: $$cap_KUTT_NON_USER_COOLDOWN - DEFAULT_MAX_STATS_PER_LINK: $$cap_KUTT_DEFAULT_MAX_STATS_PER_LINK - CUSTOM_DOMAIN_USE_HTTPS: $$cap_KUTT_CUSTOM_DOMAIN_USE_HTTPS - JWT_SECRET: $$cap_KUTT_JWT_SECRET - ADMIN_EMAILS: $$cap_KUTT_ADMIN_EMAILS - RECAPTCHA_SITE_KEY: $$cap_KUTT_RECAPTCHA_SITE_KEY - RECAPTCHA_SECRET_KEY: $$cap_KUTT_RECAPTCHA_SECRET_KEY - GOOGLE_SAFE_BROWSING_KEY: $$cap_KUTT_GOOGLE_SAFE_BROWSING_KEY - GOOGLE_ANALYTICS: $$cap_KUTT_GOOGLE_ANALYTICS_INDIVIDUAL - GOOGLE_ANALYTICS_UNIVERSAL: $$cap_KUTT_GOOGLE_ANALYTICS_UNIVERSAL - MAIL_HOST: $$cap_KUTT_MAIL_HOST - MAIL_PORT: $$cap_KUTT_MAIL_PORT - MAIL_SECURE: $$cap_KUTT_MAIL_SECURE - MAIL_USER: $$cap_KUTT_MAIL_USER - MAIL_FROM: $$cap_KUTT_MAIL_FROM - MAIL_PASSWORD: $$cap_KUTT_MAIL_PASSWORD - REPORT_EMAIL: $$cap_KUTT_REPORT_EMAIL - CONTACT_EMAIL: $$cap_KUTT_CONTACT_EMAIL - depends_on: - - $$cap_appname-db - - $$cap_appname-cache - - $$cap_appname-db: - caproverExtra: - notExposeAsWebApp: 'true' - image: postgres:$$cap_POSTGRES_VERSION - environment: - POSTGRES_USER: $$cap_POSTGRES_USER - POSTGRES_PASSWORD: $$cap_POSTGRES_PASSWORD - POSTGRES_DB: $$cap_POSTGRES_DB - volumes: - - $$cap_appname-db:/var/lib/postgresql/data - - $$cap_appname-cache: - caproverExtra: - notExposeAsWebApp: 'true' - image: redis:$$cap_REDIS_VERSION - volumes: - - $$cap_appname-cache:/data - -caproverOneClickApp: - displayName: Kutt - description: Free Modern URL Shortener - isOfficial: true - documentation: https://github.com/thedevs-network/kutt - instructions: - start: |- - Kutt is a modern URL shortener with support for custom domains. Shorten URLs, manage your links and view the click rate statistics. - end: |- - Kutt has been successfully deployed! It might take few moments before it's fully started. - You can access it at `http://$$cap_appname.$$cap_root_domain`. - variables: - - id: $$cap_KUTT_VERSION - label: Version | Application - description: Kutt's version. Check out their valid tags at https://hub.docker.com/r/kutt/kutt/tags - defaultValue: v2.7.3 - validRegex: /.{1,}/ - - id: $$cap_POSTGRES_VERSION - label: Version | Database - description: PostgreSQL's version. Check out their valid tags at https://hub.docker.com/_/postgres/tags - defaultValue: '14.0-alpine' - validRegex: /.{1,}/ - - id: $$cap_REDIS_VERSION - label: Version | Cache - description: Redis' version. Check out their valid tags at https://hub.docker.com/_/redis/tags - defaultValue: '6.2-alpine' - validRegex: /.{1,}/ - - id: $$cap_KUTT_ADMIN_EMAILS - label: Administration | Admin Email Addresses - description: Comma separated email addresses of administrators so they can access admin actions on settings page. - - id: $$cap_KUTT_PORT - label: General | Port - description: Kutt's port. Should be left untouched. - defaultValue: 3000 - validRegex: /.{1,}/ - - id: $$cap_KUTT_SITE_NAME - label: General | Site Name - description: The name of the site (e.g. `My Link Shortener`). - defaultValue: Kutt - validRegex: /.{1,}/ - - id: $$cap_KUTT_LINK_LENGTH - label: General | Link Length - description: Length of the generated links. - defaultValue: 6 - validRegex: /.{1,}/ - - id: $$cap_KUTT_DEFAULT_MAX_STATS_PER_LINK - label: Performance | Maximum Stats Per Link - description: Maximum number of visits for each link to have detailed statistics. - defaultValue: 5000 - validRegex: /.{1,}/ - - id: $$cap_KUTT_DISALLOW_REGISTRATION - label: Privacy | Disallow Registration - description: Whether to disable registration. - defaultValue: 'false' - validRegex: /^(true|false)$/ - - id: $$cap_KUTT_DISALLOW_ANONYMOUS_LINKS - label: Privacy | Disallow Anonymous Links - description: Whether to disable creation of links anonymously. - defaultValue: 'false' - validRegex: /^(true|false)$/ - - id: $$cap_KUTT_USER_LIMIT_PER_DAY - label: Anti-Abuse | Daily Limit - description: Daily link creation limit for each user. - defaultValue: 50 - validRegex: /.{1,}/ - - id: $$cap_KUTT_NON_USER_COOLDOWN - label: Anti-Abuse | Non-User Cool Down - description: Cool down for non-logged in users in minutes. Set to `0` to disable. - defaultValue: '0' - validRegex: /.{1,}/ - - id: $$cap_KUTT_RECAPTCHA_SITE_KEY - label: Anti-Abuse | Recaptcha Site Key - description: >- - Site key for Recaptcha. - Leave blank if you do not want to use Recaptcha. - - id: $$cap_KUTT_RECAPTCHA_SECRET_KEY - label: Anti-Abuse | Recaptcha Secret Key - description: >- - Secret key for Recaptcha. - Leave blank if you do not want to use Recaptcha. - - id: $$cap_KUTT_GOOGLE_SAFE_BROWSING_KEY - label: Anti-Abuse | Google Safe Browsing Key - description: >- - Key for Google Cloud API to prevent from users from submitting malware URLs. - Leave blank if you do not want to use Google Safe Browsing. - - id: $$cap_KUTT_CUSTOM_DOMAIN_USE_HTTPS - label: Security | HTTPS For Custom Domains - description: Whether to use HTTPS for links with custom domain. - defaultValue: 'false' - validRegex: /^(true|false)$/ - - id: $$cap_KUTT_JWT_SECRET - label: Security | JWT Secret - description: >- - Passphrase to encrypt JWT. Should be a long and secure key. - You can also generate one using command `openssl rand -hex 64`. - defaultValue: $$cap_gen_random_hex(64) - validRegex: /.{1,}/ - - id: $$cap_POSTGRES_DB - label: Database | Name - description: Name of the database in PostgreSQL. - defaultValue: kutt - validRegex: /.{1,}/ - - id: $$cap_POSTGRES_USER - label: Database | User - description: Name of the database user in PostgreSQL. - defaultValue: kutt - validRegex: /.{1,}/ - - id: $$cap_POSTGRES_PASSWORD - label: Database | Password - description: Password of the database user in PostgreSQL. - defaultValue: $$cap_gen_random_hex(16) - validRegex: /.{1,}/ - - id: $$cap_KUTT_GOOGLE_ANALYTICS_INDIVIDUAL - label: Tracking | Google Analytics Tracking ID - description: >- - Tracking ID for Google Analytics. Format is `UA-XXXX-XX`. - Leave blank if you do not want to use Google Analytics. - - id: $$cap_KUTT_GOOGLE_ANALYTICS_UNIVERSAL - label: Tracking | Google Analytics Universal Tracking ID - description: >- - Universal tracking ID for Google Analytics. Format is `UA-XXXX-XX`. - Leave blank if you do not want to use Google Analytics. - - id: $$cap_KUTT_MAIL_HOST - label: Mail | Host - description: >- - Mail host used to send verification mails. - Leave blank if you do not want to use email delivery. - If you would like to approve users manually you will have - to search for the verification token of the user - in the database (`SELECT verification_token FROM users WHERE email='myuser@mydomain'`) - and call `/verify/` to verify. - - id: $$cap_KUTT_MAIL_PORT - label: Mail | Port - description: >- - Port of mail host used to send verification mails. - Using port `465` is recommended. - Leave blank if you do not want to use email delivery. - defaultValue: 465 - - id: $$cap_KUTT_MAIL_USER - label: Mail | User - description: >- - Mail user that sends verification mails. - Leave blank if you do not want to use email delivery. - - id: $$cap_KUTT_MAIL_PASSWORD - label: Mail | Password - description: >- - Password of mail user that sends verification mails. - Leave blank if you do not want to use email delivery. - - id: $$cap_KUTT_MAIL_SECURE - label: Mail | Security - description: >- - Whether to use secure connection to send mails. - Use value `true` (recommended) or `false` when using email delivery. - Leave blank when not using email delivery. - defaultValue: 'true' - - id: $$cap_KUTT_MAIL_FROM - label: Mail | Sender - description: >- - Specify the "From" field. - Example: `Kutt `. - Leave blank to use the mail address only. - - id: $$cap_KUTT_REPORT_EMAIL - label: Contact | Report Mail Address - description: >- - Mail address that will receive submitted reports. - Leave blank to disable. - - id: $$cap_KUTT_CONTACT_EMAIL - label: Contact | Contact Mail Address - description: >- - Support mail address to show on the application. - Leave blank to disable. diff --git a/public/v4/apps/lago.yml b/public/v4/apps/lago.yml deleted file mode 100644 index 6f00f77e8..000000000 --- a/public/v4/apps/lago.yml +++ /dev/null @@ -1,271 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - image: getlago/front:$$cap_LAGO_VERSION - hostname: $$cap_appname.$$cap_root_domain - environment: - API_URL: http://$$cap_appname-api.$$cap_root_domain - APP_ENV: $$cap_LAGO_ENVIRONMENT - CODEGEN_API: http://$$cap_appname-api.$$cap_root_domain - LAGO_DISABLE_SIGNUP: $$cap_LAGO_DISABLE_SIGNUP - depends_on: - - $$cap_appname-api - - $$cap_appname-api: - caproverExtra: - containerHttpPort: $$cap_LAGO_API_PORT - dockerfileLines: - - FROM getlago/api:$$cap_LAGO_VERSION - - CMD ["./scripts/start.sh"] - hostname: $$cap_appname-api.$$cap_root_domain - environment: - LAGO_API_URL: http://$$cap_appname-api.$$cap_root_domain - DATABASE_URL: postgresql://$$cap_POSTGRES_USER:$$cap_POSTGRES_PASSWORD@srv-captain--$$cap_appname-db/$$cap_POSTGRES_DB - REDIS_URL: redis://srv-captain--$$cap_appname-cache - SECRET_KEY_BASE: $$cap_LAGO_API_SECRET_KEY_BASE - RAILS_ENV: $$cap_LAGO_ENVIRONMENT - RAILS_LOG_TO_STDOUT: $$cap_LAGO_API_LOG_TO_STDOUT - SENTRY_DSN: $$cap_LAGO_API_SENTRY_DSN - LAGO_FRONT_URL: http://$$cap_appname.$$cap_root_domain - RSA_PRIVATE_KEY: $$cap_LAGO_API_RSA_PRIVATE_KEY - LAGO_RSA_PRIVATE_KEY: $$cap_LAGO_API_RSA_PRIVATE_KEY - LAGO_SIDEKIQ_WEB: $$cap_LAGO_API_SIDEKIQ_WEB - ENCRYPTION_PRIMARY_KEY: $$cap_LAGO_API_ENCRYPTION_PRIMARY_KEY - ENCRYPTION_DETERMINISTIC_KEY: $$cap_LAGO_API_ENCRYPTION_DETERMINISTIC_KEY - ENCRYPTION_KEY_DERIVATION_SALT: $$cap_LAGO_API_ENCRYPTION_KEY_DERIVATION_SALT - LAGO_USE_AWS_S3: $$cap_LAGO_API_USE_AWS_S3 - LAGO_AWS_S3_ACCESS_KEY_ID: $$cap_LAGO_API_AWS_S3_ACCESS_KEY_ID - LAGO_AWS_S3_SECRET_ACCESS_KEY: $$cap_LAGO_API_AWS_S3_SECRET_ACCESS_KEY - LAGO_AWS_S3_REGION: $$cap_LAGO_API_AWS_S3_REGION - LAGO_AWS_S3_BUCKET: $$cap_LAGO_API_AWS_S3_BUCKET - LAGO_AWS_S3_ENDPOINT: $$cap_LAGO_API_AWS_S3_ENDPOINT - LAGO_PDF_URL: http://srv-captain--$$cap_appname-pdf - LAGO_REDIS_CACHE_URL: redis://srv-captain--$$cap_appname-cache - LAGO_DISABLE_SEGMENT: $$cap_LAGO_API_DISABLE_SEGMENT - volumes: - - $$cap_appname-api-storage-data:/app/storage - depends_on: - - $$cap_appname-db - - $$cap_appname-cache - - $$cap_appname-api-worker: - caproverExtra: - notExposeAsWebApp: 'true' - dockerfileLines: - - FROM getlago/api:$$cap_LAGO_VERSION - - CMD ["./scripts/start.worker.sh"] - environment: - LAGO_API_URL: http://$$cap_appname-api.$$cap_root_domain - DATABASE_URL: postgresql://$$cap_POSTGRES_USER:$$cap_POSTGRES_PASSWORD@srv-captain--$$cap_appname-db/$$cap_POSTGRES_DB - REDIS_URL: redis://srv-captain--$$cap_appname-cache - SECRET_KEY_BASE: $$cap_LAGO_API_SECRET_KEY_BASE - RAILS_ENV: $$cap_LAGO_ENVIRONMENT - RAILS_LOG_TO_STDOUT: $$cap_LAGO_API_LOG_TO_STDOUT - SENTRY_DSN: $$cap_LAGO_API_SENTRY_DSN - LAGO_RSA_PRIVATE_KEY: $$cap_LAGO_API_RSA_PRIVATE_KEY - RSA_PRIVATE_KEY: $$cap_LAGO_API_RSA_PRIVATE_KEY - ENCRYPTION_PRIMARY_KEY: $$cap_LAGO_API_ENCRYPTION_PRIMARY_KEY - ENCRYPTION_DETERMINISTIC_KEY: $$cap_LAGO_API_ENCRYPTION_DETERMINISTIC_KEY - ENCRYPTION_KEY_DERIVATION_SALT: $$cap_LAGO_API_ENCRYPTION_KEY_DERIVATION_SALT - LAGO_USE_AWS_S3: $$cap_LAGO_API_USE_AWS_S3 - LAGO_AWS_S3_ACCESS_KEY_ID: $$cap_LAGO_API_AWS_S3_ACCESS_KEY_ID - LAGO_AWS_S3_SECRET_ACCESS_KEY: $$cap_LAGO_API_AWS_S3_SECRET_ACCESS_KEY - LAGO_AWS_S3_REGION: $$cap_LAGO_API_AWS_S3_REGION - LAGO_AWS_S3_BUCKET: $$cap_LAGO_API_AWS_S3_BUCKET - LAGO_AWS_S3_ENDPOINT: $$cap_LAGO_API_AWS_S3_ENDPOINT - LAGO_PDF_URL: http://srv-captain--$$cap_appname-pdf - LAGO_REDIS_CACHE_URL: redis://srv-captain--$$cap_appname-cache - LAGO_DISABLE_SEGMENT: $$cap_LAGO_API_DISABLE_SEGMENT - volumes: - - $$cap_appname-api-storage-data:/app/storage - depends_on: - - $$cap_appname-api - - $$cap_appname-api-clock: - caproverExtra: - notExposeAsWebApp: 'true' - dockerfileLines: - - FROM getlago/api:$$cap_LAGO_VERSION - - CMD ["./scripts/start.clock.sh"] - environment: - LAGO_API_URL: http://$$cap_appname-api.$$cap_root_domain - DATABASE_URL: postgresql://$$cap_POSTGRES_USER:$$cap_POSTGRES_PASSWORD@srv-captain--$$cap_appname-db/$$cap_POSTGRES_DB - REDIS_URL: redis://srv-captain--$$cap_appname-cache - SECRET_KEY_BASE: $$cap_LAGO_API_SECRET_KEY_BASE - RAILS_ENV: $$cap_LAGO_ENVIRONMENT - RAILS_LOG_TO_STDOUT: $$cap_LAGO_API_LOG_TO_STDOUT - SENTRY_DSN: $$cap_LAGO_API_SENTRY_DSN - LAGO_RSA_PRIVATE_KEY: $$cap_LAGO_API_RSA_PRIVATE_KEY - RSA_PRIVATE_KEY: $$cap_LAGO_API_RSA_PRIVATE_KEY - ENCRYPTION_PRIMARY_KEY: $$cap_LAGO_API_ENCRYPTION_PRIMARY_KEY - ENCRYPTION_DETERMINISTIC_KEY: $$cap_LAGO_API_ENCRYPTION_DETERMINISTIC_KEY - ENCRYPTION_KEY_DERIVATION_SALT: $$cap_LAGO_API_ENCRYPTION_KEY_DERIVATION_SALT - depends_on: - - $$cap_appname-api - - $$cap_appname-pdf: - caproverExtra: - notExposeAsWebApp: 'true' - image: getlago/lago-gotenberg:$$cap_GOTENBERG_VERSION - - $$cap_appname-db: - caproverExtra: - notExposeAsWebApp: 'true' - image: postgres:$$cap_POSTGRES_VERSION - environment: - POSTGRES_DB: $$cap_POSTGRES_DB - POSTGRES_USER: $$cap_POSTGRES_USER - POSTGRES_PASSWORD: $$cap_POSTGRES_PASSWORD - PGDATA: $$cap_POSTGRES_PGDATA - volumes: - - $$cap_appname-db-data:/data/postgres - - $$cap_appname-cache: - caproverExtra: - notExposeAsWebApp: 'true' - image: redis:$$cap_REDIS_VERSION - volumes: - - $$cap_appname-cache-data:/data - -caproverOneClickApp: - instructions: - start: |- - Lago is an open source billing API for product-led SaaS. - The best alternative to Chargebee, Recurly or Stripe Billing. - For usage-based, subscription-based, and all the nuances of pricing in between. - end: |- - Lago has been successfully deployed! It might take few moments before it's fully started. - You can access it at `http://$$cap_appname.$$cap_root_domain`. - displayName: Lago - isOfficial: true - description: Open source billing API for product-led SaaS - documentation: https://doc.getlago.com/docs/guide/intro/welcome - variables: - - id: $$cap_LAGO_VERSION - label: General | Lago Version - description: Check out their valid tags at https://hub.docker.com/r/getlago/api/tags - defaultValue: v0.11.0-alpha - validRegex: /.{1,}/ - - id: $$cap_POSTGRES_VERSION - label: General | PostgreSQL Version - description: Check out their valid tags at https://hub.docker.com/_/postgres/tags - defaultValue: '14.0-alpine' - validRegex: /.{1,}/ - - id: $$cap_REDIS_VERSION - label: General | Redis Version - description: Check out their valid tags at https://hub.docker.com/_/redis/tags - defaultValue: '6.2-alpine' - validRegex: /.{1,}/ - - id: $$cap_GOTENBERG_VERSION - label: General | Gotenberg Version - description: Check out their valid tags at https://hub.docker.com/r/getlago/lago-gotenberg/tags - defaultValue: 7 - validRegex: /.{1,}/ - - id: $$cap_LAGO_ENVIRONMENT - label: General | Environment - description: Environment of the application. Should be left untouched. - defaultValue: production - validRegex: /^(production|development)$/ - - id: $$cap_LAGO_DISABLE_SIGNUP - label: Application | Disable Sign-Up - description: Whether to disable registration. - defaultValue: 'false' - validRegex: /^(true|false)$/ - - id: $$cap_LAGO_API_PORT - label: API | Port - description: Port of the API. - defaultValue: 3000 - validRegex: /.{1,}/ - - id: $$cap_LAGO_API_SECRET_KEY_BASE - label: API | Secret Key - description: >- - Secret key used for session encryption. - You can generate one using command `openssl rand -hex 64`. - defaultValue: $$cap_gen_random_hex(64) - validRegex: /.{1,}/ - - id: $$cap_LAGO_API_LOG_TO_STDOUT - label: API | Output Log - description: Whether to log output to `stdout`. Should be left untouched. - defaultValue: 'true' - validRegex: /^(true|false)$/ - - id: $$cap_LAGO_API_DISABLE_SEGMENT - label: API | Disable Tracking - description: Whether to opt-out of analytics. - defaultValue: 'true' - validRegex: /^(true|false)$/ - - id: $$cap_LAGO_API_SENTRY_DSN - label: API | Sentry DSN - description: Sentry DSN key for error and performance tracking. - - id: $$cap_LAGO_API_RSA_PRIVATE_KEY - label: API | RSA Private Key - description: >- - Private key used for webhook signatures. - You should generate one using this command `openssl genrsa 2048 | base64`. - defaultValue: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBMmVmN0Eyc216b25PRU9oRm5wZ2gwZEd4Zk1JUXR1M290YlREcFFKdkxUTzl0YUhRCnlIZDRwUU5KNytqdW5EMy82QXZCbk1tQ0p4a3JJcDNrZ0xUN0tFTTFKaGVVdU90TXlvUWVSYTFYVEVUR2RiN24KWHN6WnBGRVBsYXFHUVVMeWZGTUVUTXh6elJPK0JOZFg3SFRkeDEwTi8vTklJTHBoSlJORm1QRlhDTXJodTFTbQpMVjQ2UmVkUm9JZjI1Z05XY0FHeG9STkZXcEJtUENienJZM2VTUDJpUFYwOHZwUDZ2aWFBSWpWd2VoSEhXTU05CmNzQitlYXJGRk9aRllROE9hOFVBS1RFVUNSVWhyelorS2ZmVkNRVjlrOW4rV0tueks2MlUvVXlveWZZV2hiZXIKeWJYdmliSlE2eXcxdElYZFJrL1lseVFEVmxFK080Qlk1WWV1cHdJREFRQUJBb0lCQUhIZlVNV1FrVThOcEtvaApONENSYjlyK0FncDRQOVBZcit1RTgxaWYxUW1DS0hscWZuakVOai9GWURZSE8rcGFYQWtmVzZaYmg3QjI3cHZBCmQxRHJRdlRmYWo3bHc4cCs3RHBJb0trNDFJMyt3dGQxVStPdW1XM05EcC9mNVJqbHEySmMzN3BpZllHRjk1OEEKQ2VwL2lBWlBFcW5Xc0xLcHMycDBqOEpGSEg1eXovYXd1bkRwRDhNb0d1NUM0cTdLSHJoeEpDYlc0bUw3OVVWQgpCbWwxTUpQZTM5a3AwSFVlRlRVVUhYdU02TmRKZ3lVRmtZTE9ES3IxaFF3dStFdzNzMUJlSmpLdkRpZm1xdGJyCnVKY1l1MEZjNHNWeEhKQXl2bTQ5elZqWFN4VGkvMUl1eHdveUp5KzhRbmY5bDdpTWkyK0JpRXJLKzNYUnlZOUwKTWcxNEQ4RUNnWUVBKzkxdm05V0ZhN1Jxek10VU5KQUZqRGwxcW83d0lDaHhJU2ZMdUVxRVgwUng3b3gyYlRyagp4VlJaNnRIdkd0S0NibHVZa1BhL00ySGhqT2JKeVRZYjBGcUx5bkZKVDFQekZPcVVJSFpVcUg4cEVWRXkyRExtCnFTeDFqM1pBd1cxUWQvaUtvakMyR2hEd0syYTJZZ2Fxb1JiL0tzQlN5N3JnL21oZ2IwTlpEck1DZ1lFQTNYdlIKcUROWDMvK0VpOWR1V3U1RGlNWVEzZTNnVnl5RGJuT1J2Y3BJZ2x2TDlVcFZiVVcvVWdpT1VEQTBYSzN3M0o0agovTHRsT0xvZnp2c1NsYTJjZWptRVkxYkFsL3hSVkpyWWJaWlRjYlhmUXlrMWsxUzEyREVlbElSd3dXc0RXbGQ5CmsrZmRqd09sWGVCUHJWeWVCK1BmRCsvb2pVc1d5Mk5EeUROckdqMENnWUVBNnkrYVFZei8ybFFOaXBDdlg2bkEKMUhEdlZFWEhLbkE1TzNtYXZNc3drbmtxWGxQaFhod29ocUkrbUl4U1Z0eU5tUm1FL0pDOGQvR0ZtWG9Fb1JRYQpvdE42UjU3RGt3VFVMd3JoS1BMMkdLVXRKeE9JZytQOENhc1BWOWhYbllkREpkUDdPSHArQVJjaC9aVWE1NnhMCjlzS3ZvUzhYNFUvdk93RWlVNk15N1FzQ2dZQWxsa2ZFVmNKSi8yRU5JbWhXQWkxdjNyMHFESjZQN0x2NVdKK1oKSitVYVNsM1lxTjdLaHBXclpFeFNpM3UzWnNXRGkwcnNMeGxFZ1VHNHJKOUF5NC9NcGtveldadWhyMjVWLzFsUApiNzJGaEtuNUNkdFB2NGFFeEFFK2p5TmJqNytuNjBVaWZxejVBbE5rRlJjd2dwRkhJWUxQZjVWbHRTS1BMYTlwCklHREN1UUtCZ1FDTGJJWEI3aHc2dGhHTitNVGNwK0Q1dXhacGYzcTB1eTc5Q3IxMktuM2ltZVI0c1Nmd2Q3RHgKSDdGeStMV2tQbHU2elNYamNIWFVRMDgwb1BoREVKYlZvN0I1WkJKWFhqeDRoWE1oVGdCaE5rY0tHL1dsdCtjeQpKSkdmTlY5dzIvVG5ZWW9pbFgxT1BTdk4rejNLN1AvRmMyUWVZS3c0c090aWsyOWhJTWJZTkE9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo= - validRegex: /.{1,}/ - - id: $$cap_LAGO_API_SIDEKIQ_WEB - label: API | Sidekiq Web - description: Activate the Sidekiq web UI, disabled by default. - - id: $$cap_LAGO_API_ENCRYPTION_PRIMARY_KEY - label: API | Encryption Primary Key - description: >- - Encryption primary key used to secure sensitive values stored in the database. - You should generate one using this command `cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1`. - defaultValue: $$cap_gen_random_hex(32) - validRegex: /.{1,}/ - - id: $$cap_LAGO_API_ENCRYPTION_DETERMINISTIC_KEY - label: API | Encryption Deterministic Key - description: >- - Encryption deterministic key used to secure sensitive values stored in the database. - You should generate one using this command `cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1`. - defaultValue: $$cap_gen_random_hex(32) - validRegex: /.{1,}/ - - id: $$cap_LAGO_API_ENCRYPTION_KEY_DERIVATION_SALT - label: API | Encryption Key Derivation Salt - description: >- - Encryption key salt used to secure sensitive values stored in the database. - You should generate one using this command `cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1`. - defaultValue: $$cap_gen_random_hex(32) - validRegex: /.{1,}/ - - id: $$cap_LAGO_API_USE_AWS_S3 - label: API | Use AWS S3 - description: Whether to use AWS S3 for file storage. - defaultValue: 'false' - validRegex: /^(true|false)$/ - - id: $$cap_LAGO_API_AWS_S3_ACCESS_KEY_ID - label: API | AWS S3 Access Key ID - description: AWS access key ID that has access to S3. - - id: $$cap_LAGO_API_AWS_S3_SECRET_ACCESS_KEY - label: API | AWS S3 Secret Access Key - description: AWS secret access key that has access to S3. - - id: $$cap_LAGO_API_AWS_S3_REGION - label: API | AWS S3 Region - description: AWS S3 region (e.g. `us-east-1`). - - id: $$cap_LAGO_API_AWS_S3_BUCKET - label: API | AWS S3 Bucket - description: AWS S3 bucket name. - - id: $$cap_LAGO_API_AWS_S3_ENDPOINT - label: API | AWS S3 Endpoint - description: >- - S3 compatible storage endpoint. - Should be set only if you are using another storage provider than AWS S3. - - id: $$cap_POSTGRES_DB - label: Database | Name - description: Name of the PostgreSQL. - defaultValue: lago - validRegex: /.{1,}/ - - id: $$cap_POSTGRES_USER - label: Database | User Name - description: Name of the PostgreSQL user. - defaultValue: lago - validRegex: /.{1,}/ - - id: $$cap_POSTGRES_PASSWORD - label: Database | User Password - description: Password of the PostgreSQL user. - defaultValue: $$cap_gen_random_hex(16) - validRegex: /.{1,}/ - - id: $$cap_POSTGRES_PGDATA - label: Database | Data Directory - description: Path to the data directory within PostgreSQL. - defaultValue: /data/postgres - validRegex: /.{1,}/ diff --git a/public/v4/apps/leantime.yml b/public/v4/apps/leantime.yml deleted file mode 100644 index db1481322..000000000 --- a/public/v4/apps/leantime.yml +++ /dev/null @@ -1,61 +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:8.0.32 - - 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 - LEAN_DEFAULT_TIMEZONE: $$cap_timezone - LEAN_SESSION_PASSWORD: $$cap_gen_random_hex(32) - LEAN_SESSION_EXPIRATION: 28800 -caproverOneClickApp: - variables: - - id: $$cap_mysql_passwd - label: MySQL User Password - description: User password for the database instance. - defaultValue: $$cap_gen_random_hex(16) - validRegex: /^(?=.*\d).{10,}$/ - - id: $$cap_leantime_ver - label: Leantime Version - description: 'Check out their Docker page for the valid tags https://hub.docker.com/r/leantime/leantime' - defaultValue: 2.3.6 - validRegex: /.+/ - - id: $$cap_timezone - 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 - instructions: - start: |- - Leantime is an open source project management system for small teams and startups written in PHP, Javascript using MySQL. Designed to help you manage your projects from ideation to delivery. - - See more details here at https://leantime.io - end: |- - βœ… Leantime has been successfully deployed and will soon be available at https://$$cap_appname.$$cap_root_domain! - - ❗️ **IMPORTANT**: Before accessing the Leantime dashboard, you must enable HTTPS: - - **Step 1**: Go to the settings for `$$cap_appname` - **Step 2**: Enable **HTTPS** - - -------------------------------------------- - πŸ”° More information on initial configuration can be found at https://docs.leantime.io/#/. - displayName: Leantime - isOfficial: true - description: Leantime is an open source project management system for small teams and startups written in PHP, Javascript using MySQL. - documentation: More information on initial configuration can be found at https://docs.leantime.io/#/. This template was developed using variables from https://github.com/Leantime/docker-leantime/blob/master/docker-compose.yml diff --git a/public/v4/apps/libreddit.yml b/public/v4/apps/libreddit.yml deleted file mode 100644 index 4a796ce1c..000000000 --- a/public/v4/apps/libreddit.yml +++ /dev/null @@ -1,25 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - image: spikecodes/libreddit@$$cap_libreddit_version - restart: always - caproverExtra: - containerHttpPort: '8080' -caproverOneClickApp: - variables: - - id: $$cap_libreddit_version - label: Libreddit Docker Image SHA Hash - defaultValue: sha256:34882b799cc1d58becfc80cf3fec15bae945bf28715f5fba7af05825642f8a8e - description: Check out their Docker page for the valid tags https://hub.docker.com/r/spikecodes/libreddit/tags/ - instructions: - start: >- - Alternative private front-end to Reddit. Libreddit hopes to provide an easier way to browse Reddit, without the ads, trackers, and bloat. - - For more details, see: https://github.com/spikecodes/libreddit - end: >- - Aaaand you're done! πŸ˜„ - Your service is available at http://$$cap_appname.$$cap_root_domain - displayName: Libreddit - isOfficial: true - description: Alternative private front-end to Reddit. Libreddit hopes to provide an easier way to browse Reddit, without the ads, trackers, and bloat. - documentation: 'Taken from https://github.com/spikecodes/libreddit ' diff --git a/public/v4/apps/limesurvey.yml b/public/v4/apps/limesurvey.yml deleted file mode 100644 index 2a2f9ef14..000000000 --- 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/listmonk.yml b/public/v4/apps/listmonk.yml deleted file mode 100644 index 59a91981b..000000000 --- a/public/v4/apps/listmonk.yml +++ /dev/null @@ -1,84 +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_postgres_username - POSTGRES_PASSWORD: $$cap_postgres_password - POSTGRES_DB: $$cap_postgres_db_name - caproverExtra: - notExposeAsWebApp: 'true' - $$cap_appname: - environment: - TZ: Etc/UTC - LISTMONK_db__host: srv-captain--$$cap_appname-db - LISTMONK_db__database: $$cap_postgres_db_name - LISTMONK_db__user: $$cap_postgres_username - LISTMONK_db__password: $$cap_postgres_password - LISTMONK_db__ssl_mode: $$cap_postgres_ssl_mode - LISTMONK_app__admin_username: $$cap_listmonk_admin_username - LISTMONK_app__admin_password: $$cap_listmonk_admin_password - LISTMONK_app__address: 0.0.0.0:9000 - caproverExtra: - containerHttpPort: 9000 - dockerfileLines: - - FROM listmonk/listmonk:$$cap_listmonk_version - - CMD yes | ./listmonk --install --idempotent && ./listmonk $$cap_listmonk_flags - volumes: - - $$cap_appname-data:/listmonk - depends_on: - - $$cap_appname-db - -caproverOneClickApp: - variables: - - id: $$cap_postgres_version - label: Postgresql Version - defaultValue: '14.1' - description: Check out their Docker page for the valid tags https://hub.docker.com/_/postgres?tab=tags - validRegex: /^([^\s^\/])+$/ - - id: $$cap_listmonk_version - label: Listmonk Version - defaultValue: 'v2.2.0' - description: Check out their Docker page for the valid tags https://hub.docker.com/r/listmonk/listmonk/tags - validRegex: /^([^\s^\/])+$/ - - id: $$cap_postgres_db_name - label: PostgreSQL Database name - defaultValue: 'listmonk' - validRegex: /.{1,}/ - - id: $$cap_postgres_username - label: PostgreSQL username - defaultValue: 'listmonk' - validRegex: /.{1,}/ - - id: $$cap_postgres_password - label: PostgreSQL Password - defaultValue: $$cap_gen_random_hex(32) - validRegex: /.{1,}/ - - id: $$cap_postgres_ssl_mode - label: PostgreSQL SSL Mode - defaultValue: 'disable' - validRegex: /.{1,}/ - - id: $$cap_listmonk_admin_username - label: Listmonk Admin Username - defaultValue: 'listmonk' - validRegex: /.{1,}/ - - id: $$cap_listmonk_admin_password - label: Listmonk Admin Password - defaultValue: $$cap_gen_random_hex(32) - validRegex: /.{1,}/ - - id: $$cap_listmonk_flags - label: Optional Listmonk flags - description: |- - If you use `--static-dir=your/folder`, remember to add a persistent directory. - instructions: - start: |- - High performance, self-hosted newsletter and mailing list manager with a modern dashboard - end: |- - $$cap_appname is deployed - displayName: Listmonk - isOfficial: false ## Only if all images used here are official or from a trusted source. - description: High performance, self-hosted newsletter and mailing list manager with a modern dashboard - documentation: This docker-compose is taken https://github.com/knadh/listmonk diff --git a/public/v4/apps/litestream.yml b/public/v4/apps/litestream.yml deleted file mode 100644 index b39fbda7e..000000000 --- a/public/v4/apps/litestream.yml +++ /dev/null @@ -1,70 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - caproverExtra: - dockerfileLines: - - FROM litestream/litestream:$$cap_version - - RUN mkdir /config - - |- - RUN test -f /config/litestream.yml || echo -e "dbs:\n - path: $$cap_db_path\n replicas:\n - type: s3\n bucket: $$cap_bucket\n path: $$cap_dest_path\n endpoint: $$cap_endpoint_url\n access-key-id: $$cap_access_key_id\n secret-access-key: $$cap_secret_access_key" > /config/litestream.yml - - ENTRYPOINT ["/usr/local/bin/litestream"] - - CMD ["replicate", "-config", "/config/litestream.yml"] - notExposeAsWebApp: 'true' - volumes: - - $$cap_appname-data:/data - - $$cap_appname-config:/config - environment: - LITESTREAM_ACCESS_KEY_ID: $$cap_access_key_id - LITESTREAM_SECRET_ACCESS_KEY: $$cap_secret_access_key -caproverOneClickApp: - variables: - - id: '$$cap_version' - label: Litestream Version - defaultValue: '0.3' - description: Check out their Docker page for the valid tags https://hub.docker.com/r/litestream/litestream/tags - validRegex: "/^([^\\s^\\/])+$/" - - id: '$$cap_access_key_id' - label: Access key ID - defaultValue: $$cap_gen_random_hex(20) - description: Enter your replica-specific authentication key - - id: '$$cap_secret_access_key' - label: Secret access key - defaultValue: $$cap_gen_random_hex(40) - description: Enter your replica-specific secret key - - id: '$$cap_db_path' - label: Database path within container - defaultValue: '/data/db' - description: Enter the database path within the container - - id: '$$cap_dest_path' - label: Path within bucket - defaultValue: 'db' - description: Enter the path to use within the bucket - - id: '$$cap_bucket' - label: Bucket name - defaultValue: 'BUCKET' - description: Enter the name of the remote bucket to replicate to - - id: '$$cap_endpoint_url' - label: S3 endpoint URL - defaultValue: '' - description: Enter your endpoint URL of the S3-compatible service. Only required for non-AWS services. - - instructions: - start: |- - This one-click app will deploy Litestream, a standalone streaming replication tool for SQLite. It runs as a background process and safely replicates changes incrementally to a S3 bucket. - To use this app, you need to enter your S3 credentials (access key ID and secret access key). - end: |- - Your litestream service has been deployed successfully! - - Important! Read this and take a screenshot so you can refer to it! - - By default, $$cap_appname-data volume, which is an empty directory, is mapped to your litestream data folder which is at /data inside the app. To change this: - Go to CapRover > Apps > Litestream > App Config tab and change $$cap_appname-data to - a) some other volume name such as "cap_appname-myappvolume" if you want litestream to access a sqlite database in this volume - b) "/some/existing/path/on/host" if you want litestream to access a database on a specific path on the host. - Don't change the "/data" part of the mapping as the "/data" is the directory inside the litestream container that is used to look for databases. - - The $$cap_appname-config volume stores the config file used by litestream. It can be modified, even after creation of the app but the container needs to be restartet in order to apply the new settings. - displayName: Litestream - isOfficial: true - description: Streaming replication for SQLite - documentation: https://github.com/benbjohnson/litestream diff --git a/public/v4/apps/logzio-collector.yml b/public/v4/apps/logzio-collector.yml deleted file mode 100644 index 9dfe5a0fd..000000000 --- a/public/v4/apps/logzio-collector.yml +++ /dev/null @@ -1,41 +0,0 @@ -captainVersion: 4 -version: 3.3 -services: - '$$cap_appname': - image: logzio/docker-collector-logs:$$cap_version - volumes: - - /var/run/docker.sock:/var/run/docker.sock - - /var/lib/docker/containers:/var/lib/docker/containers - environment: - LOGZIO_TOKEN: '$$cap_token' - matchContainerName: '$$cap_matchContainerName' - caproverExtra: - notExposeAsWebApp: 'true' -caproverOneClickApp: - variables: - - id: '$$cap_version' - label: Logzio collector version - defaultValue: '0.4.0' - description: See https://hub.docker.com/r/logzio/docker-collector-logs/tags for a list of versions. - validRegex: "/^([^\\s^\\/])+$/" - - id: '$$cap_token' - label: Logzio Token - defaultValue: - description: Get yours from https://app.logz.io/#/dashboard/send-your-data/log-sources/docker-swarm - validRegex: '/.{1,}/' - - id: '$$cap_matchContainerName' - label: matchContainerName env var for logzio - defaultValue: no-container-match-hence-no-logs - description: |- - Change the default value to empty if you want all logs to be shipped. - This is a comma-separated list of containers you want to collect the logs from. If a container's name partially matches a name on the list, that container's logs are shipped. Otherwise, its logs are ignored. Note: Can't be used with skipContainerName - instructions: - start: |- - With Logz.io you can have the open source monitoring tools on a fully managed cloud service. - Please visit https://app.logz.io/#/dashboard/send-your-data/log-sources/docker-swarm for more information on usage. - end: |- - Logzio log collector is deployed and has started collecting logs. - displayName: Logzio Logs Collector - isOfficial: true - description: With Logz.io you can have the open source monitoring tools on a fully managed cloud service. - documentation: See https://app.logz.io/#/dashboard/send-your-data/log-sources/docker-swarm. diff --git a/public/v4/apps/lychee.yml b/public/v4/apps/lychee.yml deleted file mode 100644 index a7e052483..000000000 --- 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/maildev.yml b/public/v4/apps/maildev.yml deleted file mode 100644 index 54d061c48..000000000 --- a/public/v4/apps/maildev.yml +++ /dev/null @@ -1,52 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - image: maildev/maildev:$$cap_maildev_version - ports: - - $$cap_maildev_smtp_port:1025 - volumes: - - $$cap_appname-data:/data - restart: always - environment: - MAILDEV_SMTP_PORT: $$cap_maildev_smtp_port - MAILDEV_MAIL_DIRECTORY: /data - MAILDEV_WEB_USER: $$cap_maildev_web_user - MAILDEV_WEB_PASS: - caproverExtra: - containerHttpPort: '1080' -caproverOneClickApp: - variables: - - id: $$cap_maildev_version - label: MailDev Version - defaultValue: 2.0.5 - description: Check out their Docker page for the valid tags https://hub.docker.com/r/maildev/maildev/tags - validRegex: /^([^\s^\/])+$/ - - id: $$cap_maildev_smtp_port - label: Maildev SMTP Port - defaultValue: 1025 - description: Maildev SMTP Port. Defaults to 1025. - validRegex: /^([^\s^\/])+$/ - - id: $$cap_maildev_web_user - label: Web User - defaultValue: admin - description: Maildev HTTP user for GUI. - - id: $$cap_maildev_web_pass - label: Web Pass - defaultValue: $$cap_gen_random_hex(4) - description: HTTP password for GUI. - instructions: - start: >- - MailDev is a simple way to test your project's generated email during development, with an easy to use web interface that runs on your machine built on top of Node.js. - - More information about this container can be found here: - https://hub.docker.com/r/maildev/maildev . - - Official website: https://maildev.github.io/maildev/ - - After installation on CapRover, it will be available as srv-captain--YOUR_CONTAINER_NAME at port 1080 to other CapRover apps . - - end: Congrats! Your Maildev container is up and running. - displayName: 'Maildev' - isOfficial: true - description: MailDev is a simple way to test your project's generated email during development. - documentation: Taken from https://hub.docker.com/r/maildev/maildev diff --git a/public/v4/apps/mailtrain.yml b/public/v4/apps/mailtrain.yml deleted file mode 100644 index e5dcf1b26..000000000 --- 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:1-ef5ffcb - 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:1-ef5ffcb - 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 62899f967..000000000 --- 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 4b6d01ea6..000000000 --- a/public/v4/apps/mastodon.yml +++ /dev/null @@ -1,233 +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:14-alpine - 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: v4.1 - - - 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: >- - Your self-hosted, globally interconnected microblogging community - - end: >- - 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--$$cap_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--$$cap_appname-system` - - - -------------------------------------------------- - - 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 220060ccf..000000000 --- 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: 'Matomo analytics' - 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/matrix-conduit.yml b/public/v4/apps/matrix-conduit.yml deleted file mode 100644 index dd1b1cf44..000000000 --- a/public/v4/apps/matrix-conduit.yml +++ /dev/null @@ -1,89 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - image: matrixconduit/matrix-conduit:$$cap_conduit_version - restart: unless-stopped - environment: - CONDUIT_SERVER_NAME: '$$cap_conduit_server_name' - CONDUIT_DATABASE_BACKEND: 'rocksdb' - CONDUIT_ALLOW_REGISTRATION: '$$cap_conduit_allow_registration' - CONDUIT_ALLOW_FEDERATION: '$$cap_conduit_allow_federation' - CONDUIT_MAX_REQUEST_SIZE: '$$cap_conduit_max_request_size' - CONDUIT_TRUSTED_SERVERS: '["matrix.org"]' - CONDUIT_MAX_CONCURRENT_REQUESTS: '$$cap_conduit_max_concurrent_requests' - CONDUIT_LOG: 'info,rocket=off,_=off,sled=off' - volumes: - - '$$cap_appname-data:/var/lib/matrix-conduit' - caproverExtra: - containerHttpPort: '6167' - -caproverOneClickApp: - variables: - - id: '$$cap_conduit_version' - label: Conduit Version - defaultValue: 'v0.4.0' - description: Check out their Docker page for the valid tags https://hub.docker.com/r/matrixconduit/matrix-conduit/tags - validRegex: '/^v[0-9]{1,}|latest$/' - - id: '$$cap_conduit_server_name' - label: 'Conduit server name' - defaultValue: 'example.com' - description: >- - The domain part for your usernames (e.g. @myusername:example.com). - - You will need to set up .well-known files on that domain (for our example https://example.com/.well-known/matrix/...) - to point to your actual domain (which will probably be something like appname.apps.your-caprover-domain.com). - - You might find the Synapse documentation useful for this: https://matrix-org.github.io/synapse/latest/setup/installation.html#client-well-known-uri - - id: '$$cap_conduit_allow_registration' - label: Enable public registration - defaultValue: 'false' - description: >- - Set this to true if you want EVERYONE to be able to register. - It's recommended to set this to false as soon as possible. - - Otherwise, your server might be used by spammers to mass-register accounts, - which will risk your server being banned by other servers. - validRegex: '/^(true|false)$/i' - - id: '$$cap_conduit_allow_federation' - label: Enable federation with other homeservers - defaultValue: 'true' - description: >- - Set this to false if you don't want your users to talk to users on other Matrix servers. - validRegex: '/^(true|false)$/i' - - id: '$$cap_conduit_max_request_size' - label: Max request size - defaultValue: '20000000' - description: >- - The maximum allowed size for incoming requests, in bytes. - - If you set this higher than 500000000, you will will also need to increase the nginx "client_max_body_size". - validRegex: '/^[0-9]{2,}$/' - - id: '$$cap_conduit_max_concurrent_requests' - label: Maximum number of concurrent requests - defaultValue: '100' - instructions: - start: >- - Conduit is a simple, fast and reliable chat server powered by the Matrix protocol - - Matrix is build to federate with other servers, so you can communicate with people from other servers. - - More information about matrix can be found here: https://matrix.org/. - - More information about Conduit in particular is available on https://conduit.rs/. - end: >- - Almost done. - - Enable and force https in the web interface! - - Unless you have set up .well-known files for other servers to find your server, you can not message users on other servers. - - To set up a .well-known file for Clients, go to https://matrix-org.github.io/synapse/latest/setup/installation.html#client-well-known-uri - - Else, $$cap_appname.$$cap_root_domain is the domain you enter in the custom homeserver field of your client. - - Remember this is just the server, you also need a client like https://app.element.io/ to use this app. - - displayName: 'Matrix Conduit' - isOfficial: true - description: 'Server for the matrix protocol, written in Rust' - documentation: 'https://gitlab.com/famedly/conduit/-/blob/next/README.md' diff --git a/public/v4/apps/matrix-synapse.yml b/public/v4/apps/matrix-synapse.yml deleted file mode 100644 index b1d3abc1e..000000000 --- a/public/v4/apps/matrix-synapse.yml +++ /dev/null @@ -1,116 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname-db: - image: postgres:$$cap_postgres_version - restart: unless-stopped - environment: - POSTGRES_DB: synapse_db - POSTGRES_PASSWORD: $$cap_db_password - POSTGRES_USER: synapse_user - POSTGRES_INITDB_ARGS: --encoding='UTF8' --lc-collate='C' --lc-ctype='C' - volumes: - - $$cap_appname-db:/var/lib/postgresql/data - caproverExtra: - notExposeAsWebApp: true - - $$cap_appname: - restart: unless-stopped - environment: - TZ: $$cap_time_zone - volumes: - - $$cap_appname-data:/data - caproverExtra: - containerHttpPort: '8008' - dockerfileLines: - - FROM matrixdotorg/synapse:$$cap_synapse_version - - RUN mkdir /data/ - - ENV SYNAPSE_SERVER_NAME=$$cap_appname.$$cap_root_domain - - ENV SYNAPSE_REPORT_STATS=$$cap_synapse_stats - - RUN /start.py generate - - RUN echo '\nserve_server_wellknown\072 true' >> /data/homeserver.yaml - - RUN echo "\nenable_registration\072 $$cap_enable_registration \nenable_registration_without_verification\072 true" >> /data/homeserver.yaml - - RUN echo "\nmax_upload_size\072 $$cap_max_upload_sizeM" >> /data/homeserver.yaml - - RUN sed -i '/^server_name.*/a public_baseurl\o072 "https://$$cap_appname.$$cap_root_domain"' /data/homeserver.yaml - - RUN sed -i 's/name\o072 sqlite3/name\o072 psycopg2/g' /data/homeserver.yaml - - RUN sed -i 's/database\o072 .*homeserver\.db/database\o072 synapse_db\n user\o072 synapse_user\n password\o072 $$cap_db_password\n host\o072 srv-captain--$$cap_appname-db\n port\o072 5432\n/g' /data/homeserver.yaml - -caproverOneClickApp: - variables: - - id: '$$cap_synapse_version' - label: Synapse Version - defaultValue: 'v1.63.1' - description: Check out their Docker page for the valid tags https://hub.docker.com/r/matrixdotorg/synapse/tags - validRegex: '/^v[0-9]{1,}|latest$/' - - id: '$$cap_time_zone' - label: Time zone - defaultValue: Europe/Berlin - description: The time zone of your server https://en.wikipedia.org/wiki/List_of_tz_database_time_zones - validRegex: '/.{1,}/' - - id: '$$cap_synapse_stats' - label: Report stats - defaultValue: 'no' - description: 'Report stats' - validRegex: '/^(yes|no)$/i' - - id: '$$cap_enable_registration' - label: Enable public registration - defaultValue: 'false' - description: >- - Set this to true if you want EVERYONE to be able to register. - It's recommended to set this to false and create users manually. - validRegex: '/^(true|false)$/i' - - id: '$$cap_max_upload_size' - label: Max upload size - defaultValue: '300' - description: >- - The maximum size of a file that can be uploaded, in megabytes. - - If you set this higher than 500, you will will also need to increase the nginx "client_max_body_size". - validRegex: '/^[0-9]{1,}$/' - - id: '$$cap_postgres_version' - label: Postgres version - defaultValue: '14' - description: >- - The version of postgres that you want to use. - You can find the valid versions here: https://hub.docker.com/r/postgres/postgres/tags - validRegex: '/^[0-9]{1,}|latest$/' - - id: '$$cap_db_password' - label: Database password - defaultValue: $$cap_gen_random_hex(20) - description: >- - The password for the Synapse database. - validRegex: '/^[0-9a-zA-Z]{1,}$/' - instructions: - start: >- - Synapse is a server implementation of the matrix protocol that allows you to host your own messaging server. - - Matrix is build to federate with other servers, so you can communicate with people from other servers. - - More information about matrix can be found here: https://matrix.org/ - end: >- - Almost done. - - Enable and force https in the web interface - - Wait 30 seconds, go to https://$$cap_appname.$$cap_root_domain and should be able to see "It works! Synapse is running" - - $$cap_appname.$$cap_root_domain is the domain you enter in the custom homeserver field of your client - - Remember this is just the server, you also need a client like https://app.element.io/ to use this app. - - - If you set public registration to false, you can create new users with the following command: - - sudo docker exec -it $(sudo docker ps | grep -o srv-captain--$$cap_appname\..*) register_new_matrix_user http://localhost:8008 -c /data/homeserver.yaml - - - You can always change the config file located in /var/lib/docker/volumes/srv-captain--$$cap_appname-data/_data/homeserver.yaml - - - link to the the configuration manual: https://matrix-org.github.io/synapse/latest/usage/configuration/config_documentation.html - - after a change restart the container by clicking "Save & Update" - - displayName: Matrix Synapse - isOfficial: true - description: Server for the matrix protocol - documentation: https://github.com/matrix-org/synapse/tree/develop/docker diff --git a/public/v4/apps/mattermost-ee.yml b/public/v4/apps/mattermost-ee.yml deleted file mode 100644 index 5df42ca82..000000000 --- a/public/v4/apps/mattermost-ee.yml +++ /dev/null @@ -1,55 +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: mmuser - POSTGRES_PASSWORD: $$cap_pg_pass - POSTGRES_DB: mattermost - caproverExtra: - notExposeAsWebApp: 'true' - $$cap_appname: - image: mattermost/mattermost-enterprise-edition:$$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 - MM_SQLSETTINGS_DATASOURCE: postgres://mmuser:$$cap_pg_pass@srv-captain--$$cap_appname-db:5432/mattermost?sslmode=disable&connect_timeout=10 - caproverExtra: - containerHttpPort: '8065' -caproverOneClickApp: - variables: - - id: $$cap_mattermost_version - label: mattermost Docker Image tag. Use 'latest' for updated images. - defaultValue: release-6.7 - description: Check out their Docker page for the valid tags https://hub.docker.com/r/mattermost/mattermost-prod-app/tags - - id: $$cap_postgres_version - label: postgres database Docker Image tag. Use 'latest' for updated images. - defaultValue: 14.3 - description: Check out their Docker page for the valid tags https://hub.docker.com/_/postgres?tab=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/mautic-only.yml b/public/v4/apps/mautic-only.yml deleted file mode 100644 index 742ee5b55..000000000 --- a/public/v4/apps/mautic-only.yml +++ /dev/null @@ -1,70 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - image: mautic/mautic:$$cap_mautic_version - volumes: - - $$cap_appname-data:/var/www/html - restart: always - environment: - MAUTIC_DB_HOST: $$cap_db_host - MAUTIC_DB_USER: $$cap_db_user - MAUTIC_DB_PASSWORD: $$cap_db_pass - MAUTIC_DB_NAME: $$cap_db_name - MAUTIC_RUN_CRON_JOBS: 'true' -caproverOneClickApp: - variables: - - id: $$cap_db_host - label: Database Host - description: 'Database host ex. srv-captain--mydbsrv:3306' - - id: $$cap_db_user - label: Database user - description: 'Inform the database user' - validRegex: /^([a-zA-Z0-9])+$/ - - id: $$cap_db_pass - label: Database password - description: 'Inform the database password' - validRegex: /.{1,}/ - - id: $$cap_mautic_version - label: Mautic Version - defaultValue: 'v3' - description: Check out their Docker page for the valid tags https://hub.docker.com/r/mautic/mautic/tags - validRegex: /^([^\s^\/])+$/ - - id: $$cap_php_tz - label: PHP timezone - defaultValue: 'UTC' - description: Set PHP timezone - - id: $$cap_php_ml - label: PHP memory limit - description: Set PHP memory limit - defaultValue: '256M' - - id: $$cap_php_mu - label: PHP upload max file size - description: Set PHP upload max file size - defaultValue: '100M' - - id: $$cap_php_met - label: PHP max execution time - defaultValue: '300' - description: Set PHP max execution time - instructions: - start: >- - Mautic is an online,marketing automation tool. - - The process will deploy a Mautic only instance. - - You can configure some spices to Mautic like PHP options below. For more visit https://hub.docker.com/r/mautic/mautic - - The process will take about a minute for the process to finish. - end: >- - Mautic is deployed and available as $$cap_appname. - - Add SSL to your Mautic: If you change the Site Address of Mautic - General Settings tab to HTTPS (behind a reverse proxy), - you can use 0.0.0.0/0 as Trusted Proxies to avoid a redirect loop error. - See http://symfony.com/doc/current/request/load_balancer_reverse_proxy.html - - - IMPORTANT: It will take up to 1-2 minutes for Mautic to be ready. Before that, you might see 502 error page. - displayName: Mautic - No Database - isOfficial: true - description: This will create a Mautic only. You will need to create and configure the database information manually. Intended for advanced users. - documentation: https://hub.docker.com/r/mautic/mautic diff --git a/public/v4/apps/mautic.yml b/public/v4/apps/mautic.yml deleted file mode 100644 index 66261660a..000000000 --- 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/mayan-edms.yml b/public/v4/apps/mayan-edms.yml deleted file mode 100644 index 6457ea0bb..000000000 --- a/public/v4/apps/mayan-edms.yml +++ /dev/null @@ -1,144 +0,0 @@ -captainVersion: 4 -services: - # Mayan EDMS - $$cap_appname: - depends_on: - - $$cap_appname-db - - $$cap_appname-redis - image: mayanedms/mayanedms:$$cap_app_version - restart: always - environment: - MAYAN_CELERY_BROKER_URL: 'redis://:$$cap_redis_pass@srv-captain--$$cap_appname-redis:6379/0' - MAYAN_CELERY_RESULT_BACKEND: 'redis://:$$cap_redis_pass@srv-captain--$$cap_appname-redis:6379/1' - MAYAN_DATABASES: "{'default':{'ENGINE':'django.db.backends.postgresql','NAME':'$$cap_dbname','PASSWORD':'$$cap_dbpass','USER':'$$cap_dbuser','HOST':'srv-captain--$$cap_appname-db'}}" - MAYAN_LOCK_MANAGER_BACKEND: 'mayan.apps.lock_manager.backends.redis_lock.RedisLock' - MAYAN_LOCK_MANAGER_BACKEND_ARGUMENTS: "{'redis_url':'redis://:$$cap_redis_pass@srv-captain--$$cap_appname-redis:6379/2'}" - MAYAN_SEARCH_BACKEND: 'mayan.apps.dynamic_search.backends.whoosh.WhooshSearchBackend' - MAYAN_APT_INSTALLS: '$$cap_ocr_langs' - MAYAN_DOCKER_WAIT: srv-captain--$$cap_appname-db:5432 srv-captain--$$cap_appname-redis:6379 - MAYAN_DOCUMENTS_LANGUAGE: $$cap_default_document_lang - MAYAN_TIME_ZONE: $$cap_timezone - MAYAN_AUTOADMIN_EMAIL: $$cap_email - MAYAN_AUTOADMIN_PASSWORD: $$cap_password - MAYAN_AUTOADMIN_USERNAME: $$cap_username - MAYAN_COMMON_PROJECT_TITLE: $$cap_project_title - volumes: - - $$cap_appname-data:/var/lib/mayan - 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 --appendonly 'no' --databases '3' --maxmemory 100mb --maxclients '500' --maxmemory-policy allkeys-lru --save '' --requirepass $$cap_redis_pass - notExposeAsWebApp: 'true' - - #PostgreSQL - $$cap_appname-db: - image: postgres:$$cap_postgres_version - volumes: - - $$cap_appname-db-data:/var/lib/postgresql/data - restart: always - environment: - POSTGRES_DB: $$cap_dbname - POSTGRES_USER: $$cap_dbuser - POSTGRES_PASSWORD: $$cap_dbpass - caproverExtra: - notExposeAsWebApp: 'true' - -caproverOneClickApp: - variables: - - id: $$cap_app_version - label: Mayan EDMS version - defaultValue: 's4.2' - description: Check out their docker page for the valid tags https://hub.docker.com/r/mayanedms/mayanedms/tags - - - id: $$cap_postgres_version - label: PostgreSQL version - defaultValue: '12.9-alpine' - 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' - description: Check out their Docker page for the valid tags https://hub.docker.com/_/redis?tab=tags - validRegex: /^([^\s^\/])+$/ - - - id: $$cap_redis_pass - label: Redis password - defaultValue: mayanredispassword - validRegex: /^([^\s^\/])+$/ - - - id: $$cap_dbname - label: Database Name - defaultValue: 'mayan' - validRegex: /^([^\s^\/])+$/ - - - id: $$cap_dbuser - label: Database User - defaultValue: 'mayandbuser' - validRegex: /^([^\s^\/])+$/ - - - id: $$cap_dbpass - label: Database Password - defaultValue: $$cap_gen_random_hex(64) - validRegex: /^([^\s^\/])+$/ - - - id: $$cap_default_document_lang - label: Default document language - defaultValue: eng - description: Use the ISO 639-3 code (https://en.wikipedia.org/wiki/ISO_639). Will default to *eng* if left blank. - - - id: $$cap_language_code - label: Default language for the installation - defaultValue: en-us - description: Mayan EDMS UI will default to this language if the user's locale is not found. Will default to *en-us* if left blank - - - id: $$cap_ocr_langs - label: Extra packages - defaultValue: 'tesseract-ocr-spa' - description: Use to add extra languagues for OCR (English is installed by default). Insert as many packages as you need, separated by a space, as *tesseract-ocr-CODE*. Language codes in https://tesseract-ocr.github.io/tessdoc/Data-Files-in-different-versions.html - - - id: $$cap_timezone - label: Time Zone - defaultValue: UTC - description: Leave blank if you'd rather change it in System => Setup => Settings - - - id: $$cap_username - label: Admin username - defaultValue: admin - description: Username for your first login - - - id: $$cap_email - label: Admin email - defaultValue: example@example.com - - - id: $$cap_pass - label: Admin password - defaultValue: $$cap_gen_random_hex(16) - validRegex: /^([^\s^\/])+$/ - description: It will be prompted to you at startup and can be changed, but copy it just in case. - - - id: $$cap_project_title - label: Project Title (Site's name) - defaultValue: 'Mayan EDMS' - description: Title and header of your site - - instructions: - start: >- - Mayan EDMS is an open source web-based Document Management System (More info at https://www.mayan-edms.com/) - Most settings can be set inside the app, but environment variables will override them. - Minimum requirements 2GB RAM and 2vCPUs. Recommended 4GB RAM and 4vCPUs - end: >- - Done! - Your service is available at http://$$cap_appname.$$cap_root_domain - displayName: 'Mayan EDMS' - isOfficial: false - description: Mayan EDMS is an open source web-based Document Management System with many advanced features. - documentation: https://www.mayan-edms.com/ diff --git a/public/v4/apps/meilisearch.yml b/public/v4/apps/meilisearch.yml deleted file mode 100644 index 68b7f6a34..000000000 --- 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.25.2' - 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 "Authorization: Bearer $$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/memos.yml b/public/v4/apps/memos.yml deleted file mode 100644 index 1dc732a9b..000000000 --- a/public/v4/apps/memos.yml +++ /dev/null @@ -1,28 +0,0 @@ -captainVersion: 4 - -services: - '$$cap_appname': - image: neosmemo/memos:$$cap_version - volumes: - - '$$cap_appname-data:/var/opt/memos' - caproverExtra: - containerHttpPort: '5230' - -caproverOneClickApp: - variables: - - id: '$$cap_version' - label: App Version - defaultValue: '0.8.3' - description: Check out their Docker page for the valid tags https://hub.docker.com/r/neosmemo/memos/tags - validRegex: '/.{1,}/' - instructions: - start: |- - An open-source, self-hosted memo hub with knowledge management and socialization. - - See https://usememos.com for more details. - end: |- - Memos has been deployed! - displayName: memos - isOfficial: true - description: An open-source, self-hosted memo hub with knowledge management and socialization. - documentation: https://usememos.com diff --git a/public/v4/apps/mercure.yml b/public/v4/apps/mercure.yml deleted file mode 100644 index cdb2e4495..000000000 --- a/public/v4/apps/mercure.yml +++ /dev/null @@ -1,51 +0,0 @@ -captainVersion: 4 -services: - # Mercure - $$cap_appname: - image: dunglas/mercure:$$cap_mercure_version - restart: unless-stopped - environment: - # Uncomment the following line to disable HTTPS - SERVER_NAME: ':80' - MERCURE_PUBLISHER_JWT_KEY: $$cap_mercure_publisher_jwt_key - MERCURE_SUBSCRIBER_JWT_KEY: $$cap_mercure_subscriber_jwt_key - MERCURE_EXTRA_DIRECTIVES: $$cap_mercure_extra_directives - volumes: - - $$cap_appname-mercure-data:/data - - $$cap_appname-mercure-config:/config - # Uncomment the following line to enable the development mode - caproverExtra: - containerHttpPort: '80' -caproverOneClickApp: - variables: - - id: $$cap_mercure_version - label: Mercure Version - defaultValue: 'v0.13' - description: Check out their Docker page for the valid tags https://hub.docker.com/r/dunglas/mercure/tags - validRegex: /^([^\s^\/])+$/ - - id: $$cap_mercure_publisher_jwt_key - label: Mercure Publisher JWT Key - defaultValue: '!ChangeMe!' - description: 'The JWT key to use for publishers' - - id: $$cap_mercure_subscriber_jwt_key - label: Mercure Subscriber JWT Key - defaultValue: '!ChangeMe!' - description: 'The JWT key to use for subscribers' - - id: $$cap_mercure_extra_directives - label: Extra Directives - defaultValue: 'subscriptions demo anonymous cors_origins * publish_origins *' - description: 'A list of extra Mercure directives inject in the Caddy file, one per line' - instructions: - start: >- - Mercure is a protocol allowing to push data updates to web browsers and other HTTP clients in a convenient, fast, reliable and battery-efficient way. It is especially useful to publish real-time updates of resources served through web APIs, to reactive web and mobile apps. - - For documentation, see: https://mercure.rocks/docs - - Enter your Mercure Configuration parameters and click on next. It will take about a minute for the process to finish. - end: >- - Aaaand you're done! πŸ˜„ - Your service is available at http://$$cap_appname.$$cap_root_domain - displayName: 'Mercure' - isOfficial: true - description: Mercure is a protocol allowing to push data updates to web browsers and other HTTP clients. - documentation: Taken from https://mercure.rocks/docs/hub/install diff --git a/public/v4/apps/metabase.yml b/public/v4/apps/metabase.yml deleted file mode 100644 index 93a4173b6..000000000 --- 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/minecraft-bedrock.yml b/public/v4/apps/minecraft-bedrock.yml deleted file mode 100644 index 20c9f6d21..000000000 --- a/public/v4/apps/minecraft-bedrock.yml +++ /dev/null @@ -1,81 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - ports: - - $$cap_port:19132 - environment: - EULA: $$cap_eula - VERSION: $$cap_bs_version - SERVER_PORT: $$cap_port - PACKAGE_BACKUP_KEEP: 2 - SERVER_NAME: $$cap_bs_name - OPS: $$cap_bs_ops - GAMEMODE: $$cap_bs_gamemode - DIFFICULTY: $$cap_bs_difficulty - ALLOW_LIST: $$cap_bs_allowlist - ALLOW_LIST_USERS: $$cap_bs_allowlist_users - PLAYER_IDLE_TIMEOUT: $$cap_bs_idle - ALLOW_CHEATS: $$cap_bs_cheats - image: itzg/minecraft-bedrock-server:$$cap_version - restart: always - volumes: - - $$cap_appname-data:/data - 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: Choose a Tag from https://hub.docker.com/r/itzg/minecraft-bedrock-server/tags - defaultValue: '2022.1.0' - id: $$cap_version - - label: Bedrock Server Version - description: Can be set to a specific server version or the following special values can be used, check https://github.com/itzg/docker-minecraft-bedrock-server#container-specific - defaultValue: LATEST - id: $$cap_bs_version - - label: Game Server Name - description: Used as the server name. Cannot contain a ":" (colon). - defaultValue: '' - id: $$cap_bs_name - - label: Game Server Port (TCP/UDP) - description: This is the port the server will expose for players to join. - defaultValue: '19132' - id: $$cap_port - - label: Server OPs - description: Comma Separated list of XUIs that will be the server OPs - defaultValue: '' - id: $$cap_bs_ops - - label: Game Mode - description: Defines the mode of gameplay. survival, creative, adventure, spectator - defaultValue: 'survival' - id: $$cap_bs_gamemode - - label: Difficulty - description: Sets the difficulty of the world. peaceful, easy, normal, hard - defaultValue: 'normal' - id: $$cap_bs_difficulty - - label: Allowlist? - description: If true then all connected players must be listed on variable 'ALLOW_LIST_USERS' - defaultValue: 'true' - id: $$cap_bs_allowlist - - label: Allow list users - description: This list is player names, not XUIs - defaultValue: 'some_user_name' - id: $$cap_bs_allowlist_users - - label: Player Idle time - description: After a player has idled for this many minutes they will be kicked. If set to 0 then players can idle indefinitely. - defaultValue: '0' - id: $$cap_bs_idle - - label: Allow Cheats - description: After a player has idled for this many minutes they will be kicked. If set to 0 then players can idle indefinitely. - defaultValue: 'true' - id: $$cap_bs_cheats - - instructions: - end: The container will now download and build the minecraft-bedrock-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, itzg/minecraft-bedrock-server. You have to agree to the Minecraft EULA to be able to use this software: https://account.mojang.com/documents/minecraft_eula' - displayName: Minecraft Bedrock Server - description: Minecraft Dedicated Server software for linux - documentation: https://github.com/itzg/docker-minecraft-bedrock-server diff --git a/public/v4/apps/miniflux.yml b/public/v4/apps/miniflux.yml deleted file mode 100644 index a99abade2..000000000 --- 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 959314550..000000000 --- a/public/v4/apps/minio.yml +++ /dev/null @@ -1,77 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - volumes: - - $$cap_appname-db-data:/data - - $$cap_appname-config-data:/root/.minio - restart: always - environment: - MINIO_ROOT_USER: $$cap_access_key - MINIO_ROOT_PASSWORD: $$cap_secret_key - MINIO_REGION_NAME: 'eu-east-1' - MINIO_BROWSER_REDIRECT_URL: https://$$cap_appname.$$cap_root_domain - MINIO_SERVER_URL: https://$$cap_appname-api.$$cap_root_domain # MinIO S3 API - caproverExtra: - containerHttpPort: '9001' - dockerfileLines: - - FROM minio/minio:$$cap_minio_version - - CMD ["server", "/data", "--console-address", ":9001"] - $$cap_appname-api: - image: caprover/nginx-reverse-proxy:1-ef5ffcb - restart: always - depends_on: - - $$cap_appname - environment: - UPSTREAM_HTTP_ADDRESS: http://srv-captain--$$cap_appname:9000 - CLIENT_MAX_BODY_SIZE: 0 -caproverOneClickApp: - variables: - - id: $$cap_minio_version - label: MinIO Version - defaultValue: RELEASE.2023-01-18T04-36-38Z - 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 Root User Access Key - defaultValue: $$cap_gen_random_hex(24) - description: Access key for `MINIO_ROOT_USER`. If unset, minio defaults to `minioadmin`. MinIO strongly recommends specifying a unique, long, and random value for all environments. - validRegex: /(.{5,})|(^\s{0}$)/m - - id: $$cap_secret_key - label: Minio Secret Key - defaultValue: $$cap_gen_random_hex(38) - description: Secret key for `MINIO_ROOT_PASSWORD`. If unset, minio defaults to `minioadmin`. MinIO strongly recommends specifying a unique, long, and random value for all environments. - validRegex: /(.{8,})|(^\s{0}$)/m - instructions: - start: >- - MinIO is a High Performance Object Storage released under GNU Affero General Public License v3.0. - It is API compatible with Amazon S3 cloud storage service. - end: |- - - βœ… MinIO has been deployed! - -------------------------------------------- - _MinIO has been successfully deployed! Be sure to read the next steps below before attempting to access https://$$cap_appname.$$cap_root_domain._ - - -------------------------------------------- - ❗️ **IMPORTANT**: Before launching MinIO be sure to change the following settings: - - **Step 1**: Go to the settings for `$$cap_appname` and `$$cap_appname-api` - **Step 2**: Enable **HTTPS** - **Step 3**: Enable **Websocket Support** - - πŸ” Dashboard access uses the keys set during deployment. If left blank, MinIO sets the keys by default to _minioadmin_. - - **Access Key**: $$cap_access_key - **Secret Key**: $$cap_secret_key - - 🌐 After completing the steps above, you can access MinIO at: - - **Dashboard**: https://$$cap_appname.$$cap_root_domain - **S3 API Endpoint**: https://$$cap_appname-api.$$cap_root_domain - - -------------------------------------------- - πŸ”° More information on initial configuration can be found at https://docs.min.io/docs/minio-docker-quickstart-guide.html - - displayName: 'MinIO' - isOfficial: true - description: MinIO is a cloud storage server compatible with Amazon S3 - documentation: Taken from https://docs.min.io/docs/minio-docker-quickstart-guide.html diff --git a/public/v4/apps/mongo-express.yml b/public/v4/apps/mongo-express.yml deleted file mode 100644 index 6efa7978b..000000000 --- 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 361b258f3..000000000 --- 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 21edbaa66..000000000 --- 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 ce0a74510..000000000 --- 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: '3.7' - 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/moodle.yml b/public/v4/apps/moodle.yml deleted file mode 100644 index f262fd210..000000000 --- a/public/v4/apps/moodle.yml +++ /dev/null @@ -1,84 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - image: bitnami/moodle:$$cap_md_version - volumes: - - $$cap_appname-moodle:/bitnami/moodle - - $$cap_appname-moodledata:/bitnami/moodledata - restart: always - environment: - MOODLE_DATABASE_TYPE: $$cap_db_type - MOODLE_DATABASE_HOST: $$cap_db_host - MOODLE_DATABASE_PORT_NUMBER: $$cap_db_port - MOODLE_DATABASE_USER: $$cap_db_user - MOODLE_DATABASE_NAME: $$cap_db_name - MOODLE_DATABASE_PASSWORD: $$cap_db_pass - ALLOW_EMPTY_PASSWORD: 'no' - MOODLE_USERNAME: admin - MOODLE_PASSWORD: password - MOODLE_EMAIL: $$cap_md_admin_email - MOODLE_SITE_NAME: $$cap_md_sitename - MOODLE_SKIP_BOOTSTRAP: $$cap_md_bootstrap - PHP_MAX_INPUT_VARS: '6000' - PHP_MEMORY_LIMIT: '256M' - PHP_UPLOAD_MAX_FILESIZE: 100M - PHP_POST_MAX_SIZE: 100M - PHP_MAX_INPUT_TIME: '30' - PHP_MAX_EXECUTION_TIME: '30' - caproverExtra: - containerHttpPort: '8080' -caproverOneClickApp: - variables: - - description: Valid values mariadb, mysqli - defaultValue: mariadb - id: $$cap_db_type - label: Database type - - description: Database host - defaultValue: srv-captain--xxx - id: $$cap_db_host - label: Database Host - - id: $$cap_db_port - label: Database Port - defaultValue: '3306' - description: Default Mysql port will be 3306 - validRegex: /^([^\s^\/])+$/ - - description: Database name - defaultValue: moodle - id: $$cap_db_name - label: DB Name - - id: $$cap_db_user - label: Database user - defaultValue: moodledbuser - description: Database username - - id: $$cap_db_pass - label: Database password - validRegex: /.{1,}/ - - id: $$cap_md_version - label: Moodle Version - defaultValue: latest - description: Check out their Docker page for the valid tags https://hub.docker.com/r/bitnami/moodle/tags/ - validRegex: /^([^\s^\/])+$/ - - id: $$cap_md_sitename - label: Moodle Site Name - defaultValue: New site - description: Moodle Site name. - - id: $$cap_md_admin_email - label: Moodle Admin Email - defaultValue: user@example.com - description: Moodle application email. - - id: $$cap_md_bootstrap - label: Is moodle exists in db? - defaultValue: 'no' - description: Set 'no' for new installation. This is necessary in case you use a database that already has Moodle data. - instructions: - start: >- - Moodle Caprover installation - From Bitnami Docker Image - Note: You should start by configuring your DB first and then comeback with all the DB Information. - end: > - Moodle is deployed and available as $$cap_appname. Username: admin, Password: password - IMPORTANT: If it is new installation, It will take up to 10 minutes for Moodle to be ready. **Dont update app until it is displayed correctly on frontend** Before that, you might see a 502 error page. - 'Native MYSQL Authentication' should be MYSQL Authentication plugin for the $$cap_db_user db user. Else database wont connect. Check build logs to confirm it is connected properly. - Visit https://hub.docker.com/r/bitnami/moodle/ for more details and enviornament variables. - displayName: Moodle LMS - description: Moodle(TM) is a very popular open source learning management solution (LMS) for the delivery of elearning courses and programs. - documentation: Taken from https://hub.docker.com/r/bitnami/moodle/. Port mapping removed from Moodle as it is no longer needed diff --git a/public/v4/apps/mssql.yml b/public/v4/apps/mssql.yml deleted file mode 100644 index a83b4d34b..000000000 --- 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/mumble.yml b/public/v4/apps/mumble.yml deleted file mode 100644 index 2a003fe04..000000000 --- a/public/v4/apps/mumble.yml +++ /dev/null @@ -1,33 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - image: mumblevoip/mumble-server:$$cap_version - container_name: mumble-server - hostname: mumble-server - restart: on-failure - volumes: - - $$cap_appname-data:/data/ - ports: - - $$cap_port:64738 - caproverExtra: - notExposeAsWebApp: 'true' -caproverOneClickApp: - variables: - - label: Mumble Version - description: Check out their Docker page for the valid tags https://hub.docker.com/r/mumblevoip/mumble-server/tags - defaultValue: v1.4.230 - validRegex: '/.{1,}/' - id: $$cap_version - - label: Voice Port (UDP) - description: Port for voice - defaultValue: '64738' - id: $$cap_port - instructions: - start: |- - Mumble is a free, open source, low latency, high quality voice chat application. The official Mumble server Docker image. - end: |- - Please write down the SuperUser user password found in the logs. These are needed to administrate the Mumble server. - displayName: Mumble server - isOfficial: true ## Only if all images used here are official or from a trusted source. - description: Mumble is an open-source, low-latency, high quality voice chat software. - documentation: This docker-compose is taken from https://github.com/mumble-voip/mumble-docker diff --git a/public/v4/apps/mysql-backup.yml b/public/v4/apps/mysql-backup.yml deleted file mode 100644 index 2418e8b55..000000000 --- a/public/v4/apps/mysql-backup.yml +++ /dev/null @@ -1,46 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname-db: - image: databack/mysql-backup:$$cap_mysql_backup_version - restart: always - environment: - DB_SERVER: $$cap_db_server - DB_PORT: $$cap_db_port - DB_USER: $$cap_db_user - DB_PASS: $$cap_db_password - caproverExtra: - notExposeAsWebApp: 'true' -caproverOneClickApp: - variables: - - id: $$cap_mysql_backup_version - label: Mysql Backup Version - defaultValue: 'v0.11.0' - description: Check out their Docker page for the valid tags https://hub.docker.com/r/databack/mysql-backup/tags - validRegex: /^([^\s^\/])+$/ - - id: $$cap_db_server - label: Database Server - defaultValue: 'srv-captain--' - description: Database Server - validRegex: /^([^\s^\/])+$/ - - id: $$cap_db_port - label: Database Port - defaultValue: '3306' - description: Database Port - validRegex: /^([^\s^\/])+$/ - - id: $$cap_db_user - label: Database User - defaultValue: 'root' - description: Database User - validRegex: /^([^\s^\/])+$/ - - id: $$cap_db_password - label: Database Password - defaultValue: '' - description: Database Password - validRegex: /^([^\s^\/])+$/ - instructions: - start: This installation just aims to create the initial container, you should at the end revise the documentation (https://hub.docker.com/r/databack/mysql-backup) and set the extra environment parameters that fit your needs. Such as scheduling and to where you want to send your backups (AWS, SMB, etc) - end: 'Mysql backup has been successfully deployed. Check https://hub.docker.com/r/databack/mysql-backup extra environments and set to your needs.' - displayName: Mysql-Backup - isOfficial: false - description: mysql-backup is a simple way to do MySQL database backups and restores when the database is running in a container. - documentation: Taken from https://hub.docker.com/r/databack/mysql-backup diff --git a/public/v4/apps/mysql.yml b/public/v4/apps/mysql.yml deleted file mode 100644 index c4a2b4639..000000000 --- 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/ diff --git a/public/v4/apps/n8n-io.yml b/public/v4/apps/n8n-io.yml deleted file mode 100644 index 8fd9cf037..000000000 --- a/public/v4/apps/n8n-io.yml +++ /dev/null @@ -1,117 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname-db: - caproverExtra: - notExposeAsWebApp: 'true' - 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:/var/lib/postgresql/data - $$cap_appname: - caproverExtra: - containerHttpPort: 5678 - image: n8nio/n8n:$$cap_N8N_VERSION - environment: - DB_TYPE: postgresdb - DB_POSTGRESDB_HOST: srv-captain--$$cap_appname-db - DB_POSTGRESDB_DATABASE: $$cap_POSTGRES_DB - DB_POSTGRESDB_USER: $$cap_POSTGRES_USER - DB_POSTGRESDB_PASSWORD: $$cap_POSTGRES_PASSWORD - GENERIC_TIMEZONE: $$cap_N8N_TIMEZONE - TZ: $$cap_N8N_TIMEZONE - NODE_ENV: $$cap_N8N_ENVIRONMENT - N8N_PROTOCOL: https - N8N_HOST: $$cap_appname.$$cap_root_domain - N8N_DIAGNOSTICS_ENABLED: $$cap_N8N_DIAGNOSTICS_ENABLED - N8N_EMAIL_MODE: smtp - N8N_SMTP_HOST: $$cap_N8N_SMTP_HOST - N8N_SMTP_PORT: $$cap_N8N_SMTP_PORT - N8N_SMTP_USER: $$cap_N8N_SMTP_USER - N8N_SMTP_PASS: $$cap_N8N_SMTP_PASS - N8N_SMTP_SENDER: $$cap_N8N_SMTP_SENDER - N8N_SMTP_SSL: $$cap_N8N_SMTP_SSL - WEBHOOK_URL: https://$$cap_appname.$$cap_root_domain - N8N_EDITOR_BASE_URL: https://$$cap_appname.$$cap_root_domain - volumes: - - $$cap_appname:/root/.n8n - - $$cap_appname-files:/files - depends_on: - - $$cap_appname-db -caproverOneClickApp: - displayName: n8n.io - description: Node based workflow automation tool - isOfficial: true - instructions: - start: |- - n8n is a free and open node based workflow automation tool. - If you want to invite members and enable password resets, you will need to enter SMTP details. - end: |- - n8n has been successfully deployed! It might take few moments before it's fully started. - You can access it at `http://$$cap_appname.$$cap_root_domain` and set up your account. - **Important:** Please enable **HTTPS** and **WebSocket Support**. - variables: - - id: $$cap_N8N_VERSION - label: Application | n8n.io - description: Check out their Docker page for the valid tags https://hub.docker.com/r/n8nio/n8n/tags - defaultValue: '0.198.2' - validRegex: /.{1,}/ - - id: $$cap_N8N_TIMEZONE - label: Application | Timezone - description: >- - Timezone used by the server. - Please check out this page for valid time zones: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones - defaultValue: UTC - validRegex: /.{1,}/ - - id: $$cap_N8N_ENVIRONMENT - label: Application | Environment - description: Application environment. - defaultValue: 'production' - validRegex: /^(production|development)$/ - - id: $$cap_N8N_DIAGNOSTICS_ENABLED - label: Application | Enable Telemetry - description: Whether to send telemetry data to n8n.io. - defaultValue: 'false' - validRegex: /^(true|false)$/ - - id: $$cap_N8N_SMTP_HOST - label: Application | SMTP Host - description: SMTP host used for sending mails. - - id: $$cap_N8N_SMTP_PORT - label: Application | SMTP Port - description: SMTP port used for sending mails. Usually `465`. - - id: $$cap_N8N_SMTP_USER - label: Application | SMTP User - description: SMTP user used for sending mails. - - id: $$cap_N8N_SMTP_PASS - label: Application | SMTP Password - description: SMTP user password used for sending mails. - - id: $$cap_N8N_SMTP_SENDER - label: Application | SMTP Sender - description: SMTP sender used for sending mails (e.g. `N8N `). - - id: $$cap_N8N_SMTP_SSL - label: Application | SMTP SSL - description: Whether to use SSL for sending mails through SMTP. - defaultValue: 'true' - validRegex: /^(true|false)$/ - - id: $$cap_POSTGRES_VERSION - label: Database | Version - description: Check out their Docker page for the valid tags https://hub.docker.com/_/postgres/tags - defaultValue: '15.0-alpine' - validRegex: /.{1,}/ - - id: $$cap_POSTGRES_DB - label: Database | Name - defaultValue: n8n - description: Name of the PostgreSQL database. - validRegex: /.{1,}/ - - id: $$cap_POSTGRES_USER - label: Database | User - defaultValue: n8n - description: Username for the PostgreSQL database. - validRegex: /.{1,}/ - - id: $$cap_POSTGRES_PASSWORD - label: Database | Password - description: Password of the PostgreSQL database user. - defaultValue: $$cap_gen_random_hex(16) - validRegex: /.{1,}/ diff --git a/public/v4/apps/neo4j.yml b/public/v4/apps/neo4j.yml deleted file mode 100644 index 5dcb54362..000000000 --- a/public/v4/apps/neo4j.yml +++ /dev/null @@ -1,35 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname-db: - image: neo4j:$$cap_neo4j_version - volumes: - - $$cap_appname-db-data:/data - restart: unless-stopped - environment: - NEO4J_AUTH: $$cap_db_user/$$cap_db_pass - caproverExtra: - notExposeAsWebApp: 'true' -caproverOneClickApp: - variables: - - id: $$cap_neo4j_version - label: Neo4j Version - defaultValue: '4.1.9' - description: Check out their Docker page for the valid tags https://hub.docker.com/_/neo4j?tab=tags - validRegex: /^([^\s^\/])+$/ - - id: $$cap_db_user - label: Neo4j Root User - defaultValue: neo4j - description: Username for the database user - validRegex: /^([a-zA-Z0-9_])+$/ - - id: $$cap_db_pass - label: Neo4j Root password - defaultValue: $$cap_gen_random_hex(10) - description: Password for the database user - validRegex: /.{1,}/ - instructions: - start: Neo4j is an open-source, NoSQL, native graph database that provides an ACID-compliant transactional backend for your applications. Enter your configuration parameters and click on next. - end: Neo4j is deployed and available as srv-captain--$$cap_appname-db:7687 for Bolt and srv-captain--$$cap_appname-db:7474 for HTTP connections. - displayName: Neo4j - isOfficial: true - description: Neo4j is an open-source, NoSQL, native graph database that provides an ACID-compliant transactional backend for your applications. - documentation: Taken from https://hub.docker.com/_/neo4j diff --git a/public/v4/apps/netbox.yml b/public/v4/apps/netbox.yml deleted file mode 100644 index f107bc162..000000000 --- a/public/v4/apps/netbox.yml +++ /dev/null @@ -1,119 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname-db: - image: postgres:$$cap_pg_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_name - PGDATA: /var/lib/postgresql/data - - caproverExtra: - notExposeAsWebApp: 'true' - - $$cap_appname-redis: - volumes: - - $$cap_appname-redis-data:/data - restart: always - environment: - REDIS_PASSWORD: $$cap_redis_password - caproverExtra: - dockerfileLines: - - FROM redis:$$cap_redis_version - - CMD exec redis-server --requirepass "$$cap_redis_password" - notExposeAsWebApp: 'true' - - $$cap_appname: - depends_on: - - $$cap_appname-db - - $$cap_appname-redis - image: lscr.io/linuxserver/netbox:$$cap_netbox_version - volumes: - - $$cap_appname-data:/config - - $$cap_appname-scripts:/app/netbox/scripts - - $$cap_appname-reports:/app/netbox/netbox/reports - restart: unless-stopped - environment: - TZ: $$cap_time_zone - SUPERUSER_EMAIL: $$cap_superuser_email - SUPERUSER_PASSWORD: $$cap_superuser_pass - ALLOWED_HOST: $$cap_appname.$$cap_root_domain - DB_NAME: $$cap_pg_name - DB_USER: $$cap_pg_user - DB_PASSWORD: $$cap_pg_pass - DB_HOST: srv-captain--$$cap_appname-db - DB_PORT: 5432 - REDIS_HOST: srv-captain--$$cap_appname-redis - REDIS_PORT: 6379 - REDIS_PASSWORD: $$cap_redis_password - REDIS_DB_TASK: 0 - REDIS_DB_CACHE: 1 - - caproverExtra: - containerHttpPort: '8000' - -caproverOneClickApp: - variables: - - id: $$cap_pg_version - label: Postgres Version Tag - defaultValue: 12.2 - description: 'Check out the Docker page for valid tags https://hub.docker.com/r/library/postgres/tags/.' - validRegex: /^([^\s^\/])+$/ - - id: $$cap_pg_user - label: Postgres Username - defaultValue: postgres - - id: $$cap_pg_pass - label: Postgres Password - defaultValue: $$cap_gen_random_hex(12) - description: 'Password must be at least 12 characters. Please use a random string.' - - id: $$cap_pg_name - label: Postgres Database - defaultValue: netbox-pgsql - - id: $$cap_redis_version - label: Redis Version Tag - description: 'Check out the Docker page for valid tags: https://hub.docker.com/_/redis?tab=tags.' - defaultValue: 5 - validRegex: /^([^\s^\/])+$/ - - id: $$cap_redis_password - label: Redis Password - validRegex: /^(\w|[^\s"])+$/ - defaultValue: $$cap_gen_random_hex(12) - - id: $$cap_netbox_version - label: Netbox Version Tag - description: 'Check out the Docker page for valid tags: https://hub.docker.com/r/linuxserver/netbox/tags.' - defaultValue: 3.1.6 - validRegex: /^([^\s^\/])+$/ - - id: $$cap_time_zone - label: Time Zone - defaultValue: America/New_York - - id: $$cap_superuser_email - label: Email for user "admin" - description: 'Email address for the Netbox admin account.' - defaultValue: user@example.tld - - id: $$cap_superuser_pass - label: Admin Password - description: 'Password for user "admin".' - defaultValue: $$cap_gen_random_hex(12) - - instructions: - start: IP address and datacenter infrastructure management. - - --- - - Find out more at https://netbox.dev. This app's container image was built using https://docs.linuxserver.io/images/docker-netbox. - - end: >- - Netbox is deployed, it might take few moments before it's fully started. - - Login with user `admin` and password `$$cap_superuser_pass`. - - - Volumes created for `config`, `scripts`, and `reports` are available in your default folder for Caprover volumes, typically `/var/lib/docker/volumes` - - displayName: Netbox - isOfficial: false - description: IP address management (IPAM) and data center infrastructure management (DCIM) tool - documentation: 'Read more at: https://docs.linuxserver.io/images/docker-netbox' diff --git a/public/v4/apps/nextcloud.yml b/public/v4/apps/nextcloud.yml deleted file mode 100644 index 81ab3d6bd..000000000 --- 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 122944309..000000000 --- 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 d69538f4f..000000000 --- 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 a01f997a7..000000000 --- a/public/v4/apps/nginx-reverse-proxy.yml +++ /dev/null @@ -1,33 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - image: caprover/nginx-reverse-proxy:$$cap__version - restart: always - environment: - UPSTREAM_HTTP_ADDRESS: $$cap_upstream_http_address - CLIENT_MAX_BODY_SIZE: $$cap_max_body_size -caproverOneClickApp: - variables: - - id: $$cap__version - label: Version - defaultValue: 1-ef5ffcb - description: 'Additional tags can be found here: https://hub.docker.com/r/caprover/nginx-reverse-proxy/tags' - - 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 052f0b898..000000000 --- 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: 'Nightscout' - 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/nocodb.yml b/public/v4/apps/nocodb.yml deleted file mode 100644 index 00f2d815f..000000000 --- a/public/v4/apps/nocodb.yml +++ /dev/null @@ -1,59 +0,0 @@ -captainVersion: 4 -services: - '$$cap_appname': - image: nocodb/nocodb:$$cap_version - restart: always - environment: - NC_DB: '$$cap_nc_db' - DATABASE_URL: '$$cap_database_url' - NC_PUBLIC_URL: '$$cap_public_url' - NC_AUTH_JWT_SECRET: '$$cap_auth_jwt_secret' - NC_SENTRY_DSN: '$$cap_sentry_dsn' - NC_CONNECT_TO_EXTERNAL_DB_DISABLED: '$$cap_connect_to_external_db_disabled' - NC_DISABLE_TELE: '$$cap_disable_tele' - volumes: - - '$$cap_appname-data:/usr/app/data' - caproverExtra: - containerHttpPort: '8080' -caproverOneClickApp: - variables: - - id: '$$cap_version' - label: NocoDB Version - defaultValue: '0.83.8' - description: Check out their Docker page for the valid tags https://hub.docker.com/r/nocodb/nocodb/tags - validRegex: "/^([^\\s^\\/])+$/" - - id: '$$cap_nc_db' - label: NC_DB - defaultValue: '' - description: 'MySQL, PostgreSQL and MSSQL connection urls supported. If absent: A local SQLite will be created in root folder' - - id: '$$cap_database_url' - label: DATABASE_URL - defaultValue: '' - description: JDBC URL Format. Can be used instead of NC_DB. Used in 1-Click Heroku deployment - - id: '$$cap_public_url' - label: NC_PUBLIC_URL - defaultValue: '' - description: 'Used for sending Email invitations. If absent: Best guess from http request params' - - id: '$$cap_auth_jwt_secret' - label: NC_AUTH_JWT_SECRET - defaultValue: '$$cap_gen_random_hex(64)' - description: 'JWT secret used for auth and storing other secrets. If absent: A Random secret will be generated' - - id: '$$cap_sentry_dsn' - label: NC_SENTRY_DSN - defaultValue: '' - description: For Sentry monitoring - - id: '$$cap_connect_to_external_db_disabled' - label: NC_CONNECT_TO_EXTERNAL_DB_DISABLED - defaultValue: '' - description: Disable Project creation with external database. (Enter "1" to disable) - - id: '$$cap_disable_tele' - label: NC_DISABLE_TELE - defaultValue: '' - description: Disable telemetry (Enter "1" to disable) - instructions: - start: 'NocoDB is an open source #NoCode platform that turns any database into a smart spreadsheet. https://github.com/nocodb/nocodb - https://www.nocodb.com/' - end: NocoDB has been successfully deployed! It might take a minute or two to boot though, during which time you might get a 502 - displayName: NocoDB - isOfficial: true - description: The Open Source Airtable Alternative - Turns any MySQL, PostgreSQL, SQL Server, SQLite & MariaDB into a smart-spreadsheet. - documentation: See https://github.com/nocodb/nocodb diff --git a/public/v4/apps/node-exporter.yml b/public/v4/apps/node-exporter.yml deleted file mode 100644 index d495ba28e..000000000 --- a/public/v4/apps/node-exporter.yml +++ /dev/null @@ -1,29 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - image: prom/node-exporter:$$cap_version - restart: always - volumes: - - /var/run/docker.sock:/var/run/docker.sock - - /sys:/host/sys - - /proc:/host/proc - - /:/rootfs - caproverExtra: - notExposeAsWebApp: true -caproverOneClickApp: - variables: - - id: $$cap_version - label: Node Exporter Version - defaultValue: 'v1.5.0' - description: Check out their docker page for the valid tags https://hub.docker.com/r/prom/node-exporter/tags - validRegex: /^([^\s^\/])+$/ - instructions: - start: >- - Prometheus exporter for machine metrics, written in Go with pluggable metric collectors. - end: >- - Aaaand you're done! πŸ˜„ - Your service is available at srv-captain--$$cap_appname:9100. - displayName: 'Node Exporter' - isOfficial: false - description: Prometheus exporter for machine metrics, written in Go with pluggable metric collectors. - documentation: Taken from https://github.com/prometheus/node_exporter and https://prometheus.io/docs/guides/node-exporter/ diff --git a/public/v4/apps/node-red.yml b/public/v4/apps/node-red.yml deleted file mode 100644 index 16e080da7..000000000 --- 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/novu.yml b/public/v4/apps/novu.yml deleted file mode 100644 index 7416f9a5a..000000000 --- a/public/v4/apps/novu.yml +++ /dev/null @@ -1,227 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname-cache: - caproverExtra: - notExposeAsWebApp: 'true' - image: redis:$$cap_REDIS_VERSION - - $$cap_appname-db: - caproverExtra: - notExposeAsWebApp: 'true' - image: mongo:$$cap_MONGO_VERSION - environment: - PUID: $$cap_PUID - PGID: $$cap_PGID - volumes: - - $$cap_appname-db:/data/db - - $$cap_appname-api: - caproverExtra: - containerHttpPort: $$cap_NOVU_API_PORT - image: $$cap_NOVU_IMAGE_URL/api:$$cap_NOVU_IMAGE_VERSION - environment: - NODE_ENV: $$cap_ENVIRONMENT - API_ROOT_URL: http://$$cap_appname-api.$$cap_root_domain - DISABLE_USER_REGISTRATION: $$cap_NOVU_DISABLE_USER_REGISTRATION - PORT: $$cap_NOVU_API_PORT - FRONT_BASE_URL: http://$$cap_appname.$$cap_root_domain - MONGO_URL: mongodb://srv-captain--$$cap_appname-db/$$cap_MONGO_DB - REDIS_HOST: srv-captain--$$cap_appname-cache - REDIS_PORT: $$cap_REDIS_PORT - REDIS_DB_INDEX: $$cap_REDIS_DB_INDEX - S3_LOCAL_STACK: $$cap_NOVU_S3_LOCAL_STACK - S3_BUCKET_NAME: $$cap_NOVU_S3_BUCKET_NAME - S3_REGION: $$cap_NOVU_S3_REGION - AWS_ACCESS_KEY_ID: $$cap_NOVU_AWS_ACCESS_KEY_ID - AWS_SECRET_ACCESS_KEY: $$cap_NOVU_AWS_SECRET_ACCESS_KEY - JWT_SECRET: $$cap_NOVU_JWT_SECRET - STORE_ENCRYPTION_KEY: $$cap_NOVU_STORE_ENCRYPTION_KEY - SENTRY_DSN: $$cap_NOVU_API_SENTRY_DSN - depends_on: - - $$cap_appname-db - - $$cap_appname-cache - - $$cap_appname-ws: - caproverExtra: - containerHttpPort: $$cap_NOVU_PORT_WEBSOCKET - image: $$cap_NOVU_IMAGE_URL/ws:$$cap_NOVU_IMAGE_VERSION - environment: - PORT: $$cap_NOVU_PORT_WEBSOCKET - NODE_ENV: $$cap_ENVIRONMENT - MONGO_URL: mongodb://srv-captain--$$cap_appname-db/$$cap_MONGO_DB - REDIS_HOST: srv-captain--$$cap_appname-cache - REDIS_PORT: $$cap_REDIS_PORT - JWT_SECRET: $$cap_NOVU_JWT_SECRET - depends_on: - - $$cap_appname-db - - $$cap_appname-cache - - $$cap_appname: - caproverExtra: - containerHttpPort: $$cap_NOVU_PORT_APPLICATION - image: $$cap_NOVU_IMAGE_URL/web:$$cap_NOVU_IMAGE_VERSION - environment: - REACT_APP_API_URL: http://$$cap_appname-api.$$cap_root_domain - REACT_APP_ENVIRONMENT: $$cap_ENVIRONMENT - REACT_APP_WIDGET_EMBED_PATH: http://$$cap_appname-embed.$$cap_root_domain/embed.umd.min.js - REACT_APP_DOCKER_HOSTED_ENV: $$cap_NOVU_DOCKER_HOSTED_ENVIRONMENT - depends_on: - - $$cap_appname-api - - $$cap_appname-widget: - caproverExtra: - containerHttpPort: $$cap_NOVU_PORT_WIDGET - image: $$cap_NOVU_IMAGE_URL/widget:$$cap_NOVU_IMAGE_VERSION - environment: - REACT_APP_API_URL: http://$$cap_appname-api.$$cap_root_domain - REACT_APP_WS_URL: http://$$cap_appname-ws.$$cap_root_domain - REACT_APP_ENVIRONMENT: $$cap_ENVIRONMENT - depends_on: - - $$cap_appname-api - - $$cap_appname - - $$cap_appname-embed: - caproverExtra: - containerHttpPort: $$cap_NOVU_PORT_EMBED - image: $$cap_NOVU_IMAGE_URL/embed:$$cap_NOVU_IMAGE_VERSION - environment: - WIDGET_URL: http://$$cap_appname-widget.$$cap_root_domain - depends_on: - - $$cap_appname-widget - -caproverOneClickApp: - displayName: Novu - isOfficial: true - description: Open Source Notification Infrastructure For Developers - documentation: https://docs.novu.co - instructions: - start: |- - Novu is a fully functional real-time notification center for your web and react apps. - The only open-source notifications infrastructure that manages multi-channel content, scheduled notifications, digest engine, user preferences, and delivers Email, SMS, Push and Chat notifications using a single API. - end: |- - Novu has been successfully deployed! It might take few moments before it's fully started. - You can access it at `http://$$cap_appname.$$cap_root_domain`. - variables: - - id: $$cap_NOVU_IMAGE_VERSION - label: Application | Version - description: Version tag of Novu's Docker images. Check out their valid tags at https://github.com/novuhq/novu/pkgs/container/novu%2Fapi - defaultValue: '0.8.0' - validRegex: /.{1,}/ - - id: $$cap_NOVU_IMAGE_URL - label: Application | Image URL - description: URL to Novu's Docker images. - defaultValue: ghcr.io/novuhq/novu - validRegex: /.{1,}/ - - id: $$cap_REDIS_VERSION - label: Redis | Version - description: Version tag of Redis' image. Check out their valid tags at https://hub.docker.com/_/redis/tags - defaultValue: '7.0.5' - validRegex: /.{1,}/ - - id: $$cap_MONGO_VERSION - label: MongoDB | Version - description: Version tag of MongoDB's image. Check out their valid tags at https://hub.docker.com/_/mongo/tags - defaultValue: '6.0.2' - validRegex: /.{1,}/ - - id: $$cap_ENVIRONMENT - label: General | Environment - description: Application environment (e.g `dev`, `test`, `prod`, `ci`, `local`). - defaultValue: prod - validRegex: /^(dev|test|prod|ci|local)$/ - - id: $$cap_NOVU_DOCKER_HOSTED_ENVIRONMENT - label: General | Docker-Hosted Environment - description: Whether to the application is hosted in Docker. - defaultValue: 'true' - validRegex: /^(true|false)$/ - - id: $$cap_PUID - label: General | User ID - description: User ID that the process uses, run `id $user` on your instance to see the ID. - defaultValue: 1000 - validRegex: /.{1,}/ - - id: $$cap_PGID - label: General | Group ID - description: Group ID that the process uses, run `id $user` on your instance to see the ID. - defaultValue: 1000 - validRegex: /.{1,}/ - - id: $$cap_NOVU_JWT_SECRET - label: Security | JWT Secret - description: Secret for JWT. - defaultValue: $$cap_gen_random_hex(32) - validRegex: /.{1,}/ - - id: $$cap_NOVU_STORE_ENCRYPTION_KEY - label: Security | Store Encryption Key - description: Key for store encryption. - defaultValue: $$cap_gen_random_hex(32) - validRegex: /.{1,}/ - - id: $$cap_NOVU_DISABLE_USER_REGISTRATION - label: Privacy | Disable User Registration - description: Whether to disable user registration. - defaultValue: 'false' - validRegex: /^(true|false)$/ - - id: $$cap_NOVU_API_PORT - label: API | Port - description: Port of Novu's API. - defaultValue: 3000 - validRegex: /.{1,}/ - - id: $$cap_NOVU_API_SENTRY_DSN - label: API | Sentry DSN - description: Sentry's DSN for error tracking. Leave empty to disable. - - id: $$cap_REDIS_PORT - label: Redis | Port - description: Port of Redis' host. - defaultValue: 6379 - validRegex: /.{1,}/ - - id: $$cap_REDIS_DB_INDEX - label: Redis | Database Index - description: Index of the database in Redis. - defaultValue: 2 - validRegex: /.{1,}/ - - id: $$cap_MONGO_DB - label: MongoDB | Database Name - description: Name of the database in MongoDB. - defaultValue: novu - validRegex: /.{1,}/ - - id: $$cap_NOVU_PORT_EMBED - label: Networking | Embed Port - description: Port of Novu's embed host. - defaultValue: 4701 - validRegex: /.{1,}/ - - id: $$cap_NOVU_PORT_WIDGET - label: Networking | Widget Port - description: Port of Novu's widget host. - defaultValue: 4500 - validRegex: /.{1,}/ - - id: $$cap_NOVU_PORT_APPLICATION - label: Networking | Web Port - description: Port of Novu's web host. - defaultValue: 4200 - validRegex: /.{1,}/ - - id: $$cap_NOVU_PORT_WEBSOCKET - label: Networking | WebSocket Port - description: Port of Novu's WebSocket host. - defaultValue: 3002 - validRegex: /.{1,}/ - - id: $$cap_NOVU_S3_LOCAL_STACK - label: S3 | Local Stack URL - description: URL to Localstack instance. Leave to `http://localhost:4566` to use local file storage. - defaultValue: http://localhost:4566 - validRegex: /.{1,}/ - - id: $$cap_NOVU_S3_BUCKET_NAME - label: S3 | Bucket Name - description: Name of the bucket. Leave to `novu-local` to use local file storage. - defaultValue: novu-local - validRegex: /.{1,}/ - - id: $$cap_NOVU_S3_REGION - label: S3 | Region - description: Region of the storage. Leave to `us-east-1` if using local file storage. - defaultValue: us-east-1 - validRegex: /.{1,}/ - - id: $$cap_NOVU_AWS_ACCESS_KEY_ID - label: S3 | AWS Access Key ID - description: Access key ID for AWS. Leave to `test` to use local file storage. - defaultValue: test - validRegex: /.{1,}/ - - id: $$cap_NOVU_AWS_SECRET_ACCESS_KEY - label: S3 | AWS Secret Access Key - description: Secret access key for AWS. Leave to `test` to use local file storage. - defaultValue: test - validRegex: /.{1,}/ diff --git a/public/v4/apps/ntfy.yml b/public/v4/apps/ntfy.yml deleted file mode 100644 index 4dbe6e3b0..000000000 --- a/public/v4/apps/ntfy.yml +++ /dev/null @@ -1,66 +0,0 @@ -# Use schema version 4 -captainVersion: 4 - -# One-click-app options -caproverOneClickApp: - # App name - displayName: ntfy.sh - - # Description displayed on the app list - description: |- - Send push notifications to your phone or desktop via PUT/POST - - # Define instructions - instructions: - # Displayed one the app config page, where you enter all variable values - start: |- - ![ntfy Logo](https://raw.githubusercontent.com/binwiederhier/ntfy/48523a22693a59054c15d14e24565cd25fa1bf4c/web/public/static/img/ntfy.png) - - πŸ“– [Documentation](https://ntfy.sh/docs/) - πŸ“ [GitHub](https://github.com/binwiederhier/ntfy) - 🐳 [DockerHub](https://hub.docker.com/r/binwiederhier/ntfy) - πŸ‘› [Donate](https://github.com/sponsors/binwiederhier) - - *ntfy* (pronounce: notify) is a simple HTTP-based pub-sub notification service. It allows you to send notifications to your phone or desktop via scripts from any computer, - entirely without signup or cost. It's also open source (as you can plainly see) if you want to run your own. - - # Displayed after deployment - end: |- - πŸŽ‰πŸŽ‰πŸŽ‰ Successfully deployed! - Check it out at: http://$$cap_appname.$$cap_root_domain - - > *NOTE*: Enable HTTPS Support in the app's HTTP settings. You also need to activate websocket support in html settings! - - # Documentation Link - documentation: https://ntfy.sh/docs/ - - # Whether this one-click-app uses the official image or a trusted source - isOfficial: true - - # Define variables - variables: - # Variable for version - - id: $$cap_appversion - label: App Version - description: |- - Specify the version tag to install. - Click [here](https://hub.docker.com/r/binwiederhier/ntfy/tags) for a list of available tags. - defaultValue: v1.28.0 - validRegex: /^([^\s^\/])+$/ - -# Define services -services: - # ntfy service - $$cap_appname: - # CapRover's special options - caproverExtra: - dockerfileLines: - - FROM binwiederhier/ntfy:$$cap_appversion - - CMD ["serve"] - - # Define volumes - volumes: - # Volume containing database data and config - - $$cap_appname-cache:/var/cache/ntfy - # Volume containing database data and config - - $$cap_appname-etc:/etc/ntfy diff --git a/public/v4/apps/odoo.yml b/public/v4/apps/odoo.yml deleted file mode 100644 index 1e3cf4e96..000000000 --- a/public/v4/apps/odoo.yml +++ /dev/null @@ -1,55 +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: - displayName: 'Odoo' - 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/offen-docker-backup.yml b/public/v4/apps/offen-docker-backup.yml deleted file mode 100644 index f38e4de5e..000000000 --- a/public/v4/apps/offen-docker-backup.yml +++ /dev/null @@ -1,58 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - image: offen/docker-volume-backup:$$cap_version - environment: - AWS_ACCESS_KEY_ID: $$cap_aws_access_key_id - AWS_SECRET_ACCESS_KEY: $$cap_aws_secret_access_key - AWS_S3_BUCKET_NAME: $$cap_aws_s3_bucket_name - AWS_ENDPOINT: $$cap_aws_endpoint - BACKUP_FILENAME: $$cap_backup_filename - BACKUP_CRON_EXPRESSION: $$cap_backup_cron_expression - BACKUP_RETENTION_DAYS: $$cap_backup_retention_days - volumes: - - $$cap_volume_to_backup:/backup/data:ro - restart: always - caproverExtra: - notExposeAsWebApp: 'true' -caproverOneClickApp: - variables: - - id: $$cap_version - label: Docker volume backup version - defaultValue: 'v2' - description: Check out their Docker page for the valid tags https://hub.docker.com/r/offen/docker-volume-backup/tags - validRegex: /^([^\s^\/])+$/ - - id: $$cap_volume_to_backup - label: Volume to backup - description: Path of the volume that you want to backup, e.g. `/var/lib/docker/volumes/captain--my-app/_data` - - id: $$cap_aws_access_key_id - label: AWS_ACCESS_KEY_ID - - id: $$cap_aws_secret_access_key - label: AWS_SECRET_ACCESS_KEY - - id: $$cap_aws_s3_bucket_name - label: Bucket name - - id: $$cap_aws_endpoint - label: AWS Endpoint - description: This is the FQDN of your storage server, e.g. `storage.example.com`. Do not set this when working against AWS S3 (the default value is `s3.amazonaws.com`). If you need to set a specific (non-https) protocol, you will need to use the option below. - - id: $$cap_backup_filename - label: Backup filename - defaultValue: 'backup-%Y-%m-%dT%H-%M-%S.tar.gz' - description: The name of the backup file including the `.tar.gz` extension. Format verbs will be replaced as in `strftime`. Omitting them will result in the same filename for every backup run, which means previous versions will be overwritten on subsequent runs. The default results in filenames like `backup-2021-08-29T04-00-00.tar.gz`. - - id: $$cap_backup_cron_expression - label: Cron expression - defaultValue: '@daily' - description: Backups run on the given cron schedule in `busybox` flavor. If no value is set, `@daily` will be used. If you do not want the cron to ever run, use `0 0 5 31 2 ?`. - - id: $$cap_backup_retention_days - label: Backup retention days - defaultValue: '14' - description: Define this value to enable automatic rotation of old backups. The value declares the number of days for which a backup is kept. - instructions: - start: >- - Backup Docker volumes to any S3 compatible storage. See https://github.com/offen/docker-volume-backup - end: >- - Aaaand you're done! πŸ˜„ - Your service is up and running - displayName: Offen Docker Backup (S3) - isOfficial: true - description: Backup Docker volumes to any S3 compatible storage - documentation: Taken from https://github.com/offen/docker-volume-backup diff --git a/public/v4/apps/offen-local-docker-backup.yml b/public/v4/apps/offen-local-docker-backup.yml deleted file mode 100644 index a3e8581ce..000000000 --- a/public/v4/apps/offen-local-docker-backup.yml +++ /dev/null @@ -1,51 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - image: offen/docker-volume-backup:$$cap_version - environment: - BACKUP_FILENAME: $$cap_backup_filename - BACKUP_ARCHIVE: /archive - BACKUP_CRON_EXPRESSION: $$cap_backup_cron_expression - BACKUP_RETENTION_DAYS: $$cap_backup_retention_days - volumes: - - $$cap_volume_to_backup:/backup/data - - $$cap_backup_path:/archive - restart: always - caproverExtra: - notExposeAsWebApp: 'true' -caproverOneClickApp: - variables: - - id: $$cap_version - label: Docker volume backup version - defaultValue: 'v2' - description: Check out their Docker page for the valid tags https://hub.docker.com/r/offen/docker-volume-backup/tags - validRegex: /^([^\s^\/])+$/ - - id: $$cap_volume_to_backup - label: Volume to backup - description: Path of the volume that you want to backup, e.g. `/var/lib/docker/volumes/captain--my-app/_data` - - id: $$cap_backup_path - label: Backup path - defaultValue: '/backups' - description: Path where you want to store the backups - - id: $$cap_backup_filename - label: Backup filename - defaultValue: 'backup-%Y-%m-%dT%H-%M-%S.tar.gz' - description: The name of the backup file including the `.tar.gz` extension. Format verbs will be replaced as in `strftime`. Omitting them will result in the same filename for every backup run, which means previous versions will be overwritten on subsequent runs. The default results in filenames like `backup-2021-08-29T04-00-00.tar.gz`. - - id: $$cap_backup_cron_expression - label: Cron expression - defaultValue: '@daily' - description: Backups run on the given cron schedule in `busybox` flavor. If no value is set, `@daily` will be used. If you do not want the cron to ever run, use `0 0 5 31 2 ?`. - - id: $$cap_backup_retention_days - label: Backup retention days - defaultValue: '14' - description: Define this value to enable automatic rotation of old backups. The value declares the number of days for which a backup is kept. - instructions: - start: >- - Backup Docker volumes locally. See https://github.com/offen/docker-volume-backup. - end: >- - Aaaand you're done! πŸ˜„ - Your service is up and running - displayName: Offen Docker Backup (Local) - isOfficial: true - description: Backup Docker volumes locally - documentation: Taken from https://github.com/offen/docker-volume-backup diff --git a/public/v4/apps/ohmyform.yml b/public/v4/apps/ohmyform.yml deleted file mode 100644 index f8dd2757c..000000000 --- a/public/v4/apps/ohmyform.yml +++ /dev/null @@ -1,53 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - image: ohmyform/ohmyform:0.9.9 - volumes: - - $$cap_appname-data:/data - environment: - CREATE_ADMIN: 'TRUE' - ADMIN_EMAIL: $$cap_ohmyform_email - ADMIN_USERNAME: $$cap_ohmyform_user - ADMIN_PASSWORD: $$cap_ohmyform_pass - MAILER_URI: smtp://srv-captain--$$cap_appname-mailhog:1025 - PORT: '5000' - MONGODB_URI: mongodb://srv-captain--$$cap_appname-mongo/ohmyform - caproverExtra: - containerHttpPort: '5000' - $$cap_appname-mongo: - image: mongo:4 - volumes: - - $$cap_appname-mongo:/data/db - caproverExtra: - notExposeAsWebApp: 'true' - $$cap_appname-mailhog: - image: mailhog/mailhog:v1.0.1 - caproverExtra: - notExposeAsWebApp: 'true' -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,}/ - 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. 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/ombi.yml b/public/v4/apps/ombi.yml deleted file mode 100644 index 766b3ecb2..000000000 --- a/public/v4/apps/ombi.yml +++ /dev/null @@ -1,35 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - image: linuxserver/ombi:$$cap_ombi_version - environment: - TZ: $$cap_tz - PUID: '1000' - PGID: '1000' - restart: unless-stopped - volumes: - - $$cap_appname-config:/config - caproverExtra: - containerHttpPort: '3579' -caproverOneClickApp: - variables: - - id: $$cap_ombi_version - label: Ombi Version - defaultValue: development-v4.0.1446-ls143 - description: Check out their Docker page for the valid tags https://hub.docker.com/r/linuxserver/ombi/tags - validRegex: /^([^\s^\/])+$/ - - 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: >- - Ombi allows you to host your own Plex Request and user management system. If you are sharing your Plex server with other users, allow them to request new content using an easy to manage interface! Manage all your requests for Movies and TV with ease, leave notes for the user and get notification when a user requests something. Allow your users to post issues against their requests so you know there is a problem with the audio etc. Even automatically send them weekly newsletters of new content that has been added to your Plex server! - end: |- - Ombi is deployed and available as http://$$cap_appname.$$cap_root_domain. - Follow the setup wizard on initial install. Then configure the required services. - displayName: Ombi - isOfficial: true - description: Ombi is a self-hosted web application that automatically gives your shared Plex or Emby users the ability to request content by themselves - documentation: Taken from https://hub.docker.com/r/linuxserver/ombi. Website - https://ombi.io/ diff --git a/public/v4/apps/onlyoffice-documentserver.yml b/public/v4/apps/onlyoffice-documentserver.yml deleted file mode 100644 index b6e003cf1..000000000 --- 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/openspeedtest.yml b/public/v4/apps/openspeedtest.yml deleted file mode 100644 index 9946058ee..000000000 --- a/public/v4/apps/openspeedtest.yml +++ /dev/null @@ -1,24 +0,0 @@ -captainVersion: 4 - -services: - '$$cap_appname': - image: index.docker.io/openspeedtest/latest:$$cap_openspeedtest_version - caproverExtra: - containerHttpPort: '3001' - restart: always - -caproverOneClickApp: - variables: - - id: '$$cap_openspeedtest_version' - label: OpenSpeedTest Version - defaultValue: 'speedtest' - description: Check out their Docker page for the valid tags https://hub.docker.com/r/openspeedtest/latest/tags - instructions: - start: |- - OpenSpeedTest is a self-hosted speedtest. You can read more about this on https://openspeedtest.com/selfhosted-speedtest. - end: |- - OpenSpeedTest has been successfully deployed! You must enable https for the app to work. Go to the app setting and enable https. - displayName: OpenSpeedTest - isOfficial: true - description: |- - OpenSpeedTest is a self-hosted network speedtest written in vanilla Javascript. diff --git a/public/v4/apps/openvpn-as.yml b/public/v4/apps/openvpn-as.yml deleted file mode 100644 index 9cfa81d7b..000000000 --- a/public/v4/apps/openvpn-as.yml +++ /dev/null @@ -1,95 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - caproverExtra: - containerHttpPort: $$cap_OPENVPN_PORT_ADMIN - image: linuxserver/openvpn-as:$$cap_OPENVPN_VERSION - hostname: $$cap_appname.$$cap_root_domain - environment: - PUID: $$cap_OPENVPN_PUID - PGID: $$cap_OPENVPN_GUID - TZ: $$cap_OPENVPN_TZ - INTERFACE: $$cap_OPENVPN_INTERFACE - volumes: - - $$cap_appname:/config - ports: - - $$cap_OPENVPN_PORT_TCP:$$cap_OPENVPN_PORT_TCP - - $$cap_OPENVPN_PORT_UDP:$$cap_OPENVPN_PORT_UDP - cap_add: - - NET_ADMIN - -caproverOneClickApp: - displayName: OpenVPN Access Server - isOfficial: false - description: Full featured secure network tunneling VPN software. - documentation: https://openvpn.net/index.php/access-server/overview.html - instructions: - start: |- - OpenVPN is a full featured, open-source VPN solution that accommodates a wide range of configurations. - - **Important notes:** - - The provider of this image (LinuxServer) has decided to **deprecate** it in favor of WireGuard - - If you are using CapRover version `1.10.1` or older, you will need to **override CapRover's configuration** to use the newer Docker API version `1.4.1` (this can be done manually or by running `echo "{\"dockerApiVersion\":\"v1.41\"}" > /captain/data/config-override.json`) - - You need **access via SSH** to your server after deployment to modify a file (only once) - - You may need to **open the ports** `1194` and `9443` on your firewall - end: |- - OpenVPN has been deployed **successfully**! - - Before you can start using it, you need to perform some steps. - You only need to do this once. - **Please screenshot/copy the following instructions before proceeding:** - - 1. Go to the **HTTP Settings** of your deployment `$$cap_appname` here in CapRover - 2. **Enable HTTPS** - 3. **Edit Default Nginx Configurations** and search for the line `set $upstream http://<%-s.localDomain%>:<%-s.containerHttpPort%>;` and replace `http://` with `https://` - 4. Go to **App Configs** and paste the following snippet into **Service Update Override**: `{ "TaskTemplate": { "ContainerSpec": { "CapabilityAdd": ["CAP_NET_ADMIN"], "Hostname": "$$cap_appname.$$cap_root_domain" } } }` - 5. **Save & Update** and wait a minute - 6. Go to https://$$cap_appname.$$cap_root_domain/admin and log in using user `admin` and password `password` - 7. Navigate to **Configuration** > **Network Settings** and replace the value in **Hostname Or IP Address** with `$$cap_appname.$$cap_root_domain` and update the server (if you get an error just refresh the page, log back in to the admin page (`/admin`) and proceed with the next step) - 8. Navigate to **User Management** > **User Permissions** and add **New Username**, set a password, make it an admin and **Save Settings**. - 9. Log out and log in as the new user - 10. Navigate to **User Management** > **User Permissions** and delete the `admin` account - 11. Access via SSH to your server and execute `docker exec -it $(docker ps --filter name=srv-captain--$$cap_appname -q) sed -i '/boot_pam_users.0=admin/c\boot_pam_users.0=abcnonexistentuserxyz' /config/etc/as.conf` to block the `admin` account and prevent its creation during container restart - - Enjoy your private VPN! - variables: - - id: $$cap_OPENVPN_VERSION - label: General | Version Tag - description: Check out their valid tags at https://hub.docker.com/r/linuxserver/openvpn-as/tags - defaultValue: 2.9.0-5c5bd120-Ubuntu18-ls124 - validRegex: /.{1,}/ - - id: $$cap_OPENVPN_TZ - label: General | Timezone - description: Timezone for the application, find yours at https://en.wikipedia.org/wiki/List_of_tz_database_time_zones - defaultValue: UTC - validRegex: /.{1,}/ - - id: $$cap_OPENVPN_PUID - label: General | User ID - description: User ID that the process uses, run `id $user` on your instance to see the ID. - defaultValue: 1000 - validRegex: /.{1,}/ - - id: $$cap_OPENVPN_GUID - label: General | Group ID - description: Group ID that the process uses, run `id $user` on your instance to see the ID. - defaultValue: 1000 - validRegex: /.{1,}/ - - id: $$cap_OPENVPN_PORT_ADMIN - label: Networking | Admin GUI Port - description: Port of the administration interface. Should not be changed. - defaultValue: 943 - validRegex: /.{1,}/ - - id: $$cap_OPENVPN_PORT_TCP - label: Networking | TCP Port - description: Port of the TCP connections. Should not be changed. - defaultValue: 9443 - validRegex: /.{1,}/ - - id: $$cap_OPENVPN_PORT_UDP - label: Networking | UDP Port - description: Port of the UDP connections. Should not be changed. - defaultValue: 1194 - validRegex: /.{1,}/ - - id: $$cap_OPENVPN_INTERFACE - label: Networking | Interface - description: >- - With bridge networking, leave it blank (or enter `eth0`). - If `host` or `macvlan`, set it to your host's network interface, found by running `ifconfig`. diff --git a/public/v4/apps/openvscode-server.yml b/public/v4/apps/openvscode-server.yml deleted file mode 100644 index cce4bb9d9..000000000 --- a/public/v4/apps/openvscode-server.yml +++ /dev/null @@ -1,65 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - image: lscr.io/linuxserver/openvscode-server:$$cap_openvscode_server_version - volumes: - - $$cap_appname-config:/config - environment: - TZ: $$cap_openvscode_server_timezone - PUID: $$cap_openvscode_server_user_id - PGID: $$cap_openvscode_server_group_id - CONNECTION_TOKEN: $$cap_openvscode_server_connection_token - CONNECTION_SECRET: $$cap_openvscode_server_connection_secret - SUDO_PASSWORD: $$cap_openvscode_server_sudo_password - SUDO_PASSWORD_HASH: $$cap_openvscode_server_sudo_hash - hostname: $$cap_appname.$$cap_root_domain - caproverExtra: - containerHttpPort: '3000' -caproverOneClickApp: - displayName: OpenVSCode Server - description: A version of VS Code that runs a server on a remote machine and allows access through a modern web browser. - isOfficial: true - documentation: See https://github.com/linuxserver/docker-openvscode-server - instructions: - start: |- - OpenVSCode Server provides a version of VS Code that runs a server on a remote machine and allows access through a modern web browser. - It's based on the very same architecture used by Gitpod or GitHub Codespaces at scale. - end: > - OpenVSCode Server has been successfully deployed! It might take few moments before it's fully started. - Please turn on "Websocket Support" in the settings. - You can access it at http://$$cap_appname.$$cap_root_domain - If you are using a connection secret or connection token, append ?tkn=$$cap_openvscode_server_connection_token to the URL. - variables: - - id: $$cap_openvscode_server_version - label: Version Tag - description: Check out their documentation for the valid tags https://github.com/linuxserver/docker-openvscode-server/#version-tags - defaultValue: '1.74.3' - validRegex: "/^([^\\s^\\/])+$/" - - id: $$cap_openvscode_server_timezone - label: Timezone - description: Timezone for the application, find yours at https://en.wikipedia.org/wiki/List_of_tz_database_time_zones - defaultValue: UTC - validRegex: /.{1,}/ - - id: $$cap_openvscode_server_user_id - label: User ID - defaultValue: '1000' - description: User ID that the process uses, run (id $user) on your instance to see the ID - validRegex: /.{1,}/ - - id: $$cap_openvscode_server_group_id - label: Group ID - defaultValue: '1000' - description: Group ID that the process uses, run (id $user) on your instance to see the ID - validRegex: /.{1,}/ - - id: $$cap_openvscode_server_connection_token - label: Connection Token - description: Security token for accessing the Web UI. Should only contain alphanumeric characters or _, -. Leave empty to disable. - defaultValue: $$cap_gen_random_hex(16) - - id: $$cap_openvscode_server_connection_secret - label: Connection Secret - description: Optional path to a file inside the container that contains the security token for accessing the Web UI (ie. /path/to/file). Overrides Connection Token. Leave empty to disable. - - id: $$cap_openvscode_server_sudo_password - label: Sudo Password - description: User will have sudo access in the terminal with the specified password. Leave empty to disable. - - id: $$cap_openvscode_server_sudo_hash - label: Sudo Password Hash - description: Sudo password via hash (takes priority over Sudo Password). Format is "$type$salt$hashed". Leave empty to disable. diff --git a/public/v4/apps/orangehrm.yml b/public/v4/apps/orangehrm.yml deleted file mode 100644 index f8643d7d5..000000000 --- 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 0a1aa5878..000000000 --- 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 f720e5c4b..000000000 --- a/public/v4/apps/outline.yml +++ /dev/null @@ -1,166 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname-redis: - image: redis:$$cap_redis_version - volumes: - - $$cap_appname-redis-data:/redis.conf - restart: always - caproverExtra: - notExposeAsWebApp: 'true' - $$cap_appname-db: - image: postgres:$$cap_postgres_version - volumes: - - $$cap_appname-db-data:/var/lib/postgresql/data - restart: always - environment: - POSTGRES_USER: $$cap_db_user - POSTGRES_PASSWORD: $$cap_db_pass - POSTGRES_DB: outline - caproverExtra: - notExposeAsWebApp: 'true' - $$cap_appname: - depends_on: - - $$cap_appname-redis - - $$cap_appname-db - environment: - SECRET_KEY: $$cap_secret_key - UTILS_SECRET: $$cap_utils_secret - DATABASE_URL: postgres://$$cap_db_user:$$cap_db_pass@srv-captain--$$cap_appname-db:5432/outline - DATABASE_URL_TEST: postgres://$$cap_db_user:$$cap_db_pass@srv-captain--$$cap_appname-db:5432/outline-test - PGSSLMODE: disable - REDIS_URL: redis://srv-captain--$$cap_appname-redis:6379 - URL: https://$$cap_appname.$$cap_root_domain - PORT: '3000' - AWS_S3_UPLOAD_BUCKET_URL: $$cap_s3_storage_url - AWS_REGION: $$cap_s3_storage_region - AWS_S3_UPLOAD_BUCKET_NAME: $$cap_s3_storage_bucket_name - AWS_ACCESS_KEY_ID: $$cap_s3_storage_access_key_id - AWS_SECRET_ACCESS_KEY: $$cap_s3_storage_secret_access_key - AWS_S3_UPLOAD_MAX_SIZE: '26214400' - AWS_S3_FORCE_PATH_STYLE: true - AWS_S3_ACL: private - GOOGLE_CLIENT_ID: $$cap_google_client_id - GOOGLE_CLIENT_SECRET: $$cap_google_client_secret - FORCE_HTTPS: 'false' - ENABLE_UPDATES: 'false' - DEBUG: http - SMTP_HOST: $$cap_smtp_host - SMTP_PORT: $$cap_smtp_port - SMTP_USERNAME: $$cap_smtp_username - SMTP_PASSWORD: $$cap_smtp_password - SMTP_FROM_EMAIL: $$cap_smtp_from_email - SMTP_REPLY_EMAIL: $$cap_smtp_reply_email - SMTP_TLS_CIPHERS: $$cap_smtp_tls_ciphers - SMTP_SECURE: $$cap_smtp_secure - DEFAULT_LANGUAGE: $$cap_default_language - caproverExtra: - containerHttpPort: '3000' - dockerfileLines: - - FROM outlinewiki/outline:$$cap_outline_version - - EXPOSE 3000 - - CMD yarn db:migrate --env production-ssl-disabled; yarn start -caproverOneClickApp: - variables: - - id: $$cap_outline_version - label: Outline Version - defaultValue: 0.68.1 - description: Check out their page for the valid tags https://hub.docker.com/r/outlinewiki/outline/tags - validRegex: /^([^\s^\/])+$/ - - id: $$cap_postgres_version - label: Postgres Version - defaultValue: '14.4' - description: Check out their page for the valid tags https://hub.docker.com/_/postgres?tab=tags - validRegex: /^([^\s^\/])+$/ - - id: $$cap_redis_version - label: Redis Version - defaultValue: 7.0.2 - description: Check out their Docker page for the valid tags https://hub.docker.com/_/redis?tab=tags - validRegex: /^([^\s^\/])+$/ - - id: $$cap_secret_key - label: SECRET_KEY - description: 'Run this command to generate a key: `openssl rand -hex 32`' - validRegex: /^([0-9a-f]){64}$/ - - id: $$cap_utils_secret - label: UTILS_SECRET - description: 'Run this command to generate a key: `openssl rand -hex 32`' - validRegex: /^([0-9a-f]){64}$/ - - id: $$cap_db_user - label: Database user - defaultValue: outline_user - validRegex: /^([a-zA-Z0-9_])+$/ - - id: $$cap_db_pass - label: Database password - description: '' - defaultValue: $$cap_gen_random_hex(20) - validRegex: /.{8,}/ - - id: $$cap_s3_storage_url - label: S3 Storage compatible API URL for instance Minio, AWS, etc. - description: 'NB: You can have your own S3 storage by using the Open Source Minio alternative (there is a Caprover one-click-apps for that)' - defaultValue: https://YOUR_S3_STORAGE_PROVIDER_API_URL - - id: $$cap_s3_storage_region - label: S3 Storage region - description: 'Name of the location of the server e.g. "us-west-rack2"' - defaultValue: eu-east-1 - - id: $$cap_s3_storage_bucket_name - label: S3 Storage bucket name - description: "Log into the Minio dashboard, then select the `Create Bucket` menu option to create a new bucket (e.g. named outline-data). Don't forget to add `Read and Write` policy to the bucket so the Outline app would be able to upload content" - defaultValue: outline-data - - id: $$cap_s3_storage_access_key_id - label: S3 storage Access Key ID - description: 'For instance in your Minio instance, create a new user called outline_user for the outline app with a new policy that grants full access inside the bucket (e.g. outlineAppFullAccess - see also https://wiki.generaloutline.com/share/125de1cc-9ff6-424b-8415-0d58c809a40f#h-iam-policy)' - defaultValue: outline_user - - id: $$cap_s3_storage_secret_access_key - label: S3 storage Secret Access Key - description: 'For instance in your Minio instance it correponds to the password/secret of above outline_user' - - id: $$cap_google_client_id - label: Google Client ID - - id: $$cap_google_client_secret - label: Google Client Secret - - id: $$cap_smtp_host - label: SMTP host - description: To support sending outgoing transactional emails such as "document updated" or "you've been invited" you'll need to provide authentication for an SMTP server - - id: $$cap_smtp_port - label: SMTP port - - id: $$cap_smtp_username - label: SMTP username - - id: $$cap_smtp_password - label: SMTP password - - id: $$cap_smtp_from_email - label: SMTP from email - - id: $$cap_smtp_reply_email - label: SMTP reply email - - id: $$cap_smtp_tls_ciphers - label: SMTP TLS ciphers - - id: $$cap_smtp_secure - label: SMTP Secure - defaultValue: true - - id: $$cap_default_language - label: The default interface language - description: See translate.getoutline.com for a list of available language codes and their rough percentage translated. - defaultValue: en_US - instructions: - start: > - Outline is an open, extensible, wiki for your team built using React and Node.js. - - - Outline requires an external authentication provider such as Google/Slack, etc. - If you don't want to rely on those solutions you can use a generic OpenID Connect Server. - For instance you can use the Open Source Keycloak alternative (there is a Caprover one-click-apps for that) - - - IMPORTANT: You need to, at least, set one 3rd party login method, either Keycloak, Slack or Google - end: > - IMPORTANT: before you start using Outline, you need to - - 1) Enable HTTPS - 2) Force HTTPS - 3) Enable Websocket in $$cap_appname. - 4) Configure your authentication method following instructions: https://wiki.generaloutline.com/s/hosting/doc/authentication-7ViKRmRY5o - - 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/owncast.yml b/public/v4/apps/owncast.yml deleted file mode 100644 index 34c38f6b7..000000000 --- a/public/v4/apps/owncast.yml +++ /dev/null @@ -1,44 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - caproverExtra: - containerHttpPort: $$cap_OWNCAST_HTTP_PORT - image: gabekangas/owncast:$$cap_OWNCAST_VERSION - hostname: $$cap_appname.$$cap_root_domain - ports: - - $$cap_OWNCAST_RMTP_PORT:$$cap_OWNCAST_RMTP_PORT - volumes: - - $$cap_appname:/app/data -caproverOneClickApp: - instructions: - start: |- - Owncast is for people who are live streamers, or who wants to host live streams for others. - It's a "one to many" broadcast much like Twitch, Facebook Live, YouTube Live, etc. - The default RMTP port is `1935` (can be changed in the admin panel) and may need to be opened in your firewall. - end: |- - Owncast has been successfully deployed! It might take few moments before it's fully started. - You can access the admin panel at http://$$cap_appname.$$cap_root_domain/admin with username `admin` and password `abc123`. - Please do the following steps: - 1. Enable **Websocket Support** - 2. Change the admin credentials - 3. If you changed the RMTP port, adjust it in the admin panel - displayName: Owncast - isOfficial: true - description: Self-hosted live video and web chat server - documentation: https://owncast.online/docs - variables: - - id: $$cap_OWNCAST_VERSION - label: General | Version Tag - description: Check out their valid tags at https://hub.docker.com/r/gabekangas/owncast/tags - defaultValue: '0.0.12' - validRegex: /.{1,}/ - - id: $$cap_OWNCAST_HTTP_PORT - label: Networking | HTTP Port - description: Port of the HTTP service. - defaultValue: 8080 - validRegex: /.{1,}/ - - id: $$cap_OWNCAST_RMTP_PORT - label: Networking | RMTP Port - description: Port of the RMTP service. Should not be changed. - defaultValue: 1935 - validRegex: /.{1,}/ diff --git a/public/v4/apps/papercups.yml b/public/v4/apps/papercups.yml deleted file mode 100644 index 7aa7ff676..000000000 --- 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 88ca98b6f..000000000 --- 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:6 - 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/paperlessngx.yml b/public/v4/apps/paperlessngx.yml new file mode 100644 index 000000000..c28b709f4 --- /dev/null +++ b/public/v4/apps/paperlessngx.yml @@ -0,0 +1,114 @@ +captainVersion: 4 +services: + $$cap_appname: + image: ghcr.io/paperless-ngx/paperless-ngx:$$cap_paperless_version + depends_on: + - $$cap_appname-postgres + - $$cap_appname-redis + 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:/consume + environment: + USERMAP_UID: 1000 + USERMAP_GID: 1000 + PAPERLESS_OCR_THREADS: 2 + PAPERLESS_CONVERT_DENSITY: 300 + PAPERLESS_OCR_LANGUAGE: $$cap_ocr_language + PAPERLESS_REDIS: redis://srv-captain--$$cap_appname-redis:6379 + PAPERLESS_DBHOST: srv-captain--$$cap_appname-postgres + PAPERLESS_DBPORT: 5432 + PAPERLESS_DBUSER: $$cap_dbuser + PAPERLESS_DBPASS: $$cap_dbpass + PAPERLESS_DBNAME: $$cap_dbname + PAPERLESS_SECRET_KEY: $$cap_secret_key + PAPERLESS_ADMIN_USER: $$cap_admin_user + PAPERLESS_ADMIN_PASSWORD: $$cap_admin_password + PAPERLESS_ADMIN_MAIL: $$cap_admin_mail + PAPERLESS_URL: http://$$cap_appname.$$cap_root_domain + 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 + + caproverExtra: + containerHttpPort: '8000' + + + $$cap_appname-postgres: + image: postgres:13 + volumes: + - $$cap_appname-db-data:/var/lib/postgresql/data + environment: + POSTGRES_USER: $$cap_dbuser + POSTGRES_PASSWORD: $$cap_dbpass + POSTGRES_DB: $$cap_dbname + + $$cap_appname-redis: + image: redis:alpine + + # gotenberg + $$cap_appname-gotenberg: + image: thecodingmachine/gotenberg:7.8 + 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_appname + label: App Name + defaultValue: paperless-ngx + description: The name of the app in CapRover. You can keep the default value or choose a different name. + - id: $$cap_paperless_version + label: Version + defaultValue: 1.13 + description: Use a valid tag + - id: $$cap_dbuser + label: PostgreSQL Username + defaultValue: paperless + description: The username for the PostgreSQL database. + - id: $$cap_dbpass + label: PostgreSQL Password + defaultValue: '' + description: The password for the PostgreSQL database. Please choose a strong password. + - id: $$cap_dbname + label: PostgreSQL Database Name + defaultValue: paperless + description: The name of the PostgreSQL database used by Paperless-NGX. + - id: $$cap_ocr_language + label: OCR-Languages + defaultValue: eng + description: The OCR language used by Paperless-NGX. You can provide a single language code (e.g., eng) or multiple language codes separated by + (e.g., eng+deu) + - id: $$cap_secret_key + label: Secret-key + defaultValue: r0she2RZfCGc1959xZMngMVDGofrMmyX + description: Just smash your face on the keyboard + - id: $$cap_admin_user + label: Adminuser + defaultValue: Admin + description: adminname + - id: $$cap_admin_password + label: Adminpassword + defaultValue: Adminpassword + description: Adminpassword + - id: $$cap_paperless_url + label: paperlessurl + defaultValue: '' + description: Set the URL pointing to Paperless + + instructions: + start: >- + This will deploy the Paperless-NGX One-Click-App. Please provide the required information below. + end: >- + The Paperless-NGX app has been successfully deployed. Please give it a few minutes to start, and then you can access the web interface by navigating to the app URL. The default username is "admin" and the default password is "Adminpassword". Make sure to change the default credentials after logging in for the first time. + Please make sure that the HTTP Port is set to 8000 under the HTTP-Settings tab. diff --git a/public/v4/apps/papermerge.yml b/public/v4/apps/papermerge.yml deleted file mode 100644 index 19d06a03a..000000000 --- a/public/v4/apps/papermerge.yml +++ /dev/null @@ -1,41 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - image: linuxserver/papermerge:$$cap_papermerge_version - environment: - TZ: $$cap_tz - PUID: '1000' - PGID: '1000' - REDIS_URL: $$cap_redis_url - restart: unless-stopped - volumes: - - $$cap_appname-config:/config - - $$cap_appname-data:/data - caproverExtra: - containerHttpPort: '8000' -caproverOneClickApp: - variables: - - id: $$cap_papermerge_version - label: Paper Merge Version - defaultValue: v2.0.1-ls10 - description: Check out their Docker page for the valid tags https://hub.docker.com/r/linuxserver/papermerge/tags. - validRegex: /^([^\s^\/])+$/ - - 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,}/ - - id: $$cap_redis_url - label: Redis URL - defaultValue: '' - description: Specify an external redis instance to use. Can optionally include a port (redis:6379) and/or db (redis/foo). If left blank or not included, will use a built-in redis instance. If changed after initial setup will also require manual modification of /config/settings.py - instructions: - start: |- - Papermerge is an open source document management system (DMS) primarily designed for archiving and retrieving your digital documents. Instead of having piles of paper documents all over your desk, office or drawers - you can quickly scan them and configure your scanner to directly upload to Papermerge DMS. - end: |- - Default login is admin:admin via the webui, accessible at http://$$cap_appname.$$cap_root_domain. - Wait for few minutes to build and configure the app. - displayName: Papermerge - isOfficial: true - description: Papermerge is an open source document management system (DMS) primarily designed for archiving and retrieving your digital documents. - documentation: Taken from https://hub.docker.com/r/linuxserver/papermerge. Website - https://www.papermerge.com/ diff --git a/public/v4/apps/parse.yml b/public/v4/apps/parse.yml deleted file mode 100644 index c3ece24d1..000000000 --- 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: 'Parse' - 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 78a3f3d7c..000000000 --- a/public/v4/apps/passbolt.yml +++ /dev/null @@ -1,94 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname-db: - image: mariadb:$$cap_maria_version - restart: unless-stopped - 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:$$cap_pb_version - restart: unless-stopped - 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:/etc/passbolt/gpg - - $$cap_appname-jwt:/etc/passbolt/jwt - - $$cap_appname-images:/usr/share/php/passbolt/webroot/img/public/images -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: 3.9.0-2 - description: Check out their Docker page for the valid tags https://hub.docker.com/r/passbolt/passbolt/tags/ - - id: $$cap_maria_version - label: MariaDB Version - defaultValue: 10.10 - description: Check out their Docker page for the valid tags https://hub.docker.com/_/mariadb - - 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 '/usr/share/php/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 (MariaDB) - 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 d4b6fca9f..000000000 --- a/public/v4/apps/peertube.yml +++ /dev/null @@ -1,120 +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 - PT_INITIAL_ROOT_PASSWORD: $$cap_admin_password - PEERTUBE_SECRET: $$cap_secret - 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 - defaultValue: $$cap_gen_random_hex(32) - description: '' - validRegex: /.{1,}/ - - id: $$cap_postgres_version - label: Postgres Version - defaultValue: 13.10-alpine - 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.11-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: v5.1.0-bullseye - 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: '' - - id: $$cap_admin_password - label: Administrator password - description: Password use to connect as administrator under `root` username - defaultValue: $$cap_gen_random_hex(10) - validRegex: /.{1,}/ - - id: $$cap_secret - label: Secret string - defaultValue: $$cap_gen_random_hex(32) - validRegex: /.{1,}/ - instructions: - start: 'ActivityPub-federated video streaming platform using P2P directly in your web browser. (Github : https://github.com/Chocobozzz/PeerTube/)' - end: > - Peertube is deployed and available as $$cap_appname. - The administrator username is `root` and the password is `$$cap_admin_password` - - IMPORTANT: It will take up to 2 minutes for PeerTube to be ready. Before that, you might see 502 error page. - displayName: 'PeerTube' - 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 ac912b4ba..000000000 --- a/public/v4/apps/penpot.yml +++ /dev/null @@ -1,169 +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 - PENPOT_REDIS_URI: redis://srv-captain--$$cap_appname-redis:6379/0 - 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_ENABLED: 'true' - 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_ASSETS_STORAGE_BACKEND: assets-fs - PENPOT_STORAGE_ASSETS_FS_DIRECTORY: /opt/data/assets - PENPOT_FLAGS: $$cap_flags - PENPOT_REGISTRATION_DOMAIN_WHITELIST: $$cap_registration_domain_whitelist - PENPOT_TENANT: pro - depends_on: - - $$cap_appname-postgres - - $$cap_appname-redis - caproverExtra: - notExposeAsWebApp: 'true' - - # Frontend - $$cap_appname: - volumes: - - $$cap_appname-assets-data:/opt/data - environment: - PENPOT_FLAGS: $$cap_flags - 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 description 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.15.2-beta' - 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.15.2-beta' - 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.15.2-beta' - description: Checkout their docker page for the valid tags https://hub.docker.com/r/penpotapp/exporter/tags - validRegex: /^([^\s^\/])+$/ - - id: $$cap_flags - label: Penpot Flags - defaultValue: enable-registration enable-login - description: Add "disable-secure-session-cookies" if you are going to serve it without HTTPS. Checkout option on their documentation https://help.penpot.app/technical-guide/configuration - - id: $$cap_registration_domain_whitelist - label: Penpot Registration Domain Whitelist - description: Checkout option on their documentation https://help.penpot.app/technical-guide/configuration - - id: $$cap_postgres_pass - label: Postgres Database password - description: 'Password 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 - - 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 anonymous 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. Please enable "WebSocket Support" in the HTTP settings. - 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/percona.yml b/public/v4/apps/percona.yml deleted file mode 100644 index 48b280837..000000000 --- a/public/v4/apps/percona.yml +++ /dev/null @@ -1,41 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - image: percona:$$cap_percona_version - volumes: - - $$cap_appname-data:/var/lib/mysql - restart: always - environment: - MYSQL_ROOT_PASSWORD: $$cap_db_pass - caproverExtra: - dockerfileLines: - - FROM percona:$$cap_percona_version - - CMD ["--character-set-server=$$cap_charset", "--collation-server=$$cap_collation", "--skip-character-set-client-handshake"] - notExposeAsWebApp: 'true' -caproverOneClickApp: - variables: - - id: $$cap_percona_version - label: Percona Version - defaultValue: 'ps-8.0' - description: Check out their Docker page for the valid tags https://hub.docker.com/_/percona - validRegex: /^([^\s^\/])+$/ - - id: $$cap_db_pass - label: Percona Root password - description: '' - validRegex: /.{1,}/ - defaultValue: $$cap_gen_random_hex(12) - - 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: "Percona Server for MySQL is a fork of the MySQL relational database management system created by Percona. It aims to retain close compatibility to the official MySQL releases, while focusing on performance and increased visibility into server operations. Also included in Percona Server is XtraDB, Percona's fork of the InnoDB Storage Engine." - end: "Percona is deployed and available as srv-captain--$$cap_appname:3306 to other apps. For example with NodeJS, you do 'var con = mysql.createConnection({ host: 'srv-captain--$$cap_appname', user: 'root', password: '*********' });'" - displayName: Percona Server - isOfficial: true - description: Percona Server for MySQL is a fork of the MySQL relational database management system created by Percona. - documentation: https://www.percona.com/software/mysql-database/percona-server diff --git a/public/v4/apps/pgadmin4.yml b/public/v4/apps/pgadmin4.yml deleted file mode 100644 index d40403f1f..000000000 --- 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: 'pgAdmin' - 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 b61f27452..000000000 --- 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: 'pgweb' - 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 86515d261..000000000 --- a/public/v4/apps/photoprism.yml +++ /dev/null @@ -1,113 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - image: 'photoprism/photoprism:$$app_version' - depends_on: - - $$cap_appname-db - environment: - PHOTOPRISM_ADMIN_PASSWORD: $$app_admin_password - PHOTOPRISM_AUTH_MODE: password - PHOTOPRISM_SITE_URL: 'https://$$cap_appname.$$cap_root_domain' - PHOTOPRISM_ORIGINALS_LIMIT: $$app_upload_size_limit - PHOTOPRISM_HTTP_COMPRESSION: gzip - PHOTOPRISM_UPLOAD_NSFW: 'true' - PHOTOPRISM_DATABASE_DRIVER: mysql - PHOTOPRISM_DATABASE_SERVER: srv-captain--$$cap_appname-db - PHOTOPRISM_DATABASE_NAME: photoprism - PHOTOPRISM_DATABASE_USER: photoprism - PHOTOPRISM_DATABASE_PASSWORD: $$db_password - volumes: - - '$$cap_appname-originals:/photoprism/originals' - - '$$cap_appname-storage:/photoprism/storage' - working_dir: /photoprism - labels: - $$cap_appname-chadburn.enabled: $$chadburn_enabled - $$cap_appname-chadburn.job-exec.photoprism_index.schedule: '$$chadburn_index_schedule' - $$cap_appname-chadburn.job-exec.photoprism_index.command: 'photoprism index --cleanup' - caproverExtra: - containerHttpPort: '2342' - $$cap_appname-db: - restart: unless-stopped - image: 'mariadb:$$db_version' - volumes: - - '$$cap_appname-db:/var/lib/mysql' - environment: - MARIADB_AUTO_UPGRADE: '1' - MARIADB_INTDB_SKIP_TZINFO: '1' - MARIADB_DATABASE: photoprism - MARIADB_USER: photoprism - MARIADB_PASSWORD: $$db_password - MARIADB_ROOT_PASSWORD: $$db_root_password - caproverExtra: - notExposeAsWebApp: 'true' - $$cap_appname-chadburn: - restart: unless-stopped - image: 'premoweb/chadburn:$$chadburn_version' - volumes: - - '/var/run/docker.sock:/var/run/docker.sock:ro' - caproverExtra: - notExposeAsWebApp: 'true' -caproverOneClickApp: - variables: - - id: $$app_version - label: Photoprism Version - defaultValue: 220901-bullseye - description: >- - Check out their Docker page for the valid tags - https://hub.docker.com/r/photoprism/photoprism/tags - validRegex: '/^([^\s^\/])+$/' - - id: $$app_admin_password - label: Photoprism Admin Password - defaultValue: $$cap_gen_random_hex(32) - description: Set a secure password for the admin user - validRegex: '/.{1,}/' - - id: $$app_upload_size_limit - label: File Size Limit - defaultValue: '5000' - description: File Size Limit for Originals in MB - validRegex: '/^([^\s^\/])+$/' - - id: $$db_version - label: Mariadb Version - defaultValue: '10.9' - description: >- - Check out their Docker page for the valid tags - https://hub.docker.com/_/mariadb/tags - validRegex: '/^([^\s^\/])+$/' - - id: $$db_password - label: MariaDB User Password - defaultValue: $$cap_gen_random_hex(32) - description: User password for the database - validRegex: '/.{1,}/' - - id: $$db_root_password - label: MariaDB Root Password - defaultValue: $$cap_gen_random_hex(32) - description: Root password for the database - validRegex: '/.{1,}/' - - id: $$chadburn_version - label: Chadburn Version - defaultValue: 1.0.3 - description: >- - Check out their Docker page for the valid tags - https://hub.docker.com/r/premoweb/chadburn/tags - - id: $$chadburn_enabled - label: Enable scheduling for indexing files - defaultValue: false - description: >- - Enable scheduling for indexing files from the originals folder. Useful is the originals folder is shared by another app, like nextcloud, etc. For scheduling imports, etc, simply use the photoprism GUI. - - id: $$chadburn_index_schedule - label: Enable scheduling for indexing files in the originals folder - defaultValue: '@every 1h' - description: >- - Set the time frame for scheduling indexing files from the originals folder. Check out the allowed values here: https://github.com/PremoWeb/chadburn - instructions: - start: |- - AI-Powered Photos App for the Decentralized Web - More details: https://photoprism.app/ - end: >- - Photoprism has been successfully deployed! Important further steps: - 1. Enable HTTPS on the domain. - 2. Enable websocket support - displayName: Photoprism (vbbot) - isOfficial: true - description: AI-Powered Photos App for the Decentralized Web - documentation: 'See https://photoprism.app/' diff --git a/public/v4/apps/photoview.yml b/public/v4/apps/photoview.yml deleted file mode 100644 index 71d92e253..000000000 --- a/public/v4/apps/photoview.yml +++ /dev/null @@ -1,93 +0,0 @@ -captainVersion: 4 - -services: - $$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 - caproverExtra: - notExposeAsWebApp: 'true' - - $$cap_appname: - image: viktorstrate/photoview:$$cap_photoview_version - depends_on: - - $$cap_appname-mariadb - environment: - PHOTOVIEW_DATABASE_DRIVER: mysql - PHOTOVIEW_MYSQL_URL: $$cap_mariadb_user:$$cap_mariadb_pass@tcp(srv-captain--$$cap_appname-mariadb)/$$cap_mariadb_db - PHOTOVIEW_LISTEN_IP: 0.0.0.0 - PHOTOVIEW_LISTEN_PORT: 80 - PHOTOVIEW_MEDIA_CACHE: /app/cache - MAPBOX_TOKEN: $$cap_mapbox_token - volumes: - - $$cap_appname-media-cache:/app/cache - - $$cap_photos_path:/photos - -caproverOneClickApp: - displayName: Photoview - isOfficial: true - description: Photo gallery for self-hosted personal servers. - documentation: Taken from https://github.com/photoview/photoview/blob/master/docker-compose.example.yml. - instructions: - start: >- - Photoview is a simple and user-friendly photo gallery that's made for photographers and aims to provide an easy and fast way to navigate directories, with thousands of high-resolution photos. - - - You configure Photoview to look for photos and videos within a directory on your file system. - The scanner automatically picks up your media and start to generate thumbnail images to make browsing super fast. - - - When your media has been scanned they show up on the website, organised in the same way as on the filesystem. - end: >- - Photoview has successfully deployed. - - Finish the setup at http://$$cap_appname.$$cap_root_domain. - - variables: - - id: $$cap_photoview_version - label: Photoview Version - defaultValue: '2.3.9' - description: Check out their docker page for the valid tags https://hub.docker.com/r/viktorstrate/photoview/tags - validRegex: /^([^\s^\/])+$/ - - - id: $$cap_photos_path - label: Location of your photos - description: Change this to the directory where your photos are located on your server. - validRegex: /\/[^\s-][a-zA-Z0-9_\/-]*[^\/][^\s-]/ - - - id: $$cap_mapbox_token - label: Mapbox Token (Optional) - description: |- - To enable map related features, you need to create a mapbox token. - - A token can be generated for free here https://account.mapbox.com/access-tokens/ - - It's a good idea to limit the scope of the token to your own domain, to prevent others from using it. - - Leave empty to disable map related features. - - - id: $$cap_mariadb_version - label: MariaDB Version - defaultValue: '10.5' - 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: Name of the Database used by Photoview - defaultValue: 'photoview' - - - id: $$cap_mariadb_user - label: MariaDB Username - description: Username for the Database used by Photoview - defaultValue: 'photoview' - - - id: $$cap_mariadb_pass - label: MariaDB Password - description: Password for the Database used by Photoview - defaultValue: $$cap_gen_random_hex(16) diff --git a/public/v4/apps/phpldapadmin.yml b/public/v4/apps/phpldapadmin.yml deleted file mode 100644 index 80935973f..000000000 --- a/public/v4/apps/phpldapadmin.yml +++ /dev/null @@ -1,55 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - image: osixia/openldap:$$cap_openldap_version - restart: always - volumes: - - $$cap_appname-db:/var/lib/ldap - - $$cap_appname-config:/etc/ldap/slapd.d - 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 469799cbe..000000000 --- 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/planka.yml b/public/v4/apps/planka.yml deleted file mode 100644 index 69926f482..000000000 --- a/public/v4/apps/planka.yml +++ /dev/null @@ -1,94 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - caproverExtra: - containerHttpPort: $$cap_PLANKA_PORT - dockerfileLines: - - FROM ghcr.io/plankanban/planka:$$cap_PLANKA_VERSION - - CMD ["bash", "-c", "for i in `seq 1 30`; do ./start.sh && s=$$? && break || s=$$?; echo \"Tried $$i times. Waiting 5 seconds...\"; sleep 5; done; (exit $$s)"] - environment: - BASE_URL: http://$$cap_appname.$$cap_root_domain - TRUST_PROXY: $$cap_PLANKA_TRUST_PROXY - DATABASE_URL: postgresql://$$cap_POSTGRES_USER:$$cap_POSTGRES_PASSWORD@srv-captain--$$cap_appname-db/$$cap_POSTGRES_DB - SECRET_KEY: $$cap_PLANKA_SECRET_KEY - hostname: $$cap_appname.$$cap_root_domain - depends_on: - - $$cap_appname-db - volumes: - - $$cap_appname-user-avatars:/app/public/user-avatars - - $$cap_appname-project-background-images:/app/public/project-background-images - - $$cap_appname-attachments:/app/private/attachments - $$cap_appname-db: - caproverExtra: - notExposeAsWebApp: 'true' - image: postgres:$$cap_POSTGRES_VERSION - volumes: - - $$cap_appname-db:/var/lib/postgresql/data - environment: - POSTGRES_USER: $$cap_POSTGRES_USER - POSTGRES_PASSWORD: $$cap_POSTGRES_PASSWORD - POSTGRES_DB: $$cap_POSTGRES_DB - POSTGRES_HOST_AUTH_METHOD: $$cap_POSTGRES_HOST_AUTH_METHOD -caproverOneClickApp: - instructions: - start: |- - Planka is a Trello-like kanban board built with React and Redux. - end: |- - Planka has been successfully deployed! It might take few moments before it's fully started. - You can access it at `http://$$cap_appname.$$cap_root_domain` with user `demo@demo.demo` and password `demo`. - - Please do the following steps: - 1. Activate **WebSocket Support** - 2. If you enabled HTTPS, you should adjust the `BASE_URL` environment variable accordingly - - Enjoy your self-hosted Trello alternative! - displayName: Planka - isOfficial: true - description: Realtime Kanban Board for Workgroups - documentation: https://github.com/plankanban/planka#deploy - variables: - - id: $$cap_PLANKA_VERSION - label: General | Planka Version - description: Check out their valid tags at https://github.com/orgs/plankanban/packages/container/package/planka - defaultValue: '1.8.4' - validRegex: /.{1,}/ - - id: $$cap_POSTGRES_VERSION - label: General | PostgreSQL Version - description: Check out their valid tags at https://hub.docker.com/r/btcpayserver/postgres/tags - defaultValue: '13.7' - validRegex: /.{1,}/ - - id: $$cap_PLANKA_PORT - label: Application | Port - description: Port of the Planka host. - defaultValue: 1337 - validRegex: /.{1,}/ - - id: $$cap_PLANKA_TRUST_PROXY - label: Application | Trust Proxy - description: Whether to trust proxy in Planka. - defaultValue: 'false' - validRegex: /.{1,}/ - - id: $$cap_PLANKA_SECRET_KEY - label: Application | Secret Key - description: Secret key for data encryption. - defaultValue: $$cap_gen_random_hex(32) - validRegex: /.{1,}/ - - id: $$cap_POSTGRES_USER - label: Database | User Name - description: User name of the PostgreSQL database. - defaultValue: planka - validRegex: /.{1,}/ - - id: $$cap_POSTGRES_PASSWORD - label: Database | User Password - description: User password of the PostgreSQL database. - defaultValue: $$cap_gen_random_hex(16) - validRegex: /.{1,}/ - - id: $$cap_POSTGRES_DB - label: Database | Name - description: Name of the PostgreSQL database. - defaultValue: planka - validRegex: /.{1,}/ - - id: $$cap_POSTGRES_HOST_AUTH_METHOD - label: Database | Host Authentication Method - description: Method of the PostgreSQL host authentication. - defaultValue: trust - validRegex: /.{1,}/ diff --git a/public/v4/apps/plausible.yml b/public/v4/apps/plausible.yml deleted file mode 100644 index 45cc8d9d5..000000000 --- a/public/v4/apps/plausible.yml +++ /dev/null @@ -1,134 +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:$$cap_POSTGRES_VERSION - 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:$$cap_CLICKHOUSE_VERSION - volumes: - - $$cap_appname-clickhouse-data:/var/lib/clickhouse - caproverExtra: - notExposeAsWebApp: 'true' - - $$cap_appname: - depends_on: - - $$cap_appname-postgres - - $$cap_appname-clickhouse - - $$cap_appname-mail - caproverExtra: - containerHttpPort: '8000' - dockerfileLines: - - FROM plausible/analytics:$$cap_PLAUSIBLE_VERSION - - 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' - -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 - - 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: The version of Plausible docker image (from https://hub.docker.com/r/plausible/analytics/tags eg. v1 or v1.4) - id: $$cap_PLAUSIBLE_VERSION - label: PLAUSIBLE_VERSION - defaultValue: v1 - validRegex: /^([^\s^\/])+$/ - - description: Clickhouse version (from https://hub.docker.com/r/yandex/clickhouse-server/tags, eg 21.12.2.17) - id: $$cap_CLICKHOUSE_VERSION - label: CLICKHOUSE_VERSION - defaultValue: 21.3.2.5 - validRegex: /^([^\s^\/])+$/ - - description: Postgres version (from https://hub.docker.com/_/postgres?tab=tags, eg 12 or 12-alpine) - id: $$cap_POSTGRES_VERSION - label: POSTGRES_VERSION - defaultValue: 12-alpine - 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 and - - ClickHouse image https://hub.docker.com/r/yandex/clickhouse-server. - This version includes an open source geoip database (db-ip). If you would like to use Maxmind db, - You will need to mount a volume and an additional container to update the database. You can use this docker - compose file for reference: https://github.com/plausible/hosting/blob/master/geoip/docker-compose.geoip.yml - 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. - - See https://github.com/plausible/analytics/blob/master/config/runtime.exs for all configurable - environment variables, for features like Google search, postmark, and slack integrations. - - 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-arm.yml b/public/v4/apps/plex-arm.yml deleted file mode 100644 index b6a20e478..000000000 --- a/public/v4/apps/plex-arm.yml +++ /dev/null @@ -1,54 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - image: linuxserver/plex:$$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-movies:/movies - - $$cap_appname-tv:/tv - caproverExtra: - containerHttpPort: '32400' -caproverOneClickApp: - variables: - - id: $$cap_plex_version - label: Plex Version - defaultValue: 1.25.8 - description: Check out their Docker page for the valid tags https://hub.docker.com/r/linuxserver/plex/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: Europe/Copenhagen - description: Get yours from https://en.wikipedia.org/wiki/List_of_tz_database_time_zones - validRegex: /.{1,}/ - instructions: - start: >- - This image is for ARM CPUs, perfect for Raspberry Pi installation. - 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 (ARM) - isOfficial: false - 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/linuxserver/plex. diff --git a/public/v4/apps/plex.yml b/public/v4/apps/plex.yml deleted file mode 100644 index 7e50622d7..000000000 --- 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/pocketbase.yml b/public/v4/apps/pocketbase.yml deleted file mode 100644 index 6bb727fb7..000000000 --- a/public/v4/apps/pocketbase.yml +++ /dev/null @@ -1,41 +0,0 @@ -captainVersion: 4 - -services: - '$$cap_appname': - caproverExtra: - dockerfileLines: - - FROM alpine:3.16.2 - - RUN apk add --no-cache unzip openssh - - ADD https://github.com/pocketbase/pocketbase/releases/download/v$$cap_version/pocketbase_$$cap_version_linux_amd64.zip /tmp/pb.zip - - RUN unzip /tmp/pb.zip -d /pb/ - - EXPOSE 8080 - - CMD ["/pb/pocketbase", "serve", "--http=0.0.0.0:8080"] - containerHttpPort: '8080' - volumes: - - '$$cap_appname-data:/pb/pb_data' - -caproverOneClickApp: - variables: - - id: '$$cap_version' - label: PocketBase Version - defaultValue: '0.10.0' - description: Check out their Docker page for the valid tags https://github.com/pocketbase/pocketbase/releases - validRegex: "/^([^\\s^\\/])+$/" - instructions: - start: |- - PocketBase is an open source Go backend: - - embedded database (SQLite) with realtime subscriptions - - built-in files and users management - - convenient Admin dashboard UI - - and simple REST-ish API - end: |- - PocketBase has been successfully deployed! - displayName: PocketBase - isOfficial: true - description: |- - PocketBase is an open source Go backend: - - embedded database (SQLite) with realtime subscriptions - - built-in files and users management - - convenient Admin dashboard UI - - and simple REST-ish API - documentation: See https://pocketbase.io/ diff --git a/public/v4/apps/portainer.yml b/public/v4/apps/portainer.yml deleted file mode 100644 index 32738fdde..000000000 --- a/public/v4/apps/portainer.yml +++ /dev/null @@ -1,37 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - image: portainer/portainer-$$cap_portainer_edition:$$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.16.2 - description: Check out their Docker page for the valid tags https://hub.docker.com/r/portainer/portainer-ce/tags - validRegex: /^([^\s^\/])+$/ - - id: $$cap_portainer_edition - label: Portainer Edition - defaultValue: 'ce' - description: 'Community edition (ce) or Enterprise edition (ee)' - validRegex: /^(?:ce|ee)$/ - 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: 'Portainer' - 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 7bd045b0d..000000000 --- a/public/v4/apps/poste-io.yml +++ /dev/null @@ -1,103 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - image: analogic/poste.io:$$cap_POSTE_VERSION - hostname: $$cap_POSTE_HOSTNAME - environment: - TZ: $$cap_POSTE_TZ - HTTPS: $$cap_POSTE_HTTPS - DISABLE_CLAMAV: $$cap_POSTE_DISABLE_CLAMAV - DISABLE_RSPAMD: $$cap_POSTE_DISABLE_RSPAMD - DISABLE_ROUNDCUBE: $$cap_POSTE_DISABLE_ROUNDCUBE - VIRTUAL_HOST: $$cap_POSTE_HOSTNAME - ports: - - '25:25' - - '110:110' - - '143:143' - - '465:465' - - '587:587' - - '993:993' - - '995:995' - - '4190:4190' - volumes: - - $$cap_appname:/data -caproverOneClickApp: - displayName: Poste.io - isOfficial: true - description: Complete mail server built in one container - documentation: https://poste.io/doc - instructions: - start: |- - SMTP + IMAP + POP3 + Antispam + Antivirus + Web Administration + Web Mail on your server in ca. 5 minutes. - - **Important notes:** - - You may need to open the ports `25`, `110`, `143`, `465`, `587`, `993`, `995` and `4190` on your firewall - - You will need access to DNS configuration after deployment - - It's recommended to use `mail` as the app name - end: |- - Poste.io has been successfully deployed! - - Before you can start using it, you need to perform some steps. - You only need to do this once. - **Please screenshot/copy the following instructions before proceeding:** - - 1. Go to the **App Configs** of your deployment `$$cap_appname` here in CapRover - 2. Insert the following snippet into **Pre-Deploy Script**: `var preDeployFunction = function (captainAppObj, dockerUpdateObject) {var ports = dockerUpdateObject.EndpointSpec.Ports || [];ports.forEach(function (port) {port.PublishMode = "host";});return Promise.resolve(dockerUpdateObject);};` - 3. Go to the **HTTP Settings** and **Edit Default Nginx Configurations** - 4. Search for **last occurrence** of `location /.well-known/acme-challenge/` and replace `root <%-s.staticWebRoot%>;` with `proxy_pass $upstream;` - 5. **Save settings** and wait a minute - 6. Access your mail server at `http://$$cap_appname.$$cap_root_domain` - 7. Enter `$$cap_POSTE_HOSTNAME` in **Mailserver hostname** - 8. Enter an email address for the admin (you can also use `admin@$$cap_POSTE_HOSTNAME`) and create a password - 9. Navigate to **System Settings** > **TLS Certificate** and **Issue Free Letsencrypt.org Certificate** - 10. Check **Enabled** and **Save Changes** - - The following steps guide you though the DNS configuration. Please **consult the documentation** (`https://poste.io/doc/configuring-dns`). - - 1. Enter the admin panel of the server hosting or if you are self-hosting locally make sure you have access to the DNS configuration - 2. Create **PTR record** (also known as **Reverse DNS**) pointing to `$$cap_POSTE_HOSTNAME` - 3. Create **A** record for `$$cap_POSTE_HOSTNAME` pointing to the IP address of the server - 4. Create **MX** record pointing to `$$cap_POSTE_HOSTNAME` - 5. Create **TXT** record with value `v=spf1 mx ~all` - 6. Create **TXT** record with value `v=DMARC1; p=none; rua=mailto:dmarc-reports@$$cap_POSTE_HOSTNAME ruf=dmarc-reports@$$cap_POSTE_HOSTNAME; sp=none; ri=86400` (you may need to change the mail addresses) - 7. Go to your application navigating to `http://$$cap_appname.$$cap_root_domain/admin/domain` - 8. Click **Show** on `$$cap_POSTE_HOSTNAME` - 9. In the line **DKIM Key** click on **Create New Key** and copy the generated value - 10. Go back to the DNS settings - 11. Create **TXT** record and insert copied value (starting with `k=rsa...`) - 12. Verify the DNS configuration using tools like MXToolbox (`https://mxtoolbox.com`) - - If all your checks are green you are ready to create mailboxes. - - Enjoy your self-hosted mail server! - variables: - - id: $$cap_POSTE_VERSION - label: General | Version - description: Check out their Docker page for the valid tags https://hub.docker.com/r/analogic/poste.io/tags - defaultValue: '2' - validRegex: /.{1,}/ - - id: $$cap_POSTE_TZ - label: General | Timezone - description: Timezone for the application, find yours at https://en.wikipedia.org/wiki/List_of_tz_database_time_zones - defaultValue: UTC - validRegex: /.{1,}/ - - id: $$cap_POSTE_DISABLE_CLAMAV - label: Features | Disable ClamAV - description: Whether to disable ClamAV anti-virus. Useful for low memory usage. Set value `TRUE` to disable. - - id: $$cap_POSTE_DISABLE_RSPAMD - label: Features | Disable Rspamd - description: Whether to disable Rspamd spam filter. Useful for low memory usage. Set value `TRUE` to disable. - - id: $$cap_POSTE_DISABLE_ROUNDCUBE - label: Features | Disable Roundcube - description: Whether to disable Roundcube webmail. Set value `TRUE` to disable. - - id: $$cap_POSTE_HOSTNAME - label: Networking | Hostname - description: Hostname of your mail server. **This is required**. It is usually `mail.mydomain.com`. - validRegex: /.{1,}/ - - id: $$cap_POSTE_HTTPS - label: Networking | Use HTTPS - description: >- - Whether to redirect to encrypted HTTP. - It's recommended to leave it to `OFF` since CapRover acts as reverse proxy and handles HTTPS. - If you want to enable it, remove the value and leave it blank and then to change the configuration and ports accordingly. - defaultValue: 'OFF' diff --git a/public/v4/apps/postgres.yml b/public/v4/apps/postgres.yml deleted file mode 100644 index 3b18f2d36..000000000 --- a/public/v4/apps/postgres.yml +++ /dev/null @@ -1,51 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - image: postgres:$$cap_postgres_version - volumes: - - $$cap_appname-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: Version - defaultValue: '14.5' - 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: Username - defaultValue: postgres - validRegex: /.{1,}/ - - id: $$cap_pg_pass - label: Password - defaultValue: $$cap_gen_random_hex(16) - validRegex: /.{1,}/ - - id: $$cap_pg_db - label: Default Database - defaultValue: postgres - validRegex: /.{1,}/ - - id: $$cap_pg_initdb_args - label: Optional Arguments - description: >- - Arguments will be appended to `postgres initdb`. - 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. - end: |- - Postgres is deployed and available as `srv-captain--$$cap_appname:5432` to other apps. - For example with Node.js: `const client = new Client({ user: '$$cap_pg_user', host: 'srv-captain--$$cap_appname', database: '$$cap_pg_db', password: '$$cap_pg_pass', port: 5432})` - displayName: PostgreSQL - isOfficial: true - description: The PostgreSQL object-relational database system provides reliability and data integrity - documentation: https://hub.docker.com/_/postgres diff --git a/public/v4/apps/prerender.yml b/public/v4/apps/prerender.yml deleted file mode 100644 index e87d6440c..000000000 --- a/public/v4/apps/prerender.yml +++ /dev/null @@ -1,56 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - image: tvanro/prerender-alpine:6.4.0 - restart: always - environment: - MEMORY_CACHE: $$cap_memory_cache - CACHE_MAXSIZE: $$cap_cache_max_size - CACHE_TTL: $$cap_cache_ttl - BLACKLISTED_DOMAINS: $$cap_blacklisted_domains - caproverExtra: - containerHttpPort: '3000' -caproverOneClickApp: - variables: - - id: $$cap_memory_cache - label: Enable memory cache? - defaultValue: 1 - validRegex: /^[01]$/ - description: Serve cache responses in memory. - - - id: $$cap_cache_max_size - label: Cache Max Size - defaultValue: 10000 - validRegex: /^[0-9]*$/ - description: Max number of objects(pages) in cache. - - - id: $$cap_cache_ttl - label: Cache time to live in (seconds) - defaultValue: 7200 - validRegex: /^[0-9]*$/ - description: Maximum time to live in seconds of objects(pages). - - - id: $$cap_blacklisted_domains - label: 'Optional: Blacklisted domains, separated by ",". Leave empty if none.' - description: 'Blacklisted domains which will not be pre rendered. E.g: yahoo.com,www.google.com' - - instructions: - start: >- - Prerender is a node server that uses Headless Chrome to render HTML, - screenshots, PDFs, and HAR files out of any web page. The Prerender - server listens for an http request, takes the URL and loads it in - Headless Chrome, waits for the page to finish loading by waiting for - the network to be idle, and then returns your content. - - You can choose wheter to expose it as a web app, or not. - - end: >- - Your service is available at http://$$cap_appname.$$cap_root_domain - - Check its health with: - - curl -X GET 'http://$$cap_appname.$$cap_root_domain/render?url=https://www.example.com - displayName: 'Prerender' - isOfficial: true - description: Prerender uses Headless Chrome to render HTML, screenshots, PDFs, and HAR files out of any web page, in order to serve them to crawlers. - documentation: https://hub.docker.com/r/tvanro/prerender-alpine diff --git a/public/v4/apps/prisma.yml b/public/v4/apps/prisma.yml deleted file mode 100644 index 5577f8f52..000000000 --- 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: 'Prisma' - 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 5737c8540..000000000 --- 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/projectsend.yml b/public/v4/apps/projectsend.yml deleted file mode 100644 index 1f562a5b4..000000000 --- a/public/v4/apps/projectsend.yml +++ /dev/null @@ -1,44 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - image: linuxserver/projectsend:$$cap_projectsend_version - environment: - TZ: $$cap_tz - PUID: '1000' - PGID: '1000' - MAX_UPLOAD: $$cap_max_upload - restart: unless-stopped - volumes: - - $$cap_appname-config:/config - - $$cap_appname-data:/data - caproverExtra: - containerHttpPort: '80' -caproverOneClickApp: - variables: - - id: $$cap_projectsend_version - label: ProjectSend Version - defaultValue: version-r1295 - description: Check out their Docker page for the valid tags https://hub.docker.com/r/linuxserver/projectsend/tags. If you want MSSQL support please use the tag r1053-ls27 - validRegex: /^([^\s^\/])+$/ - - 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,}/ - - id: $$cap_max_upload - label: Max Upload size in MB - defaultValue: '5000' - description: To set maximum upload size (in MB), default if unset is 5000. - instructions: - start: |- - ProjectSend is a self-hosted application (you can install it easily on your own VPS or shared web hosting account) that lets you upload files and assign them to specific clients that you create yourself! Secure, private and easy. No more depending on external services or e-mail to send those files! - Requires a user and database in either mysql or mariadb. - end: |- - IMPORTANT This image no longer supports MSSQL since being migrated to PHP7, if you want MSSQL support please use the tag r1053-ls27 - ProjectSend is deployed and available as http://$$cap_appname.$$cap_root_domain. - Wait for few minutes to configure the app. - Follow the setup wizard on initial install. Then configure the required services. - displayName: Project Send - isOfficial: true - description: ProjectSend is a self-hosted application that lets you upload files and assign them to specific clients that you create yourself! - documentation: Taken from https://hub.docker.com/r/linuxserver/projectsend. Website - https://www.projectsend.org/ diff --git a/public/v4/apps/prometheus.yml b/public/v4/apps/prometheus.yml deleted file mode 100644 index 068c13011..000000000 --- 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/prowlarr.yml b/public/v4/apps/prowlarr.yml deleted file mode 100644 index f888e0e29..000000000 --- a/public/v4/apps/prowlarr.yml +++ /dev/null @@ -1,53 +0,0 @@ -captainVersion: 4 -services: - # Prowlarr - $$cap_appname: - image: ghcr.io/linuxserver/prowlarr:$$cap_pr_version - restart: unless-stopped - environment: - TZ: $$cap_tz - PUID: $$cap_puid - PGID: $$cap_guid - volumes: - - $$cap_appname-config:/config - caproverExtra: - containerHttpPort: '9696' -caproverOneClickApp: - variables: - - id: $$cap_pr_version - label: Prowlarr Version - defaultValue: 'amd64-nightly-version-0.1.0.718' - description: Check out their Docker page for the valid tags https://github.com/linuxserver/docker-prowlarr/pkgs/container/prowlarr/versions - validRegex: /.{1,}/ - - - 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_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: >- - Prowlarr is a indexer manager/proxy built on the popular arr .net/reactjs base stack to integrate with your various PVR apps. - Prowlarr supports both Torrent Trackers and Usenet Indexers. - It integrates seamlessly with Sonarr, Radarr, Lidarr, and Readarr offering complete management of your indexers with no per app Indexer setup required (we do it all). - end: >- - Aaaand you're done! πŸ˜„ - Your service is available at http://$$cap_appname.$$cap_root_domain - - To set a authenticition visit http://$$cap_appname.$$cap_root_domain/settings/general and change the settings under "Security" - displayName: 'Prowlarr' - isOfficial: true - baseUrl: https://github.com/Prowlarr/Prowlarr - description: Prowlarr is a indexer manager/proxy built on the popular arr .net/reactjs base stack to integrate with your various PVR apps. A Jackett alternative. - documentation: Taken from https://github.com/linuxserver/docker-prowlarr diff --git a/public/v4/apps/proxypool.yml b/public/v4/apps/proxypool.yml deleted file mode 100644 index e7e2473b6..000000000 --- a/public/v4/apps/proxypool.yml +++ /dev/null @@ -1,36 +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: - image: jhao104/proxy_pool:$$cap_app_version - depends_on: - - $$cap_appname-redis - restart: always - environment: - DB_CONN: redis://srv-captain--$$cap_appname-redis:6379/0 - caproverExtra: - containerHttpPort: '5010' -caproverOneClickApp: - variables: - - 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_app_version - label: Proxy Pool version - defaultValue: '2.2.0' - description: https://hub.docker.com/r/jhao104/proxy_pool/tags - instructions: - start: Python crawler proxy IP pool (proxy pool) - - end: Done! πŸ˜„ Your service is available at http://$$cap_appname.$$cap_root_domain - - displayName: Proxy Pool - isOfficial: true - description: Python crawler proxy IP pool (proxy pool) - documentation: https://hub.docker.com/r/jhao104/proxy_pool diff --git a/public/v4/apps/pydio.yml b/public/v4/apps/pydio.yml deleted file mode 100644 index 30e817566..000000000 --- a/public/v4/apps/pydio.yml +++ /dev/null @@ -1,81 +0,0 @@ -captainVersion: 4 -services: - # Pydio - $$cap_appname: - image: pydio/cells:$$cap_pydio_version - environment: - CELLS_LOG_LEVEL: 'production' - CELLS_BIND: ':8811' - CELLS_NO_TLS: '1' - CELLS_EXTERNAL: https://$$cap_appname.$$cap_root_domain - volumes: - - $$cap_appname-data:/var/cells/data - - $$cap_appname-cellsdir:/var/cells - caproverExtra: - containerHttpPort: '8811' - # 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 - caproverExtra: - notExposeAsWebApp: 'true' -caproverOneClickApp: - variables: - - id: $$cap_pydio_version - label: Pydio Version - defaultValue: '2.2.8' - description: Checkout their docker page for the valid tags https://hub.docker.com/r/pydio/cells/tags - validRegex: /^([^\s^\/])+$/ - - id: $$cap_mariadb_version - label: MariaDB Version - defaultValue: '10.6.1' - description: Checkout 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 Pydio - defaultValue: 'cells' - - id: $$cap_mariadb-user - label: MariaDB User - description: Database User for Pydio - defaultValue: 'pydio' - - id: $$cap_mariadb-pass - label: MariaDB database user password - description: Super secret database user password - instructions: - start: >- - !!! IMPORTANT !!!: - After deployment is done follow these steps otherwise your Pydio won't work! - - - 1. Go to your caprover pydio settings page and enable HTTPS - - 2. Enable "Force HTTPS by redirecting all HTTP traffic to HTTPS" - - 3. Enable Websocket Support. - end: >- - Deployment of Pydio is finished. - - - !!! IMPORTANT !!!: - Follow these steps otherwise your Pydio won't work! - - - 1. Go to your caprover pydio settings page and enable HTTPS - - 2. Enable "Force HTTPS by redirecting all HTTP traffic to HTTPS" - - 3. Enable Websocket Support. - - 4. after some time go to https://$$cap_appname.$$cap_root_domain and follow the installation steps. - displayName: 'Pydio Cells' - isOfficial: true - baseUrl: https://pydio.com/ - description: Privacy-conscious file sharing platform that connects all your teams in one place. - documentation: Taken from https://hub.docker.com/r/pydio/cells diff --git a/public/v4/apps/pyload.yml b/public/v4/apps/pyload.yml deleted file mode 100644 index bd236f80e..000000000 --- a/public/v4/apps/pyload.yml +++ /dev/null @@ -1,45 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - image: linuxserver/pyload:$$cap_pyload_version - environment: - TZ: $$cap_tz - PUID: '1000' - GUID: '1000' - hostname: $$cap_appname.$$cap_root_domain - volumes: - - $$cap_appname-config:/config - - $$cap_path_to_downloads:/downloads - ports: - - 7227:7227 - caproverExtra: - containerHttpPort: '8000' -caproverOneClickApp: - variables: - - id: $$cap_pyload_version - label: Pyload Version - defaultValue: 345921b3-ls4 - description: Check out their Docker page for the valid tags https://hub.docker.com/r/linuxserver/pyload/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: Path to downloads folder - defaultValue: pyload-downloads - description: Path to pictures folder where u want to save the downloaded files. You can mention an existing directory here too. Eg. /home/user/downloads/ - validRegex: '/.{1,}/' - instructions: - start: >- - Pyload is a Free and Open Source download manager written in Python and designed to be extremely lightweight, easily extensible and fully manageable via web. - end: |- - Access the web interface at http://$$cap_appname.$$cap_root_domain the default login is: username - admin password - password - For the ng tag, the default user/pass are pyload/pyload. - For general usage please see the pyLoad wiki (https://github.com/pyload/pyload/wiki) - - displayName: Pyload - isOfficial: true - description: Pyload - Free and Open Source download manager written in Python and designed to be extremely lightweight, easily extensible and fully manageable via web - documentation: Taken from https://hub.docker.com/r/linuxserver/pyload. Official Website is https://pyload.net/ diff --git a/public/v4/apps/qbittorrent.yml b/public/v4/apps/qbittorrent.yml deleted file mode 100644 index 6184fe27d..000000000 --- a/public/v4/apps/qbittorrent.yml +++ /dev/null @@ -1,51 +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 - defaultValue: '8081' - description: The port used to access qBittorrent - validRegex: /\d/ - - id: $$cap_path_to_downloads - label: Path to downloads folder - defaultValue: qbittorrent-downloads - description: Path to downloads folder where you want to save the downloaded torrents. You can mention an existing directory here too. Eg. /home/user/downloads/ - validRegex: /.{1,}/ - 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 bc3ab8008..000000000 --- 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 89cf847ef..000000000 --- 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 97d9c1394..000000000 --- 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 7416bbf15..000000000 --- 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: 'RainLoop' - 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/rallly.yml b/public/v4/apps/rallly.yml deleted file mode 100644 index 1b31fee0c..000000000 --- a/public/v4/apps/rallly.yml +++ /dev/null @@ -1,90 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - restart: always - depends_on: - - $$cap_appname-postgres - image: 'lukevella/rallly:$$cap_rallly_version' - environment: - NEXT_PUBLIC_BASE_URL: 'http://$$cap_appname.$$cap_root_domain' - DATABASE_URL: >- - postgres://rallly:$$cap_rallly_postgres_password@srv-captain--$$cap_appname-postgres:5432/db - SECRET_PASSWORD: $$cap_rallly_passwd - SUPPORT_EMAIL: $$cap_rallly_email - SMTP_HOST: $$cap_rallly_smtp_host - SMTP_PORT: $$cap_rallly_smtp_port - SMTP_SECURE: $$cap_rallly_smtp_secure - SMTP_USER: $$cap_rallly_smtp_user - SMTP_PWD: $$cap_rallly_smtp_pwd - caproverExtra: - containerHttpPort: '3000' - $$cap_appname-postgres: - image: 'postgres:12' - volumes: - - '$$cap_appname-postgres-data:/var/lib/postgresql/data' - restart: always - environment: - POSTGRES_USER: rallly - POSTGRES_PASSWORD: $$cap_rallly_postgres_password - POSTGRES_DB: db - caproverExtra: - notExposeAsWebApp: 'true' -caproverOneClickApp: - variables: - - id: $$cap_rallly_version - label: Rallly Version - defaultValue: ac55701890cd866ee946deb25e2b2839fb14900e - description: >- - Check out the docker page for valid tags - https://hub.docker.com/r/lukevella/rallly/tags - validRegex: '/^([^\s^\/])+$/' - - id: $$cap_rallly_passwd - label: Rallly Password - description: >- - A long string (minimum 32 characters) that is used to encrypt session - data. - defaultValue: $$cap_gen_random_hex(64) - validRegex: '/^[^\@]{32,}$/' - - id: $$cap_rallly_email - label: Rallly From Email - validRegex: '/^([^\s^\/])+$/' - description: >- - An email address that will appear as the FROM email for all emails being - sent out. - - id: $$cap_rallly_smtp_host - label: Rallly SMTP Host - description: Host name of your SMTP server - - id: $$cap_rallly_smtp_port - label: Rallly SMTP Port - defaultValue: 465 - validRegex: '/.{1,}/' - description: Port of your SMTP server - - id: $$cap_rallly_smtp_secure - label: Requires secure SMTP connection? true/false - defaultValue: false - validRegex: /^(false|true)$/ - description: Set to "true" if SSL is enabled for your SMTP connection - - id: $$cap_rallly_smtp_user - label: Rallly SMTP user - description: Username to use for your SMTP connection - - id: $$cap_rallly_smtp_pwd - label: Rallly SMTP password - description: Password to use for your SMTP connection - - id: $$cap_rallly_postgres_password - label: Password - description: Postgres password (minimum 12 characters) - defaultValue: $$cap_gen_random_hex(64) - validRegex: '/^[^\@]{12,}$/' - instructions: - start: >- - Install Rallly, an open source Doodle poll alternative. Find the best date - for a meeting with your colleagues or friends without the back and forth - emails. https://rallly.co/ - end: "You're done! \U0001F604 Your service is available at http://$$cap_appname.$$cap_root_domain" - displayName: Rallly - isOfficial: true - description: >- - Doodle poll alternative. Find the best date for a meeting with your - colleagues or friends without the back and forth emails. This app is - packaged with PostgreSQL. - documentation: 'Taken from https://hub.docker.com/r/lukevella/rallly' diff --git a/public/v4/apps/raneto.yml b/public/v4/apps/raneto.yml deleted file mode 100644 index 12e4ebcbf..000000000 --- a/public/v4/apps/raneto.yml +++ /dev/null @@ -1,40 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - image: linuxserver/raneto:$$cap_raneto_version - environment: - TZ: $$cap_tz - PUID: '1000' - GUID: '1000' - hostname: $$cap_appname.$$cap_root_domain - volumes: - - $$cap_appname-config:/config - caproverExtra: - containerHttpPort: '3000' -caproverOneClickApp: - variables: - - id: $$cap_raneto_version - label: Raneto Version - defaultValue: 0.17.0-ls49 - description: Check out their Docker page for the valid tags https://hub.docker.com/r/linuxserver/raneto/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,}/ - instructions: - start: >- - Raneto can be called a "static site generator" of sorts as it doesn't require a database. All of your content is stored in the content folder in Markdown (.md) files and the entire knowledgebase structure and content is generated by Raneto. - end: |- - Access the webui at http://$$cap_appname.$$cap_root_domain - The default username and password is admin/password - This application can only be configured through file storage the web interface is only for editing Markdown files. You need to understand the following paths and the role they play for the application: - /config/config.default.js - Main configuration file to setup your user, site name, etc. - /config/content - All of your Markdown files go here more info. - /config/images - This folder will serve content on http://$$cap_appname.$$cap_root_domain - - displayName: Raneto - isOfficial: true - description: Raneto - is an open source Knowledgebase platform that uses static Markdown files to power your Knowledgebase. - documentation: Taken from https://hub.docker.com/r/linuxserver/raneto. diff --git a/public/v4/apps/redash.yml b/public/v4/apps/redash.yml deleted file mode 100644 index 4d658d0de..000000000 --- a/public/v4/apps/redash.yml +++ /dev/null @@ -1,187 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - caproverExtra: - containerHttpPort: 5000 - dockerfileLines: - - FROM redash/redash:$$cap_REDASH_VERSION - - CMD ["server"] - environment: - REDASH_WEB_WORKERS: $$cap_REDASH_WEB_WORKERS - REDASH_HOST: http://$$cap_appname.$$cap_root_domain - REDASH_COOKIE_SECRET: $$cap_REDASH_COOKIE_SECRET - REDASH_SECRET_KEY: $$cap_REDASH_SECRET_KEY - REDASH_MAIL_SERVER: $$cap_REDASH_MAIL_SERVER - REDASH_MAIL_PORT: $$cap_REDASH_MAIL_PORT - REDASH_MAIL_USE_TLS: $$cap_REDASH_MAIL_USE_TLS - REDASH_MAIL_USE_SSL: $$cap_REDASH_MAIL_USE_SSL - REDASH_MAIL_USERNAME: $$cap_REDASH_MAIL_USERNAME - REDASH_MAIL_PASSWORD: $$cap_REDASH_MAIL_PASSWORD - REDASH_MAIL_DEFAULT_SENDER: $$cap_REDASH_MAIL_DEFAULT_SENDER - REDASH_REDIS_URL: redis://srv-captain--$$cap_appname-queue - REDASH_DATABASE_URL: postgresql://$$cap_POSTGRES_USER:$$cap_POSTGRES_PASSWORD@srv-captain--$$cap_appname-db/$$cap_POSTGRES_DB - depends_on: - - $$cap_appname-db - - $$cap_appname-queue - $$cap_appname-scheduler: - caproverExtra: - notExposeAsWebApp: 'true' - dockerfileLines: - - FROM redash/redash:$$cap_REDASH_VERSION - - CMD ["scheduler"] - environment: - QUEUES: celery - WORKERS_COUNT: $$cap_REDASH_SCHEDULER_WORKERS - REDASH_COOKIE_SECRET: $$cap_REDASH_COOKIE_SECRET - REDASH_REDIS_URL: redis://srv-captain--$$cap_appname-queue - depends_on: - - $$cap_appname-db - - $$cap_appname-queue - $$cap_appname-scheduled-worker: - caproverExtra: - notExposeAsWebApp: 'true' - dockerfileLines: - - FROM redash/redash:$$cap_REDASH_VERSION - - CMD ["worker"] - environment: - QUEUES: scheduled_queries,schemas - WORKERS_COUNT: $$cap_REDASH_SCHEDULED_WORKERS - REDASH_COOKIE_SECRET: $$cap_REDASH_COOKIE_SECRET - REDASH_REDIS_URL: redis://srv-captain--$$cap_appname-queue - depends_on: - - $$cap_appname-db - - $$cap_appname-queue - $$cap_appname-adhoc-worker: - caproverExtra: - notExposeAsWebApp: 'true' - dockerfileLines: - - FROM redash/redash:$$cap_REDASH_VERSION - - CMD ["worker"] - environment: - QUEUES: queries - WORKERS_COUNT: $$cap_REDASH_ADHOC_WORKERS - REDASH_COOKIE_SECRET: $$cap_REDASH_COOKIE_SECRET - REDASH_REDIS_URL: redis://srv-captain--$$cap_appname-queue - depends_on: - - $$cap_appname-db - - $$cap_appname-queue - $$cap_appname-queue: - caproverExtra: - notExposeAsWebApp: 'true' - image: redis:$$cap_REDIS_VERSION - $$cap_appname-db: - caproverExtra: - notExposeAsWebApp: 'true' - 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:/var/lib/postgresql/data -caproverOneClickApp: - displayName: Redash - description: Connect to any data source, easily visualize and share your data - documentation: https://redash.io/help - isOfficial: true - instructions: - start: |- - Redash helps you make sense of your data. - Connect and query your data sources, build dashboards to visualize data and share them with your company. - - **You will need access to your server via SSH to perform a command after deployment. This needs to be done only once.** - end: |- - Redash has been successfully deployed! It might take few moments before it's fully started. - - Please execute the following command on your server in order to trigger database migrations: - `docker exec -it $(docker ps --filter name=srv-captain--$$cap_appname -q) sh -c "/app/bin/docker-entrypoint create_db"` - - You can access your Redash instance at `http://$$cap_appname.$$cap_root_domain`. - variables: - - id: $$cap_REDASH_VERSION - label: Application | Version - description: Redash version. Check out their valid tags at https://hub.docker.com/r/redash/redash/tags - defaultValue: '10.1.0.b50633' - validRegex: /.{1,}/ - - id: $$cap_REDASH_WEB_WORKERS - label: Application | Web Worker Count - description: Amount of web workers. - defaultValue: 4 - validRegex: /.{1,}/ - - id: $$cap_REDASH_SCHEDULER_WORKERS - label: Application | Scheduler Worker Count - description: Amount of workers for scheduler. - defaultValue: 1 - validRegex: /.{1,}/ - - id: $$cap_REDASH_SCHEDULED_WORKERS - label: Application | Scheduled Worker Count - description: Amount of scheduled workers. - defaultValue: 1 - validRegex: /.{1,}/ - - id: $$cap_REDASH_ADHOC_WORKERS - label: Application | Ad-Hoc Worker Count - description: Amount of ad-hoc workers. - defaultValue: 2 - validRegex: /.{1,}/ - - id: $$cap_REDASH_COOKIE_SECRET - label: Application | Cookie Secret - description: Secret for signing cookies. - defaultValue: $$cap_gen_random_hex(64) - validRegex: /.{1,}/ - - id: $$cap_REDASH_SECRET_KEY - label: Application | Application Secret - description: Secret for encrypting settings. - defaultValue: $$cap_gen_random_hex(64) - validRegex: /.{1,}/ - - id: $$cap_REDASH_MAIL_SERVER - label: Application | SMTP Host - description: SMTP server for system mail delivery. This is optional. - - id: $$cap_REDASH_MAIL_PORT - label: Application | SMTP Port - description: SMTP port for system mail delivery. - defaultValue: 25 - validRegex: /.{1,}/ - - id: $$cap_REDASH_MAIL_USERNAME - label: Application | SMTP Username - description: SMTP user name for system mail delivery. This is optional. - - id: $$cap_REDASH_MAIL_PASSWORD - label: Application | SMTP Password - description: SMTP password for system mail delivery. This is optional. - - id: $$cap_REDASH_MAIL_DEFAULT_SENDER - label: Application | SMTP Default Sender - description: Mail address to send from. This is optional. - - id: $$cap_REDASH_MAIL_USE_TLS - label: Application | SMTP Use TLS - description: Whether to use TLS for system mail delivery through SMTP. - defaultValue: 'false' - validRegex: /^(true|false)$/ - - id: $$cap_REDASH_MAIL_USE_SSL - label: Application | SMTP Use SSL - description: Whether to use SSL for system mail delivery through SMTP. - defaultValue: 'false' - validRegex: /^(true|false)$/ - - id: $$cap_REDIS_VERSION - label: Queue | Version - description: Redis version. Check out their valid tags at https://hub.docker.com/_/redis/tags - defaultValue: '7.0-alpine' - validRegex: /.{1,}/ - - id: $$cap_POSTGRES_VERSION - label: Database | Version - description: PostgreSQL version. Check out their valid tags at https://hub.docker.com/_/postgres/tags - defaultValue: '15.0-alpine' - validRegex: /.{1,}/ - - id: $$cap_POSTGRES_DB - label: Database | Name - description: Name of the PostgreSQL database. - defaultValue: redash - validRegex: /.{1,}/ - - id: $$cap_POSTGRES_USER - label: Database | User Name - description: Name of the PostgreSQL user. - defaultValue: redash - validRegex: /.{1,}/ - - id: $$cap_POSTGRES_PASSWORD - label: Database | User Password - description: Password of the PostgreSQL user. - defaultValue: $$cap_gen_random_hex(16) - validRegex: /.{1,}/ diff --git a/public/v4/apps/redis.yml b/public/v4/apps/redis.yml deleted file mode 100644 index e7f23e227..000000000 --- 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 "$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: '7.0' - 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: 'Redis' - 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/redmine-mysql.yml b/public/v4/apps/redmine-mysql.yml deleted file mode 100644 index 0f9d3cec2..000000000 --- a/public/v4/apps/redmine-mysql.yml +++ /dev/null @@ -1,78 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname-db: - image: mysql:$$cap_mysql_version - command: --default-authentication-plugin=mysql_native_password - restart: always - volumes: - - $$cap_appname-db-data:/var/lib/mysql - environment: - MYSQL_DATABASE: redmine - MYSQL_ROOT_PASSWORD: $$cap_mysql_password - caproverExtra: - notExposeAsWebApp: 'true' - - $$cap_appname: - depends_on: - - $$cap_appname-db - image: redmine:$$cap_redmine_version - environment: - REDMINE_DB_MYSQL: srv-captain--$$cap_appname-db - REDMINE_DB_PORT: 3306 - REDMINE_DB_PASSWORD: $$cap_mysql_password - REDMINE_SECRET_KEY_BASE: $$cap_key_base - restart: always - volumes: - - $$cap_appname-data:/usr/src/redmine/files - - $$cap_appname-themes:/usr/src/redmine/public/themes - - $$cap_appname-plugins:/usr/src/redmine/plugins - caproverExtra: - containerHttpPort: '3000' - -caproverOneClickApp: - variables: - - id: $$cap_redmine_version - label: Redmine Version - defaultValue: '5.0.4' - description: 'Check out their Docker page for the valid tags https://hub.docker.com/_/redmine?tab=tags' - - id: $$cap_mysql_version - label: MySQL Version - defaultValue: '5.7' - description: 'Check out their Docker page for the valid tags https://hub.docker.com/_/mysql?tab=tags' - - id: $$cap_mysql_password - label: MySQL Password - defaultValue: $$cap_gen_random_hex(16) - - id: $$cap_key_base - label: Redmine Secret Key Base - defaultValue: $$cap_gen_random_hex(64) - - instructions: - start: | - Redmine is a flexible project management web application written using Ruby on Rails framework. For more info visit https://www.redmine.org/projects/redmine. - - -------------------------------------------- - Following the installation, login with the default credentials: - - Username: `admin` - Password: `admin` - - end: | - βœ… Redmine has been successfully deployed and is now available at http://$$cap_appname.$$cap_root_domain! - - πŸ” The default login credentials are: - - Username: `admin` - Password: `admin` - - -------------------------------------------- - πŸ“‚ Access to the required folder for uploading files, plugins, and themes is provided using Caprover managed persistent directories by default (`/var/lib/docker/volumes/$$cap_appname-data`). - - -------------------------------------------- - πŸ”° More information on initial configuration can be found at https://www.redmine.org/projects/redmine/wiki/RedmineInstall#Configuration. - - displayName: Redmine (PostgreSQL) - isOfficial: true - description: >- - Redmine is a flexible project management web application written using Ruby on Rails framework. This app is packaged with MySQL. - documentation: >- - More information on initial configuration can be found at https://www.redmine.org/projects/redmine/wiki/RedmineInstall#Configuration. This template was developed using variables from https://hub.docker.com/_/redmine?tab=description. diff --git a/public/v4/apps/redmine.yml b/public/v4/apps/redmine.yml deleted file mode 100644 index c85f4ce42..000000000 --- a/public/v4/apps/redmine.yml +++ /dev/null @@ -1,84 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname-db: - image: postgres:$$cap_postgres_version - restart: always - volumes: - - $$cap_appname-db-data:/var/lib/postgresql/data - environment: - POSTGRES_USER: $$cap_postgres_user - POSTGRES_PASSWORD: $$cap_postgres_password - POSTGRES_DB: redmine - PGDATA: /var/lib/postgresql/data/pgdata - caproverExtra: - notExposeAsWebApp: 'true' - - $$cap_appname: - depends_on: - - $$cap_appname-db - image: redmine:$$cap_redmine_version - environment: - REDMINE_DB_POSTGRES: srv-captain--$$cap_appname-db - REDMINE_DB_PORT: 5432 - REDMINE_DB_DATABASE: redmine - REDMINE_DB_USERNAME: $$cap_postgres_user - REDMINE_DB_PASSWORD: $$cap_postgres_password - REDMINE_SECRET_KEY_BASE: $$cap_key_base - restart: always - volumes: - - $$cap_appname-data:/usr/src/redmine/files - - $$cap_appname-themes:/usr/src/redmine/public/themes - - $$cap_appname-plugins:/usr/src/redmine/plugins - caproverExtra: - containerHttpPort: '3000' - -caproverOneClickApp: - variables: - - id: $$cap_redmine_version - label: Redmine Version - defaultValue: '5.0.4' - description: 'Check out their Docker page for the valid tags https://hub.docker.com/_/redmine?tab=tags' - - id: $$cap_postgres_version - label: PostgreSQL Version - defaultValue: '15.1' - description: 'Check out their Docker page for the valid tags https://hub.docker.com/_/postgres?tab=tags' - - id: $$cap_postgres_user - label: PostgreSQL username - defaultValue: 'redmine' - - id: $$cap_postgres_password - label: PostgreSQL Password - defaultValue: $$cap_gen_random_hex(16) - - id: $$cap_key_base - label: Redmine Secret Key Base - defaultValue: $$cap_gen_random_hex(64) - - instructions: - start: | - Redmine is a flexible project management web application written using Ruby on Rails framework. For more info visit https://www.redmine.org/projects/redmine. - - -------------------------------------------- - Following the installation, login with the default credentials: - - Username: `admin` - Password: `admin` - - end: | - βœ… Redmine has been successfully deployed and is now available at http://$$cap_appname.$$cap_root_domain! - - πŸ” The default login credentials are: - - Username: `admin` - Password: `admin` - - -------------------------------------------- - πŸ“‚ Access to the required folder for uploading files, plugins, and themes is provided using Caprover managed persistent directories by default (`/var/lib/docker/volumes/$$cap_appname-data`). - - -------------------------------------------- - πŸ”° More information on initial configuration can be found at https://www.redmine.org/projects/redmine/wiki/RedmineInstall#Configuration. - - displayName: Redmine (PostgreSQL) - isOfficial: true - description: >- - Redmine is a flexible project management web application written using Ruby on Rails framework. This app is packaged with PostgreSQL. - documentation: >- - More information on initial configuration can be found at https://www.redmine.org/projects/redmine/wiki/RedmineInstall#Configuration. This template was developed using variables from https://hub.docker.com/_/redmine?tab=description. diff --git a/public/v4/apps/remark42.yml b/public/v4/apps/remark42.yml deleted file mode 100644 index cfc25d8db..000000000 --- a/public/v4/apps/remark42.yml +++ /dev/null @@ -1,571 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - image: umputun/remark42:$$cap_tag_version - hostname: $$cap_appname.$$cap_root_domain - restart: always - environment: - REMARK_URL: 'https://$$cap_appname.$$cap_root_domain' - SECRET: '$$cap_secret' - SITE: '$$cap_site' - STORE_TYPE: '$$cap_store_type' - STORE_BOLT_PATH: '$$cap_store_bolt_path' - STORE_BOLT_TIMEOUT: '$$cap_store_bolt_timeout' - ADMIN_SHARED_ID: '$$cap_admin_shared_id' - ADMIN_SHARED_EMAIL: '$$cap_admin_shared_email' - BACKUP_PATH: '$$cap_backup' - MAX_BACKUP_FILES: '$$cap_max_back' - CACHE_TYPE: '$$cap_cache_type' - CACHE_REDIS_ADDR: '$$cap_cache_redis_addr' - CACHE_MAX_ITEMS: '$$cap_cache_max_items' - CACHE_MAX_VALUE: '$$cap_cache_max_value' - CACHE_MAX_SIZE: '$$cap_cache_max_size' - AVATAR_TYPE: '$$cap_avatar_type' - AVATAR_FS_PATH: '$$cap_avatar_fs_path' - AVATAR_BOLT_FILE: '$$cap_avatar_bolt_file' - AVATAR_URI: '$$cap_avatar_uri' - AVATAR_RSZ_LMT: '$$cap_avatar_rsz_lmt' - IMAGE_TYPE: '$$cap_image_type' - IMAGE_MAX_SIZE: '$$cap_image_max_size' - IMAGE_FS_PATH: '$$cap_image_fs_path' - IMAGE_FS_STAGING: '$$cap_image_fs_staging' - IMAGE_FS_PARTITIONS: '$$cap_image_fs_partitions' - IMAGE_BOLT_FILE: '$$cap_image_bolt_file' - IMAGE_RESIZE_WIDTH: '$$cap_image_resize_width' - IMAGE_RESIZE_HEIGHT: '$$cap_image_resize_height' - AUTH_TTL_JWT: '$$cap_auth_ttl_jwt' - AUTH_TTL_COOKIE: '$$cap_auth_ttl_cookie' - AUTH_SEND_JWT_HEADER: '$$cap_auth_send-jwt_header' - AUTH_SAME_SITE: '$$cap_auth_same_site' - AUTH_GOOGLE_CID: '$$cap_auth_google_cid' - AUTH_GOOGLE_CSEC: '$$cap_auth_google_csec' - AUTH_FACEBOOK_CID: '$$cap_auth_facebook_cid' - AUTH_FACEBOOK_CSEC: '$$cap_auth_facebook_csec' - AUTH_MICROSOFT_CID: '$$cap_auth_microsoft_cid' - AUTH_MICROSOFT_CSEC: '$$cap_auth_microsoft_csec' - AUTH_GITHUB_CID: '$$cap_auth_github_cid' - AUTH_GITHUB_CSEC: '$$cap_auth_github_csec' - AUTH_TWITTER_CID: '$$cap_auth_twitter_cid' - AUTH_TWITTER_CSEC: '$$cap_auth_twitter_csec' - AUTH_PATREON_CID: '$$cap_auth_patreon_cid' - AUTH_PATREON_CSEC: '$$cap_auth_patreon_csec' - AUTH_TELEGRAM: '$$cap_auth_telegram' - AUTH_YANDEX_CID: '$$cap_auth_yandex_cid' - AUTH_YANDEX_CSEC: '$$cap_auth_yandex_csec' - AUTH_DEV: '$$cap_auth_dev' - AUTH_ANON: '$$cap_auth_anon' - AUTH_EMAIL_ENABLE: '$$cap_auth_email_enable' - AUTH_EMAIL_FROM: '$$cap_auth_email_from' - AUTH_EMAIL_SUBJ: '$$cap_auth_email_subj' - AUTH_EMAIL_CONTENT_TYPE: '$$cap_auth_email_content_type' - NOTIFY_USERS: '$$cap_notify_users' - NOTIFY_ADMINS: '$$cap_notify_admins' - NOTIFY_QUEUE: '$$cap_notify_queue' - NOTIFY_TELEGRAM_CHAN: '$$cap_notify_telegram_chan' - NOTIFY_SLACK_TOKEN: '$$cap_notify_slack_token' - NOTIFY_SLACK_CHAN: '$$cap_notify_slack_chan' - NOTIFY_WEBHOOK_URL: '$$cap_notify_webhook_url' - NOTIFY_WEBHOOK_HEADERS: '$$cap_notify_webhook_headers' - NOTIFY_WEBHOOK_TIMEOUT: '$$cap_notify_webhook_timeout' - NOTIFY_EMAIL_FROM: '$$cap_notify_email_fromAddress' - NOTIFY_EMAIL_VERIFICATION_SUBJ: '$$cap_notify_email_verification_subj' - TELEGRAM_TOKEN: '$$cap_telegram_token' - TELEGRAM_TIMEOUT: '$$cap_telegram_timeout' - SMTP_HOST: '$$cap_smtp_host' - SMTP_PORT: '$$cap_smtp_port' - SMTP_USERNAME: '$$cap_smtp_username' - SMTP_PASSWORD: '$$cap_smtp_password' - SMTP_TLS: '$$cap_smtp_tls' - SMTP_TIMEOUT: '$$cap_smtp_timeout' - SSL_TYPE: '$$cap_ssl_type' - SSL_PORT: '$$cap_ssl_port' - SSL_CERT: '$$cap_ssl_cert' - SSL_KEY: '$$cap_ssl_key' - SSL_ACME_LOCATION: '$$cap_ssl_acme_location' - SSL_ACME_EMAIL: '$$cap_ssl_acme_email' - MAX_COMMENT_SIZE: '$$cap_max_comment' - MAX_VOTES: '$$cap_max_votes' - VOTES_IP: '$$cap_votes_ip' - ANON_VOTE: '$$cap_anon_vote' - VOTES_IP_TIME: '$$cap_votes-ip_time' - LOW_SCORE: '$$cap_low_score' - CRITICAL_SCORE: '$$cap_critical_score' - POSITIVE_SCORE: '$$cap_positive_score' - RESTRICTED_WORDS: '$$cap_restricted_words' - RESTRICTED_NAMES: '$$cap_restricted_names' - EDIT_TIME: '$$cap_edit_time' - ADMIN_EDIT: '$$cap_admin_edit' - READONLY_AGE: '$$cap_read_age' - IMAGE_PROXY_HTTP2HTTPS: '$$cap_image_proxy_http2https' - IMAGE_PROXY_CACHE_EXTERNAL: '$$cap_image-proxy_cache_external' - EMOJI: '$$cap_emoji' - SIMPLE_VIEW: '$$cap_simple_view' - PROXY_CORS: '$$cap_proxy_cors' - ALLOWED_HOSTS: '$$cap_appname.$$cap_root_domain,$$cap_allowed_hosts' - REMARK_ADDRESS: '$$cap_address' - REMARK_PORT: '$$cap_port' - REMARK_WEB_ROOT: '$$cap_web_root' - UPDATE_LIMIT: '$$cap_update_limit' - SUBSCRIBERS_ONLY: '$$cap_subscribers_only' - ADMIN_PASSWD: '$$cap_admin_passwd' - DEBUG: '$$cap_dbg' - volumes: - - $$cap_appname-data:/srv/var - caproverExtra: - containerHttpPort: '8080' -caproverOneClickApp: - variables: - - id: $$cap_tag_version - label: Remark42 docker image tag - defaultValue: 'v1.9.0' - description: Valid tag from https://hub.docker.com/r/umputun/remark42/tags - validRegex: /.+/ - - id: $$cap_secret - label: SECRET - defaultValue: '$$cap_gen_random_hex(10)' - description: the shared secret key used to sign JWT, should be a random, long, hard-to-guess string - validRegex: /.+/ - - id: $$cap_site - label: SITE - defaultValue: 'remark' - description: site name(s), _multi_ - - id: $$cap_store_type - label: STORE_TYPE - defaultValue: 'bolt' - description: type of storage, `bolt` or `rpc` - - id: $$cap_store_bolt_path - label: STORE_BOLT_PATH - defaultValue: './var' - description: parent directory for the bolt files - - id: $$cap_store_bolt_timeout - label: STORE_BOLT_TIMEOUT - defaultValue: '30s' - description: boltdb access timeout - - id: $$cap_admin_shared_id - label: ADMIN_SHARED_ID - defaultValue: '' - description: admin IDs (list of user IDs), _multi_ - - id: $$cap_admin_shared_email - label: ADMIN_SHARED_EMAIL - defaultValue: '' - description: admin emails, _multi_ - - id: $$cap_backup - label: BACKUP_PATH - defaultValue: './var/backup' - description: backups location - - id: $$cap_max_back - label: MAX_BACKUP_FILES - defaultValue: '10' - description: max backup files to keep - - id: $$cap_cache_type - label: CACHE_TYPE - defaultValue: 'mem' - description: type of cache, `redis_pub_sub` or `mem` or `none` - - id: $$cap_cache_redis_addr - label: CACHE_REDIS_ADDR - defaultValue: '127.0.0.1:6379' - description: address of Redis PubSub instance, turn `redis_pub_sub` cache on for distributed cache - - id: $$cap_cache_max_items - label: CACHE_MAX_ITEMS - defaultValue: '1000' - description: max number of cached items, `0` - unlimited - - id: $$cap_cache_max_value - label: CACHE_MAX_VALUE - defaultValue: '65536' - description: max size of the cached value, `0` - unlimited - - id: $$cap_cache_max_size - label: CACHE_MAX_SIZE - defaultValue: '50000000' - description: max size of all cached values, `0` - unlimited - - id: $$cap_avatar_type - label: AVATAR_TYPE - defaultValue: 'fs' - description: type of avatar storage, `fs`, `bolt`, or `uri` - - id: $$cap_avatar_fs_path - label: AVATAR_FS_PATH - defaultValue: './var/avatars' - description: avatars location for `fs` store - - id: $$cap_avatar_bolt_file - label: AVATAR_BOLT_FILE - defaultValue: './var/avatars.db' - description: avatars bolt file location - - id: $$cap_avatar_uri - label: AVATAR_URI - defaultValue: './var/avatars' - description: avatars store URI - - id: $$cap_avatar_rsz_lmt - label: AVATAR_RSZ_LMT - defaultValue: '0 (disabled)' - description: max image size for resizing avatars on save - - id: $$cap_image_type - label: IMAGE_TYPE - defaultValue: 'fs' - description: type of image storage, `fs`, `bolt` - - id: $$cap_image_max_size - label: IMAGE_MAX_SIZE - defaultValue: '5000000' - description: max size of image file - - id: $$cap_image_fs_path - label: IMAGE_FS_PATH - defaultValue: './var/pictures' - description: permanent location of images - - id: $$cap_image_fs_staging - label: IMAGE_FS_STAGING - defaultValue: './var/pictures.staging' - description: staging location of images - - id: $$cap_image_fs_partitions - label: IMAGE_FS_PARTITIONS - defaultValue: '100' - description: number of image partitions - - id: $$cap_image_bolt_file - label: IMAGE_BOLT_FILE - defaultValue: '/var/pictures.db' - description: images bolt file location - - id: $$cap_image_resize_width - label: IMAGE_RESIZE_WIDTH - defaultValue: '2400' - description: width of a resized image - - id: $$cap_image_resize_height - label: IMAGE_RESIZE_HEIGHT - defaultValue: '900' - description: height of a resized image - - id: $$cap_auth_ttl_jwt - label: AUTH_TTL_JWT - defaultValue: '5m' - description: JWT TTL - - id: $$cap_auth_ttl_cookie - label: AUTH_TTL_COOKIE - defaultValue: '200h' - description: cookie TTL - - id: $$cap_auth_send_jwt_header - label: AUTH_SEND_JWT_HEADER - defaultValue: 'false' - description: send JWT as a header instead of a cookie - validRegex: /^(false|true)$/ - - id: $$cap_auth_same_site - label: AUTH_SAME_SITE - defaultValue: 'default' - description: set same site policy for cookies (`default`, `none`, `lax` or `strict`) - - id: $$cap_auth_google_cid - label: AUTH_GOOGLE_CID - defaultValue: '' - description: Google OAuth client ID - - id: $$cap_auth_google_csec - label: AUTH_GOOGLE_CSEC - defaultValue: '' - description: Google OAuth client secret - - id: $$cap_auth_facebook_cid - label: AUTH_FACEBOOK_CID - defaultValue: '' - description: Facebook OAuth client ID - - id: $$cap_auth_facebook_csec - label: AUTH_FACEBOOK_CSEC - defaultValue: '' - description: Facebook OAuth client secret - - id: $$cap_auth_microsoft_cid - label: AUTH_MICROSOFT_CID - defaultValue: '' - description: Microsoft OAuth client ID - - id: $$cap_auth_microsoft_csec - label: AUTH_MICROSOFT_CSEC - defaultValue: '' - description: Microsoft OAuth client secret - - id: $$cap_auth_github_cid - label: AUTH_GITHUB_CID - defaultValue: '' - description: GitHub OAuth client ID - - id: $$cap_auth_github_csec - label: AUTH_GITHUB_CSEC - defaultValue: '' - description: GitHub OAuth client secret - - id: $$cap_auth_twitter_cid - label: AUTH_TWITTER_CID - defaultValue: '' - description: Twitter Consumer API Key - - id: $$cap_auth_twitter_csec - label: AUTH_TWITTER_CSEC - defaultValue: '' - description: Twitter Consumer API Secret key - - id: $$cap_auth_patreon_cid - label: AUTH_PATREON_CID - defaultValue: '' - description: Patreon OAuth Client ID - - id: $$cap_auth_patreon_csec - label: AUTH_PATREON_CSEC - defaultValue: '' - description: Patreon OAuth Client Secret - - id: $$cap_auth_telegram - label: AUTH_TELEGRAM - defaultValue: 'false' - description: Enable Telegram auth (telegram.token must be present) - validRegex: /^(false|true)$/ - - id: $$cap_auth_yandex_cid - label: AUTH_YANDEX_CID - defaultValue: '' - description: Yandex OAuth client ID - - id: $$cap_auth_yandex_csec - label: AUTH_YANDEX_CSEC - defaultValue: '' - description: Yandex OAuth client secret - - id: $$cap_auth_dev - label: AUTH_DEV - defaultValue: 'false' - description: local OAuth2 server, development mode only - validRegex: /^(false|true)$/ - - id: $$cap_auth_anon - label: AUTH_ANON - defaultValue: 'false' - description: enable anonymous login - validRegex: /^(false|true)$/ - - id: $$cap_auth_email_enable - label: AUTH_EMAIL_ENABLE - defaultValue: 'false' - description: enable auth via email - validRegex: /^(false|true)$/ - - id: $$cap_auth_email_from - label: AUTH_EMAIL_FROM - defaultValue: '' - description: email from - - id: $$cap_auth_email_subj - label: AUTH_EMAIL_SUBJ - defaultValue: 'remark42 confirmation' - description: email subject - - id: $$cap_auth_email_content_type - label: AUTH_EMAIL_CONTENT_TYPE - defaultValue: 'text/html' - description: email content type - - id: $$cap_notify_users - label: NOTIFY_USERS - defaultValue: 'none' - description: type of user notifications (Telegram, email) - - id: $$cap_notify_admins - label: NOTIFY_ADMINS - defaultValue: 'none' - description: type of admin notifications (Telegram, Slack, webhook and/or email) - - id: $$cap_notify_queue - label: NOTIFY_QUEUE - defaultValue: '100' - description: size of notification queue - - id: $$cap_notify_telegram_chan - label: NOTIFY_TELEGRAM_CHAN - defaultValue: '' - description: the ID of telegram channel for admin notifications - - id: $$cap_notify_slack_token - label: NOTIFY_SLACK_TOKEN - defaultValue: '' - description: Slack token - - id: $$cap_notify_slack_chan - label: NOTIFY_SLACK_CHAN - defaultValue: 'general' - description: Slack channel for admin notifications - - id: $$cap_notify_webhook_url - label: NOTIFY_WEBHOOK_URL - defaultValue: '' - description: Webhook notification URL for admin notifications - - id: $$cap_notify_webhook_template - label: NOTIFY_WEBHOOK_TEMPLATE - defaultValue: '{\"text\": \"{{.Text}}\"}' - description: Webhook payload template - - id: $$cap_notify_webhook_headers - label: NOTIFY_WEBHOOK_HEADERS - defaultValue: '' - description: HTTP header in format Header1:Value1,Header2:Value2,... - - id: $$cap_notify_webhook_timeout - label: NOTIFY_WEBHOOK_TIMEOUT - defaultValue: '5s' - description: Webhook connection timeout - - id: $$cap_notify_email_fromAddress - label: NOTIFY_EMAIL_FROM - defaultValue: '' - description: from email address - - id: $$cap_notify_email_verification_subj - label: NOTIFY_EMAIL_VERIFICATION_SUBJ - defaultValue: 'Email verification' - description: verification message subject - - id: $$cap_telegram_token - label: TELEGRAM_TOKEN - defaultValue: '' - description: Telegram token (used for auth and Telegram notifications) - - id: $$cap_telegram_timeout - label: TELEGRAM_TIMEOUT - defaultValue: '5s' - description: Telegram connection timeout - - id: $$cap_smtp_host - label: SMTP_HOST - defaultValue: '' - description: SMTP host - - id: $$cap_smtp_port - label: SMTP_PORT - defaultValue: '' - description: SMTP port - - id: $$cap_smtp_username - label: SMTP_USERNAME - defaultValue: '' - description: SMTP user name - - id: $$cap_smtp_password - label: SMTP_PASSWORD - defaultValue: '' - description: SMTP password - - id: $$cap_smtp_tls - label: SMTP_TLS - defaultValue: 'false' - description: enable TLS for SMTP - validRegex: /^(false|true)$/ - - id: $$cap_smtp_timeout - label: SMTP_TIMEOUT - defaultValue: '10s' - description: SMTP TCP connection timeout - - id: $$cap_ssl_type - label: SSL_TYPE - defaultValue: 'none' - description: '`none`-HTTP, `static`-HTTPS, `auto`-HTTPS + le' - - id: $$cap_ssl_port - label: SSL_PORT - defaultValue: '8443' - description: port for HTTPS server - - id: $$cap_ssl_cert - label: SSL_CERT - defaultValue: '' - description: path to the cert.pem file - - id: $$cap_ssl_key - label: SSL_KEY - defaultValue: '' - description: path to the key.pem file - - id: $$cap_ssl_acme_location - label: SSL_ACME_LOCATION - defaultValue: './var/acme' - description: dir where obtained le-certs will be stored - - id: $$cap_ssl_acme_email - label: SSL_ACME_EMAIL - defaultValue: '' - description: admin email for receiving notifications from LE - - id: $$cap_max_comment - label: MAX_COMMENT_SIZE - defaultValue: '2048' - description: comment's size limit - - id: $$cap_max_votes - label: MAX_VOTES - defaultValue: '-1' - description: votes limit per comment, `-1` - unlimited - - id: $$cap_votes_ip - label: VOTES_IP - defaultValue: 'false' - description: restrict votes from the same IP - validRegex: /^(false|true)$/ - - id: $$cap_anon_vote - label: ANON_VOTE - defaultValue: 'false' - description: allow voting for anonymous users, require VOTES_IP to be enabled as well - validRegex: /^(false|true)$/ - - id: $$cap_votes_ip_time - label: VOTES_IP_TIME - defaultValue: '5m' - description: same IP vote restriction time, `0s` - unlimited - - id: $$cap_low_score - label: LOW_SCORE - defaultValue: '-5' - description: low score threshold - - id: $$cap_critical_score - label: CRITICAL_SCORE - defaultValue: '-10' - description: critical score threshold - - id: $$cap_positive_score - label: POSITIVE_SCORE - defaultValue: 'false' - description: restricts comment's score to be only positive - validRegex: /^(false|true)$/ - - id: $$cap_restricted_words - label: RESTRICTED_WORDS - defaultValue: '' - description: words banned in comments (can use `*`), _multi_ - - id: $$cap_restricted_names - label: RESTRICTED_NAMES - defaultValue: '' - description: names prohibited to use by the user, _multi_ - - id: $$cap_edit_time - label: EDIT_TIME - defaultValue: '5m' - description: edit window - - id: $$cap_admin_edit - label: ADMIN_EDIT - defaultValue: 'false' - description: unlimited edit for admins - validRegex: /^(false|true)$/ - - id: $$cap_read_age - label: READONLY_AGE - defaultValue: '' - description: read-only age of comments, days - - id: $$cap_image_proxy_http2https - label: IMAGE_PROXY_HTTP2HTTPS - defaultValue: 'false' - description: enable HTTP->HTTPS proxy for images - validRegex: /^(false|true)$/ - - id: $$cap_image_proxy_cache_external - label: IMAGE_PROXY_CACHE_EXTERNAL - defaultValue: 'false' - description: enable caching external images to current image storage - validRegex: /^(false|true)$/ - - id: $$cap_emoji - label: EMOJI - defaultValue: 'false' - description: enable emoji support - validRegex: /^(false|true)$/ - - id: $$cap_simple_view - label: SIMPLE_VIEW - defaultValue: 'false' - description: minimized UI with basic info only - validRegex: /^(false|true)$/ - - id: $$cap_proxy_cors - label: PROXY_CORS - defaultValue: 'false' - description: disable internal CORS and delegate it to proxy - validRegex: /^(false|true)$/ - - id: $$cap_allowed_hosts - label: ALLOWED_HOSTS - defaultValue: '' - description: limit hosts/sources allowed to embed comments, enable all by default - - id: $$cap_address - label: REMARK_ADDRESS - defaultValue: '' - description: web server listening address, all interfaces by default - - id: $$cap_port - label: REMARK_PORT - defaultValue: '8080' - description: web server port - - id: $$cap_web_root - label: REMARK_WEB_ROOT - defaultValue: './web' - description: web server root directory - - id: $$cap_update_limit - label: UPDATE_LIMIT - defaultValue: '0.5' - description: updates/sec limit - - id: $$cap_subscribers_only - label: SUBSCRIBERS_ONLY - defaultValue: 'false' - description: enable commenting only for Patreon subscribers - validRegex: /^(false|true)$/ - - id: $$cap_admin_passwd - label: ADMIN_PASSWD - defaultValue: '' - description: password for `admin` basic auth - - id: $$cap_dbg - label: DEBUG - defaultValue: 'false' - description: debug mode - validRegex: /^(false|true)$/ - instructions: - start: |- - See description of the parameters below [in the documentation](https://remark42.com/docs/configuration/parameters/). - - _multi_ parameters separated by `,` in the environment, like `ADMIN_SHARED_EMAIL=admin@example.org,admin2@example.org` - end: |- - Done, Remark42 will be accessible at in a minute. - - You must **enable HTTPS** for this application as otherwise, it won't work. Then verify that it works by the URL above and then follow [documentation on installation](https://remark42.com/docs/getting-started/installation/) to add comments to your site. - - While following the installation guide, set `YOUR_SITE_ID` to `$$cap_site` and `REMARK_URL` to `https://$$cap_appname.$$cap_root_domain`, and then add your site domain name to `ALLOWED_HOSTS`. - displayName: Remark42 - isOfficial: true - description: Self-hosted, lightweight, and simple (yet functional) comment engine, which doesn't spy on users. It can be embedded into blogs, articles or any other place where readers add comments. - documentation: Taken from https://github.com/umputun/remark42 diff --git a/public/v4/apps/request-baskets.yml b/public/v4/apps/request-baskets.yml deleted file mode 100644 index 55429b44b..000000000 --- a/public/v4/apps/request-baskets.yml +++ /dev/null @@ -1,26 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - image: darklynx/request-baskets:$$cap_version - caproverExtra: - containerHttpPort: '55555' -caproverOneClickApp: - variables: - - id: $$cap_version - label: Request Baskets Version Tag - description: Check out their Docker page for the valid tags https://hub.docker.com/r/darklynx/request-baskets/tags/ - defaultValue: 'v1.1.0' - validRegex: /^([^\s^\/])+$/ - instructions: - start: >- - Request Baskets is a web service to collect arbitrary HTTP requests and inspect them via RESTful API or simple web UI. - - It is strongly inspired by ideas and application design of the RequestHub project and reproduces functionality offered by RequestBin service. - - end: >- - Request Baskets is deployed and available as $$cap_appname. Note that by default this app is holding all requests in memory, hence, it will lose the requests once restarted. - - displayName: Request Baskets - isOfficial: true - description: Request Baskets is a web service to collect arbitrary HTTP requests, similar to RequestBin or Webhook.site - documentation: Taken from https://github.com/darklynx/request-baskets/ diff --git a/public/v4/apps/resilio-sync.yml b/public/v4/apps/resilio-sync.yml deleted file mode 100644 index 71fd80d22..000000000 --- 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 2b16a9cc7..000000000 --- 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/rocketchat.yml b/public/v4/apps/rocketchat.yml deleted file mode 100644 index c2ba481c4..000000000 --- a/public/v4/apps/rocketchat.yml +++ /dev/null @@ -1,134 +0,0 @@ -captainVersion: 4 - -services: - $$cap_appname: - image: registry.rocket.chat/rocketchat/rocket.chat:$$cap_app_version - volumes: - - $$cap_appname-data:/app/uploads - depends_on: [$$cap_appname-db] - environment: - PORT: 3000 - ROOT_URL: http://$$cap_appname.$$cap_root_domain - MONGO_URL: mongodb://$$cap_mongodb_db_username:$$cap_mongodb_db_password@srv-captain--$$cap_appname-db:27017/rocketchat?replicaSet=rs0 - MONGO_OPLOG_URL: mongodb://$$cap_mongodb_root_username:$$cap_mongodb_root_password@srv-captain--$$cap_appname-db:27017/local?replicaSet=rs0&authSource=admin - - ADMIN_NAME: $$cap_admin_name - ADMIN_EMAIL: $$cap_admin_email - ADMIN_USERNAME: $$cap_admin_username - ADMIN_PASS: $$cap_admin_password - - OVERWRITE_SETTING_Site_Url: http://$$cap_appname.$$cap_root_domain - - DEPLOY_METHOD: docker - DEPLOY_PLATFORM: caprover - caproverExtra: - containerHttpPort: 3000 - - $$cap_appname-db: - image: bitnami/mongodb:$$cap_app_db_version - volumes: - - $$cap_appname-db-data:/bitnami/mongodb - environment: - MONGODB_REPLICA_SET_MODE: primary - MONGODB_REPLICA_SET_NAME: rs0 - MONGODB_PORT_NUMBER: 27017 - MONGODB_INITIAL_PRIMARY_HOST: srv-captain--$$cap_appname-db - MONGODB_INITIAL_PRIMARY_PORT_NUMBER: 27017 - MONGODB_ADVERTISED_HOSTNAME: srv-captain--$$cap_appname-db - MONGODB_REPLICA_SET_KEY: $$cap_mongodb_db_replicaset_key - # root account - MONGODB_ROOT_USER: $$cap_mongodb_root_username - MONGODB_ROOT_PASSWORD: $$cap_mongodb_root_password - # rocketchat database account - MONGODB_USERNAME: $$cap_mongodb_db_username - MONGODB_PASSWORD: $$cap_mongodb_db_password - MONGODB_DATABASE: rocketchat - caproverExtra: - notExposeAsWebApp: true - -caproverOneClickApp: - variables: - - id: $$cap_app_version - label: Rocket.Chat Version - description: >- - See version numbers at https://hub.docker.com/r/rocketchat/rocket.chat/tags or https://github.com/RocketChat/Rocket.Chat/releases. - Version must be at least `5.0.0`. - defaultValue: '5.2.0' - validRegex: /.{1,}/ - - - id: $$cap_admin_name - label: Rocket.Chat Admin Real Name - defaultValue: Captain - description: Real name of your Rocket.Chat instance's Admin user - validRegex: /^[a-zA-Z0-9\.-\s]+$/ - - - id: $$cap_admin_email - label: Rocket.Chat Admin Email Account - description: Email address of Rocket.Chat instance's Admin user - validRegex: /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/ - - - id: $$cap_admin_username - label: Rocket.Chat Admin Username - defaultValue: captain - description: Username of your Rocket.Chat instance's Admin user - validRegex: /^[a-zA-Z0-9\.-]+$/ - - - id: $$cap_admin_password - label: Rocket.Chat Admin Password - defaultValue: $$cap_gen_random_hex(16) - description: Password of your Rocket.Chat instance's Admin user. Must be at least 8 characters long - validRegex: /.{8,}/ - - - id: $$cap_app_db_version - label: MongoDB Version - description: >- - See https://docs.rocket.chat/quick-start/installing-and-updating/manual-installation/mongo-versions for supported MongoDB versions. - See https://hub.docker.com/r/bitnami/mongodb/tags/ for MongoDB image tags. - Version must be at least `4.0.0`. - defaultValue: '5.0' - validRegex: /.{1,}/ - - - id: $$cap_mongodb_root_username - label: MongoDB root user's username - defaultValue: root - validRegex: /^[a-zA-Z0-9]+$/ - - - id: $$cap_mongodb_root_password - label: MongoDB root user password - description: Must be at least 8 characters long. Recommended to leave the default generated - defaultValue: $$cap_gen_random_hex(24) - validRegex: /^[^\@]{8,}$/ - - - id: $$cap_mongodb_db_username - label: MongoDB user with permissions to Rocket.Chat database - defaultValue: rocketchat - validRegex: /^[a-zA-Z0-9]+$/ - - - id: $$cap_mongodb_db_password - label: Password of the MongoDB user with permissions to Rocket.Chat database - description: Must be at least 8 characters long. Recommended to leave the default generated - defaultValue: $$cap_gen_random_hex(24) - validRegex: /^[^\@]{8,}$/ - - - id: $$cap_mongodb_db_replicaset_key - label: MongoDB replicaset key - description: Must be at least 5 characters long. Recommended to leave the default generated - defaultValue: $$cap_gen_random_hex(32) - validRegex: /.{5,}/ - - instructions: - start: |- - Deploy your own Rocket.Chat instance with this one click. - For more information see https://github.com/RocketChat/Rocket.Chat - end: |- - Your Rocket.Chat instance is now available at http://$$cap_appname.$$cap_root_domain - Log in to your newly deployed Rocket.Chat instance with the default admin account, username: "$$cap_admin_username" and password: "$$cap_admin_password". - Please enable WebSocket Support. - If you face any issues, you can reach out at, - Forum: https://forums.rocket.chat - Open Community Server: https://open.rocket.chat/channel/support - - displayName: Rocket.Chat - isOfficial: true - description: Slack like online chat, built with Meteor. Real-time conversations with your colleagues, other companies or customers. - documentation: https://github.com/RocketChat/Rocket.Chat diff --git a/public/v4/apps/rss-bridge.yml b/public/v4/apps/rss-bridge.yml deleted file mode 100644 index 11e609c70..000000000 --- a/public/v4/apps/rss-bridge.yml +++ /dev/null @@ -1,30 +0,0 @@ -captainVersion: 4 -services: - # RSS Bridge - $$cap_appname: - image: rssbridge/rss-bridge:$$cap_app_version - restart: always - environment: - APP_URL: http://$$cap_appname.$$cap_root_domain - volumes: - - $$cap_appname-config:/config - caproverExtra: - containerHttpPort: '80' - -caproverOneClickApp: - variables: - - id: $$cap_app_version - label: RSS Bridge - defaultValue: '2021-04-25' - description: Check out their docker page for the valid tags https://hub.docker.com/r/rssbridge/rss-bridge/tags - - instructions: - start: >- - RSS-Bridge is a PHP project capable of generating RSS and Atom feeds for websites that don't have one. It can be used on webservers or as a stand-alone application in CLI mode. - end: >- - Done! πŸ˜„ - Your service is available at http://$$cap_appname.$$cap_root_domain - displayName: 'RSS Bridge' - isOfficial: true - description: RSS-Bridge is a PHP project capable of generating RSS and Atom feeds for websites that don't have one. It can be used on webservers or as a stand-alone application in CLI mode. - documentation: https://github.com/RSS-Bridge/rss-bridge diff --git a/public/v4/apps/rstudio.yml b/public/v4/apps/rstudio.yml deleted file mode 100644 index 3b3af625a..000000000 --- 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/rsync-looped.yml b/public/v4/apps/rsync-looped.yml deleted file mode 100644 index ab8180ef4..000000000 --- a/public/v4/apps/rsync-looped.yml +++ /dev/null @@ -1,54 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - caproverExtra: - notExposeAsWebApp: 'true' - dockerfileLines: - - FROM alpine:3.15.0 - - RUN apk update && apk add openssh rsync nano openssl bash - - ADD https://gist.githubusercontent.com/githubsaturn/b092f0f784263ebf2696c5613e9144e5/raw/0bd25d5bf7970e518bcfcfd58ca156e74b343afe/rsync-looper.sh / - - RUN chmod +x /rsync-looper.sh - - CMD /rsync-looper.sh - environment: - REMOTE_SOURCE_DIRECTORY: $$cap_REMOTE_SOURCE_DIRECTORY - PRIVATE_KEY_BASE_64: $$cap_PRIVATE_KEY_BASE_64 - REMOTE_SSH_PORT: $$cap_REMOTE_SSH_PORT - REMOTE_SSH_ADDRESS: $$cap_REMOTE_SSH_ADDRESS - REMOTE_SSH_USER: $$cap_REMOTE_SSH_USER - RSYNC_SLEEP_GAP: 30s - volumes: - - $$cap_appname-target-directory:/target-dir -caproverOneClickApp: - variables: - - id: $$cap_REMOTE_SOURCE_DIRECTORY - label: Remote source location - description: The remote directory from which the content will be downloaded - defaultValue: '/backup-files/' - - - id: $$cap_PRIVATE_KEY_BASE_64 - label: The base64 encoded version of private key for establish the SSH connection. - description: To convert your private to base64, run `cat private.key | openssl base64 | tr -d '\n'` - validRegex: /.{20,}/ - - - id: $$cap_REMOTE_SSH_PORT - label: The remote SSH port. - defaultValue: '22' - - - id: $$cap_REMOTE_SSH_ADDRESS - label: The remote SSH address. - description: Either an IP or a host such as captain.domain.com - DO NOT add HTTP(S) - validRegex: /.{3,}/ - - - id: $$cap_REMOTE_SSH_USER - label: The remote SSH User - description: Usually root, unless you set up another user - validRegex: /.{1,}/ - instructions: - start: >- - This app sets up a simple linux container with "rsync". The rsync process checks to see if there is any new files to be downloaded, and it downloads them immediately. - ** IMPORTANT: ** Make sure `rsync` is installed on the remote machine. If you're SSHing into a container, make sure `rsync` is installed in the container. - end: >- - The container is built and deployed. You can view the logs by going to Apps > $$cap_appname > deployment tab - displayName: RSync Container - isOfficial: false - description: Just a simple container that has runs rsync to download content periodically diff --git a/public/v4/apps/saleor.yml b/public/v4/apps/saleor.yml deleted file mode 100644 index 458e49047..000000000 --- a/public/v4/apps/saleor.yml +++ /dev/null @@ -1,138 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname-api: - caproverExtra: - containerHttpPort: 8000 - image: ghcr.io/saleor/saleor:$$cap_SALEOR_CORE_VERSION - environment: - DASHBOARD_URL: http://$$cap_appname.$$cap_root_domain - DATABASE_URL: postgresql://$$cap_POSTGRES_USER:$$cap_POSTGRES_PASSWORD@srv-captain--$$cap_appname-db/$$cap_POSTGRES_DB - CELERY_BROKER_URL: redis://srv-captain--$$cap_appname-cache - DEFAULT_FROM_EMAIL: $$cap_SALEOR_DEFAULT_FROM_EMAIL - SECRET_KEY: $$cap_SALEOR_SECRET_KEY - DEFAULT_CHANNEL_SLUG: default-channel - ALLOWED_HOSTS: $$cap_appname-api.$$cap_root_domain - ALLOWED_CLIENT_HOSTS: $$cap_appname-api.$$cap_root_domain - ENABLE_ACCOUNT_CONFIRMATION_BY_EMAIL: $$cap_ENABLE_ACCOUNT_CONFIRMATION_BY_EMAIL - depends_on: - - $$cap_appname-db - - $$cap_appname-cache - volumes: - - $$cap_appname-media:/app/media - $$cap_appname: - image: ghcr.io/saleor/saleor-dashboard:$$cap_SALEOR_DASHBOARD_VERSION - environment: - API_URL: http://$$cap_appname-api.$$cap_root_domain/graphql/ - $$cap_appname-db: - caproverExtra: - notExposeAsWebApp: 'true' - 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:/var/lib/postgresql/data - $$cap_appname-cache: - caproverExtra: - notExposeAsWebApp: 'true' - image: redis:$$cap_REDIS_VERSION - volumes: - - $$cap_appname-cache:/data - $$cap_appname-worker: - caproverExtra: - notExposeAsWebApp: 'true' - dockerfileLines: - - FROM ghcr.io/saleor/saleor:$$cap_SALEOR_CORE_VERSION - - CMD celery -A saleor --app=saleor.celeryconf:app worker --loglevel=info -B - environment: - DATABASE_URL: postgresql://$$cap_POSTGRES_USER:$$cap_POSTGRES_PASSWORD@srv-captain--$$cap_appname-db/$$cap_POSTGRES_DB - CELERY_BROKER_URL: redis://srv-captain--$$cap_appname-cache - DEFAULT_FROM_EMAIL: $$cap_SALEOR_DEFAULT_FROM_EMAIL - SECRET_KEY: $$cap_SALEOR_SECRET_KEY - DEFAULT_CHANNEL_SLUG: default-channel - ALLOWED_HOSTS: $$cap_appname-api.$$cap_root_domain - ALLOWED_CLIENT_HOSTS: $$cap_appname-api.$$cap_root_domain - ENABLE_ACCOUNT_CONFIRMATION_BY_EMAIL: $$cap_ENABLE_ACCOUNT_CONFIRMATION_BY_EMAIL - depends_on: - - $$cap_appname-cache - volumes: - - $$cap_appname-media:/app/media -caproverOneClickApp: - displayName: Saleor - description: An open-source, GraphQL-first e-commerce platform delivering ultra-fast, dynamic and personalized shopping experiences - isOfficial: true - documentation: https://saleor.io - instructions: - start: |- - Saleor is an open-source ecosystem for building rich e-commerce experiences. - Its centerpiece is Saleor GraphQL API that processes complex online store logic. - - **You will need access to your server via SSH to perform some commands after deployment. This needs to be done only once.** - end: |- - Saleor has been successfully deployed! It might take few moments before it's fully started. - - Before you can start using it, you need to perform some steps. - You only need to do this once. - **Please screenshot/copy the following instructions before proceeding:** - - 1. Access your server via SSH - 2. Execute following command to trigger database migrations: `docker exec -it $(docker ps --filter name=srv-captain--$$cap_appname-api -q) python3 manage.py migrate` - 3. **Optional**: If you want to populate the database with sample data, execute following command: `docker exec -it $(docker ps --filter name=srv-captain--$$cap_appname-api -q) python3 manage.py populatedb` - 4. Execute following command to create your account: `docker exec -it $(docker ps --filter name=srv-captain--$$cap_appname-api -q) python3 manage.py createsuperuser` - - That's it! - - You can access the dashboard at `http://$$cap_appname.$$cap_root_domain` - You can access the API at `http://$$cap_appname-api.$$cap_root_domain` - variables: - - id: $$cap_SALEOR_CORE_VERSION - label: Core | Version - description: Saleor core version. Check out their valid tags at https://github.com/saleor/saleor/pkgs/container/saleor - defaultValue: '3.12.5' - validRegex: /.{1,}/ - - id: $$cap_SALEOR_DASHBOARD_VERSION - label: Dashboard | Version - description: Saleor dashboard version. Check out their valid tags at https://github.com/saleor/saleor-dashboard/pkgs/container/saleor-dashboard - defaultValue: '3.12.1' - validRegex: /.{1,}/ - - id: $$cap_ENABLE_ACCOUNT_CONFIRMATION_BY_EMAIL - label: Core | Email Confirmation - description: Whether registering new customer accounts should require email confirmation. - defaultValue: 'False' - validRegex: /^(True|False)$/ - - id: $$cap_POSTGRES_VERSION - label: Database | Version - description: PostgreSQL version. Check out their valid tags at https://hub.docker.com/_/postgres/tags - defaultValue: '15.0-alpine' - validRegex: /.{1,}/ - - id: $$cap_POSTGRES_DB - label: Database | Name - description: Name of the PostgreSQL database. - defaultValue: saleor - validRegex: /.{1,}/ - - id: $$cap_POSTGRES_USER - label: Database | User Name - description: Name of the PostgreSQL user. - defaultValue: saleor - validRegex: /.{1,}/ - - id: $$cap_POSTGRES_PASSWORD - label: Database | User Password - description: Password of the PostgreSQL user. - defaultValue: $$cap_gen_random_hex(16) - validRegex: /.{1,}/ - - id: $$cap_REDIS_VERSION - label: Cache | Version - description: Redis version. Check out their valid tags at https://hub.docker.com/_/redis/tags - defaultValue: '7.0-alpine' - validRegex: /.{1,}/ - - id: $$cap_SALEOR_DEFAULT_FROM_EMAIL - label: Mail | Version - description: Sender email address. - defaultValue: 'noreply@example.com' - validRegex: /.{1,}/ - - id: $$cap_SALEOR_SECRET_KEY - label: Security | Secret Key - description: Secret key. - defaultValue: $$cap_gen_random_hex(16) - validRegex: /.{1,}/ diff --git a/public/v4/apps/seafile-nomemcached.yml b/public/v4/apps/seafile-nomemcached.yml deleted file mode 100644 index 71235748c..000000000 --- a/public/v4/apps/seafile-nomemcached.yml +++ /dev/null @@ -1,78 +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.7' - 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.4' - 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(10)' - description: Default password for root user of MariaDB. Must have at least 8 chars, 1 letter and 1 number - validRegex: '/.{8,}/' - - 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' - validRegex: '/.{1,}/' - - 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 - defaultValue: '$$cap_gen_random_hex(10)' - validRegex: '/.{8,}/' - - id: '$$cap_seafile_hostname' - label: Seafile Hostname - description: Hostname of Seafile instance (that will be used by it in future) - validRegex: '/.{3,}/' - - 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 (no memcached) - 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 fd961db11..000000000 --- a/public/v4/apps/seafile.yml +++ /dev/null @@ -1,92 +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: - 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 - SEAFILE_SERVER_HOSTNAME: '$$cap_seafile_hostname' - 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.7 - description: Check out their Docker page for the valid tags https://hub.docker.com/r/seafileltd/seafile-mc/tags - validRegex: '/.{1,}/' - - id: $$cap_memcached_version - label: Memcached Version - defaultValue: 1.6.12 - description: Check out their Docker page for the valid tags https://hub.docker.com/_/memcached?tab=tags - validRegex: '/.{1,}/' - - id: $$cap_mariadb_version - label: MariaDB Version - defaultValue: '10.6.4' - description: Check out their Docker page for the valid tags https://hub.docker.com/_/mariadb?tab=tags - validRegex: '/.{1,}/' - - id: $$cap_mariadb_root_passwd - label: MariaDB Root Password - defaultValue: '$$cap_gen_random_hex(10)' - description: Default password for root user of MariaDB. Must have at least 8 chars, 1 letter and 1 number - validRegex: '/.{8,}/' - - id: $$cap_seafile_admin_email - label: Seafile Admin Email - defaultValue: admin@localhost - description: Email for admin user of Seafile - - id: $$cap_seafile_admin_password - label: Seafile Admin Password - defaultValue: '$$cap_gen_random_hex(10)' - description: Password for admin user of Seafile. Must have at least 8 chars, 1 letter and 1 number - validRegex: '/.{8,}/' - - id: $cap_timezone - label: Seafile Time zone - defaultValue: 'Etc/UTC' - description: Timezone that Seafile should use - - id: '$$cap_seafile_hostname' - label: Seafile Hostname - description: Hostname of Seafile instance (that will be used by it in future) - validRegex: '/.{3,}/' - 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 - Don't forget to add specified hostname to Seafile domains! - displayName: Seafile (memcached) - isOfficial: true - 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/seatable.yml b/public/v4/apps/seatable.yml deleted file mode 100644 index 9bd367581..000000000 --- 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 add128162..000000000 --- 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: 'Sentry' - 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/serpbear.yml b/public/v4/apps/serpbear.yml deleted file mode 100644 index 8424fd9d8..000000000 --- a/public/v4/apps/serpbear.yml +++ /dev/null @@ -1,57 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - restart: always - image: 'towfiqi/serpbear:$$cap_serpbear_version' - environment: - NEXT_PUBLIC_APP_URL: 'http://$$cap_appname.$$cap_root_domain' - USER: $$cap_serpbear_user - PASSWORD: $$cap_serpbear_password - SECRET: $$cap_serpbear_secret - APIKEY: $$cap_serpbear_apikey - SESSION_DURATION: $$cap_serpbear_session - caproverExtra: - containerHttpPort: '3000' - volumes: - - '$$cap_appname-serpbear-data:/app/data' -caproverOneClickApp: - variables: - - id: $$cap_serpbear_version - label: SerpBear Version - description: >- - Check out the docker page for valid tags - https://hub.docker.com/r/towfiqi/serpbear - validRegex: '/^([^\s^\/])+$/' - - id: $$cap_serpbear_user - label: Username - description: the username you want to use to login to the app - defaultValue: admin - - id: $$cap_serpbear_password - label: Password - description: The password you want to use to login to the app (min 12 characters) - defaultValue: $$cap_gen_random_hex(32) - validRegex: '/^[^\@]{12,}$/' - - id: $$cap_serpbear_secret - label: encryption secret - description: A secret key which will be used for encrypting 3rd party api keys & passwords (min 32 characters) - defaultValue: $$cap_gen_random_hex(64) - validRegex: '/^[^\@]{32,}$/' - - id: $$cap_serpbear_apikey - label: SerpBear API Key - description: API key that will be used to access the apps API (min 32 characters) - defaultValue: $$cap_gen_random_hex(64) - validRegex: '/^[^\@]{32,}$/' - - id: $$cap_serpbear_session - label: Session Duration - description: The duration (in hour) of the user's logged in session - defaultValue: 24 - validRegex: '/.{1,}/' - instructions: - start: >- - Install SerpBear, an open source search Engine Position Rank Tracking App. It allows you to track your website's keyword positions in Google and get notified of their positions. https://docs.serpbear.com/ - end: "You're done! \U0001F604 Your service is available at http://$$cap_appname.$$cap_root_domain" - displayName: SerpBear - isOfficial: true - description: >- - SerpBear is an Open Source Search Engine Position Tracking App. It allows you to track your website's keyword positions in Google and get notified of their positions. - documentation: 'Taken from https://docs.serpbear.com/' diff --git a/public/v4/apps/shiori.yml b/public/v4/apps/shiori.yml deleted file mode 100644 index 64705eef1..000000000 --- a/public/v4/apps/shiori.yml +++ /dev/null @@ -1,40 +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: - displayName: 'Shiori' - 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 85ffe5f63..000000000 --- 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 b39055aa0..000000000 --- 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/smokeping.yml b/public/v4/apps/smokeping.yml deleted file mode 100644 index 23be42e92..000000000 --- a/public/v4/apps/smokeping.yml +++ /dev/null @@ -1,46 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - documentation: https://docs.linuxserver.io/images/docker-smokeping - image: linuxserver/smokeping:$$cap_smokeping_version - restart: always - volumes: - - $$cap_appname-config:/config - - $$cap_appname-data:/data - environment: - PUID: $$cap_puid - PGID: $$cap_pgid - TZ: $$cap_tz - caproverExtra: - containerHttpPort: '80' -caproverOneClickApp: - variables: - - id: $$cap_smokeping_version - label: Smokeping Version - defaultValue: '2.7.3' - description: Smokeping Image Version - validRegex: /^([^\s^\/])+$/ - - id: $$cap_puid - label: PUID - defaultValue: 1000 - validRegex: /^[0-9]+$/ - description: For UserID. Ensure any volume directories on the host are owned by the same user you specify. Default to 1000 se more at https://docs.linuxserver.io/images/docker-smokeping#user-group-identifiers - - id: $$cap_pgid - label: PGID - defaultValue: 1000 - validRegex: /^[0-9]+$/ - description: For GroupID. Ensure any volume directories on the host are owned by the same user you specify. Default to 1000, see more at https://docs.linuxserver.io/images/docker-smokeping#user-group-identifiers - - id: $$cap_tz - label: Timezone - defaultValue: 'UTC' - description: Timezone. Specify a timezone to use EG Europe/London - instructions: - start: >- - SmokePing is a deluxe latency measurement tool. It can measure, store and display latency, latency distribution and packet loss. SmokePing uses RRDtool to maintain a longterm data-store and to draw pretty graphs, giving up to the minute information on the state of each network connection. - end: >- - Now edit the Targets file located in the volume $$cap_appname-config to ping the hosts you're interested in to match the format found there. - Your service is available at http://$$cap_appname.$$cap_root_domain - displayName: Smokeping - isOfficial: false - description: Smokeping keeps track of your network latency. - documentation: https://docs.linuxserver.io/images/docker-smokeping diff --git a/public/v4/apps/sonarqube.yml b/public/v4/apps/sonarqube.yml deleted file mode 100644 index e0e75d136..000000000 --- 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: 'sonarqube' - 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 712bf71b5..000000000 --- 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 8378547f9..000000000 --- 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: 'Sourcegraph' - 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 f3509d02d..000000000 --- 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 d7104a57d..000000000 --- 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: 'Squidex' - 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 3761cbcec..000000000 --- a/public/v4/apps/sshd.yml +++ /dev/null @@ -1,56 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - image: lscr.io/linuxserver/openssh-server:version-8.6_p1-r3 - environment: - PUID: 1001 - PGID: 1001 - TZ: Europe/London - PUBLIC_KEY: $$cap_sshd_public_key - # USER_PASSWORD: $$cap_sshd_public_key - # - PUBLIC_KEY_FILE=/path/to/file #optional - # - PUBLIC_KEY_DIR=/path/to/directory/containing/_only_/pubkeys #optional - # - PUBLIC_KEY_URL=https://github.com/username.keys #optional - # - SUDO_ACCESS=false #optional - # - PASSWORD_ACCESS=false #optional - # - USER_PASSWORD=password #optional - # - USER_PASSWORD_FILE=/path/to/file #optional - USER_NAME: $$cap_sshd_username - volumes: - - $$cap_appname-config:/config - ports: - - $$cap_sshd_port:2222 - caproverExtra: - notExposeAsWebApp: 'true' -caproverOneClickApp: - variables: - - id: $$cap_sshd_public_key - label: Your SSH public key - description: Enter your public key - - id: $$cap_sshd_username - label: Your SSH Username - defaultValue: 'caprover' - - id: $$cap_sshd_port - label: Your SSH exposed port (your host mapped 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 **public key** login. - end: >- - The container is built and deployed. You can now connect to this container from your local machine by running the following command: - - ssh -i /path/to/private.key $$cap_sshd_username@$$cap_appname.$$cap_root_domain -p $$cap_sshd_port - - - ** SSH Port Forwarding Rules ** might need to be manually added, see [here](https://github.com/caprover/caprover/issues/960#issuecomment-1027826772) - 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://github.com/linuxserver/docker-openssh-server' diff --git a/public/v4/apps/statping.yml b/public/v4/apps/statping.yml deleted file mode 100644 index 772ca9a83..000000000 --- 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/steam-openid-provider.yml b/public/v4/apps/steam-openid-provider.yml deleted file mode 100644 index 9a75fcd76..000000000 --- a/public/v4/apps/steam-openid-provider.yml +++ /dev/null @@ -1,56 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - image: ghcr.io/byo-software/steam-openid-connect-provider:sha-c8305ce - restart: always - environment: - OpenID__RedirectUri: $$cap_redirect_uri - OpenID__ClientID: $$cap_client_id - OpenID__ClientSecret: $$cap_client_secret - Hosting__PublicOrigin: $$cap_origin - Steam__ApplicationKey: $$cap_api_key - caproverExtra: - containerHttpPort: '80' -caproverOneClickApp: - variables: - - id: $$cap_client_id - label: OAuth Client ID - defaultValue: 'steamidp' - validRegex: /^[a-zA-Z]{1,20}$/ - description: OpenID ClientID used to initiate authorization. - - - id: $$cap_client_secret - label: OpenID Client Secret - defaultValue: $$cap_gen_random_hex(16) - description: OpenID Client Secret used to initiate authorization. - - - id: $$cap_origin - label: OpenID Origin URL - defaultValue: 'http://openid.example.com' - description: 'The base URL of where this app is hosted. Eg: https://openid.example.com or https://example.org. If left blank, it will be inferred.' - - - id: $$cap_api_key - label: Steam API Key - description: A working Steam API Key for this app. (https://steamcommunity.com/dev/apikey) - - - id: $$cap_redirect_uri - label: Post login redirect URL - description: URL the user will be redirected after login is authorized through Steam. - defaultValue: 'http://example.com/callback' - - instructions: - start: >- - Steam OpenID 2.0 -> OpenID Connect Provider Proxy - This server allows you to use Steam as an OpenID Connect Identity - provider (OIDC IDP). This way you can use Steam logins in KeyCloak or - any other OpenID Connect based authentication client. - end: >- - Your service is available at http://$$cap_appname.$$cap_root_domain - - Check its health with: - - curl -X GET 'http://$$cap_appname.$$cap_root_domain/health' - displayName: 'Steam OpenID Connect Provider' - isOfficial: true - description: This server allows you to use Steam as an OpenID Connect Identity provider (OIDC IDP). This way you can use Steam logins in KeyCloak or any other OpenID Connect based authentication client. - documentation: https://github.com/byo-software/steam-openid-connect-provider diff --git a/public/v4/apps/strapi-postgres.yml b/public/v4/apps/strapi-postgres.yml deleted file mode 100644 index 3dae5d3b0..000000000 --- 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 216d38f8c..000000000 --- a/public/v4/apps/strapi.yml +++ /dev/null @@ -1,72 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - depends_on: - - $$cap_appname-mongo - image: naskio/strapi:$$cap_strapi_version - volumes: - - $$cap_appname-data:/srv/app - restart: always - environment: - NODE_ENV: production - 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: 4.3.2 - 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: 'Strapi' - isOfficial: false - 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 f117f0ce5..000000000 --- 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/surrealdb.yml b/public/v4/apps/surrealdb.yml deleted file mode 100644 index ebe404029..000000000 --- a/public/v4/apps/surrealdb.yml +++ /dev/null @@ -1,43 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname-db: - volumes: - - $$cap_appname-db-data:/data - restart: always - environment: - USER: $$cap_db_user - PASS: $$cap_db_pass - caproverExtra: - notExposeAsWebApp: 'true' - dockerfileLines: - - FROM surrealdb/surrealdb:$$cap_surrealdb_version - - EXPOSE 8000 - - CMD ["start", "--user", "$$cap_db_user", "--pass", "$$cap_db_pass", "--bind","0.0.0.0:8000", "file://data/srdb.db"] -caproverOneClickApp: - variables: - - id: $$cap_surrealdb_version - label: SurrealDB Version - defaultValue: '1.0.0-beta.7' - description: Check out their Docker page for the valid tags https://hub.docker.com/r/surrealdb/surrealdb/tags - validRegex: /^([^\s^\/])+$/ - - id: $$cap_db_user - label: SurrealDB root user - description: '' - validRegex: /.{1,}/ - - id: $$cap_db_pass - label: SurrealDB root password - description: '' - validRegex: /.{1,}/ - instructions: - start: >- - With an SQL-style query language, real-time queries with highly-efficient related data retrieval, advanced security permissions for multi-tenant access, and support for performant analytical workloads, SurrealDB is the next generation serverless database. - After installation on CapRover, it will be available as srv-captain--YOUR_CONTAINER_NAME at port 8000 to other CapRover apps. - - Enter your SurrealDB Configuration parameters and click on next. It will take about a minute for the process to finish. - end: >- - SurrealDB is deployed and available as srv-captain--$$cap_appname-db:8000 to other apps. - You can add a port mapping in case you need to use the database from outside the server. - displayName: SurrealDB - isOfficial: true - description: SurrealDB is an innovative NewSQL cloud database, suitable for serverless applications, jamstack applications, single-page applications, and traditional applications. - documentation: Taken from https://surrealdb.com/ diff --git a/public/v4/apps/syncthing.yml b/public/v4/apps/syncthing.yml deleted file mode 100644 index 0d0f789e1..000000000 --- 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/tautulli.yml b/public/v4/apps/tautulli.yml deleted file mode 100644 index cb50fc8bb..000000000 --- a/public/v4/apps/tautulli.yml +++ /dev/null @@ -1,45 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - image: tautulli/tautulli:$$cap_version - restart: always - volumes: - - $$cap_appname-config:/config - environment: - TZ: $$cap_tz - PUID: $$cap_puid - PGID: $$cap_guid - caproverExtra: - containerHttpPort: '8181' -caproverOneClickApp: - variables: - - id: $$cap_version - label: Tautulli Version Tag - description: Check out their Docker page for the valid tags https://hub.docker.com/r/tautulli/tautulli/tags?page=1&ordering=last_updated - defaultValue: 'v2.7.5' - validRegex: /^([^\s^\/])+$/ - - 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: America/Los_Angeles - - 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,}/ - instructions: - start: >- - A python based web application for monitoring, analytics and notifications for Plex Media Server. - - For more details, see: https://github.com/Tautulli/Tautulli - - end: Tautulli is deployed and available as $$cap_appname. It may take a few moments before the application is ready. - displayName: Tautulli - isOfficial: true - description: A python based web application for monitoring, analytics and notifications for Plex Media Server. - documentation: 'Taken from https://hub.docker.com/r/tautulli/tautulli ' diff --git a/public/v4/apps/teamspeak.yml b/public/v4/apps/teamspeak.yml deleted file mode 100644 index f234921f4..000000000 --- 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 f7813d1f6..000000000 --- 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 8c6866921..000000000 --- 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/thingsboard-postgres.yml b/public/v4/apps/thingsboard-postgres.yml deleted file mode 100644 index 29ad9df75..000000000 --- a/public/v4/apps/thingsboard-postgres.yml +++ /dev/null @@ -1,41 +0,0 @@ -captainVersion: 4 -services: - '$$cap_appname': - image: 'thingsboard/tb-postgres:$$cap_version' - ports: - - '$$mqtt_port:1883' - - '$$coap_port:5683' - environment: - TB_QUEUE_TYPE: in-memory - volumes: - - '$$cap_appname-data:/data' - - '$$cap_appname-logs:/var/log/thingsboard' - caproverExtra: - containerHttpPort: '9090' -caproverOneClickApp: - variables: - - id: '$$cap_version' - label: ThingsBoard Version - defaultValue: '3.2.2' - description: Check out their Docker page for the valid tags hhttps://hub.docker.com/r/thingsboard/tb-postgres/tags - validRegex: "/^([^\\s^\\/])+$/" - - id: '$$mqtt_port' - label: MQTT device API port - defaultValue: '1883' - description: Choose what port to expose the MQTT device API on. - validRegex: '/^([0-9]{1,4}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])$/' - - id: '$$coap_port' - label: COAP device API port - defaultValue: '5683' - description: Choose what port to expose the COAP device API on. - validRegex: '/^([0-9]{1,4}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])$/' - instructions: - start: |- - ThingsBoard is an open-source IoT platform for data collection, processing, visualization, and device management. - - More details: https://thingsboard.io/ - end: |- - ThingsBoard has been successfully deployed! Make sure to port forward $$mqtt_port and $$coap_port. - displayName: ThingsBoard - Postgres - description: ThingsBoard is an open-source IoT platform for data collection, processing, visualization, device management, with an integrated Postgres database. - documentation: See https://thingsboard.io/docs/user-guide/install/docker/ diff --git a/public/v4/apps/thumbor.yml b/public/v4/apps/thumbor.yml deleted file mode 100644 index 19024f83c..000000000 --- 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: 'thumbor' - description: Thumbor is a smart imaging service that enables on-demand cropping, resizing, applying filters and optimizing 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 1e991ca53..000000000 --- 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/traggo.yml b/public/v4/apps/traggo.yml deleted file mode 100644 index f39d65996..000000000 --- a/public/v4/apps/traggo.yml +++ /dev/null @@ -1,39 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - volumes: - - $$cap_appname-data:/opt/traggo/data - restart: always - environment: - TRAGGO_DEFAULT_USER_NAME: $$cap_traggo_user - TRAGGO_DEFAULT_USER_PASS: $$cap_traggo_pw - caproverExtra: - containerHttpPort: '3030' - dockerfileLines: - - FROM traggo/server:$$cap_traggo_version -caproverOneClickApp: - variables: - - id: $$cap_traggo_version - label: Traggo Version Tag - description: 'Check out their Docker page for the valid tags: https://hub.docker.com/r/traggo/server/tags' - defaultValue: '0.2.1' - validRegex: /^([^\s^\/])+$/ - - id: $$cap_traggo_user - label: Default User's Username - validRegex: /^([a-zA-Z0-9])+$/ - - id: $$cap_traggo_pw - label: Default User's Password - validRegex: /^(\w|[^\s"])+$/ - instructions: - start: | - Traggo is a tag-based time tracking tool. In Traggo there are no tasks, only tagged time spans. This container is multiarch and supports `amd64`, `386`, `ppc641e`, `s390x`, `arm64`, and `armv7` (Rasberry Pi). - - Enter your desired app name, username, and password and click on next. It will take about a minute for the process to finish. - end: | - Traggo has been deployed and can be accessed at **$$cap_appname.$$cap_root_domain**. Enabling https is recommended. - - The `$$cap_appname-data` volume contains the sqlite database. - displayName: 'Traggo' - isOfficial: true - description: Traggo is a simple tag-based time tracking tool. In Traggo there are no tasks, only tagged time spans. - documentation: Taken from https://traggo.net/install/ diff --git a/public/v4/apps/transfer-sh.yml b/public/v4/apps/transfer-sh.yml deleted file mode 100644 index c04055932..000000000 --- a/public/v4/apps/transfer-sh.yml +++ /dev/null @@ -1,31 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - image: dutchcoders/transfer.sh:$$cap_transfersh_version - environment: - LISTENER: '8080' - FORCE_HTTPS: 'false' - BASEDIR: '/tmp' - PROVIDER: 'local' - caproverExtra: - containerHttpPort: '8080' -caproverOneClickApp: - variables: - - id: $$cap_transfersh_version - label: Transfer SH Version - defaultValue: v1.4.0 - description: Check out their Docker page for the valid tags https://hub.docker.com/r/dutchcoders/transfer.sh/tags - validRegex: /^([^\s^\/])+$/ - instructions: - start: |- - Easy and fast file sharing from the command-line. This code contains the server with everything you need to create your own instance. - Transfer.sh currently supports the s3 (Amazon S3), gdrive (Google Drive), storj (Storj) providers, and local file system (local). - If you want to keep the files, please mount a volume. - If you want to select a provider, please fill the right environments after creating it. - end: |- - Transfer.sh is deployed and available as $$cap_appname.$$cap_root_domain. - You can now upload your files from CLI. - displayName: Transfer.sh - isOfficial: false - description: Transfer.sh allows you to upload and download files from the command-line - documentation: Taken from https://hub.docker.com/r/dutchcoders/transfer.sh. diff --git a/public/v4/apps/transmission.yml b/public/v4/apps/transmission.yml deleted file mode 100644 index 6dfb49761..000000000 --- a/public/v4/apps/transmission.yml +++ /dev/null @@ -1,63 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - image: ghcr.io/linuxserver/transmission:$$cap_transmission_version - environment: - PUID: '1000' - PGID: '1000' - TZ: $$cap_tz - TRANSMISSION_WEB_HOME: /$$cap_ui/ - USER: $$cap_user - PASS: $$cap_pass - WHITELIST: '' #optional - HOST_WHITELIST: '' #optional - WEBUI_PORT: '9091' - ports: - - 51413:51413 - hostname: $$cap_appname.$$cap_root_domain - volumes: - - $$cap_appname-config:/config - - $$cap_path_to_downloads:/downloads - - $$cap_appname-watch:/watch - caproverExtra: - containerHttpPort: '9091' -caproverOneClickApp: - variables: - - id: $$cap_transmission_version - label: Transmission Version - defaultValue: arm64v8-version-3.00-r2 - description: Check out their Docker page for the valid tags https://hub.docker.com/r/linuxserver/transmission/tags - validRegex: /^([^\s^\/])+$/ - - 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,}/ - - id: $$cap_user - label: Username - defaultValue: admin - - id: $$cap_pass - label: Password - defaultValue: password - - id: $$cap_path_to_downloads - label: Path to downloads folder - defaultValue: transmission-downloads - description: Path to downloads folder where you want to save the downloaded torrents. You can mention an existing directory here too. Eg. /home/user/torrents/ - validRegex: '/.{1,}/' - - id: $$cap_ui - label: User Interface - defaultValue: transmission-web-control - description: Specify an alternative UI options are combustion-release, transmission-web-control, kettu and flood-for-transmission. - validRegex: /^(combustion-release|transmission-web-control|kettu|flood-for-transmission)$/ - instructions: - start: |- - Transmission is designed for easy, powerful use. Transmission has the features you want from a BitTorrent client: encryption, a web interface, peer exchange, magnet links, DHT, Β΅TP, UPnP and NAT-PMP port forwarding, webseed support, watch directories, tracker editing, global and per-torrent speed limits, and more. - This app uses port 51413 as Torrent port, Always allow this port on your firewall. - end: |- - Transmission is deployed and available as $$cap_appname.$$cap_root_domain. - The default username/password is $$cap_user/$$cap_pass. - Change username/password via the webui in the webui section of settings or using enviornament variables. - displayName: Transmission - isOfficial: true - description: Transmission is a BitTorrent client which features a variety of user interfaces on top of a cross-platform back-end. - documentation: Taken from https://hub.docker.com/r/linuxserver/transmission. diff --git a/public/v4/apps/tubesync.yml b/public/v4/apps/tubesync.yml deleted file mode 100644 index fe960ee84..000000000 --- a/public/v4/apps/tubesync.yml +++ /dev/null @@ -1,50 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - image: ghcr.io/meeb/tubesync:$$cap_tubesync_version - volumes: - - $$cap_appname-config:/config - - $$cap_appname-downloads:/downloads - restart: always - environment: - PUID: $$cap_puid - PGID: $$cap_pgid - TZ: $$cap_timezone - HTTP_USER: $$cap_username - HTTP_PASS: $$cap_password - caproverExtra: - containerHttpPort: '4848' -caproverOneClickApp: - variables: - - id: $$cap_tubesync_version - label: TubeSync Version - defaultValue: 'v0.12.0' - description: Check out their docker page for the valid tags https://github.com/meeb/tubesync/tags - validRegex: /^([^\s^\/])+$/ - - id: $$cap_username - label: TubeSync User - defaultValue: 'admin' - description: 'Username for TubeSync' - - id: $$cap_password - label: Password - defaultValue: $$cap_gen_random_hex(16) - description: 'Your password for TubeSync' - validRegex: /^([^\s^\/])+$/ - - id: $$cap_timezone - label: Timezone - defaultValue: America/Chicago - - id: $$cap_puid - label: PUID - defaultValue: 1000 - - id: $$cap_pgid - label: PGID - defaultValue: 1000 - instructions: - start: >- - TubeSync is a PVR (personal video recorder) for YouTube. Or, like Sonarr but for YouTube (with a built-in download client). It is designed to synchronize channels and playlists from YouTube to local directories and update your media server once media is downloaded. - end: >- - Aaaand you're done! πŸ˜„ - Your service is available at http://$$cap_appname.$$cap_root_domain - displayName: 'TubeSync' - isOfficial: true - description: Syncs YouTube channels and playlists to a locally hosted media server diff --git a/public/v4/apps/typebot.yml b/public/v4/apps/typebot.yml deleted file mode 100644 index 6e651c010..000000000 --- a/public/v4/apps/typebot.yml +++ /dev/null @@ -1,249 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname-builder: - caproverExtra: - containerHttpPort: 3000 - image: baptistearno/typebot-builder:$$cap_TYPEBOT_VERSION - environment: - DATABASE_URL: postgresql://$$cap_POSTGRES_USER:$$cap_POSTGRES_PASSWORD@srv-captain--$$cap_appname-db/$$cap_POSTGRES_DB - NEXTAUTH_URL: http://$$cap_appname-builder.$$cap_root_domain - NEXT_PUBLIC_VIEWER_URL: http://$$cap_appname-viewer.$$cap_root_domain - ENCRYPTION_SECRET: $$cap_TYPEBOT_ENCRYPTION_SECRET - ADMIN_EMAIL: $$cap_TYPEBOT_ADMIN_EMAIL - DISABLE_SIGNUP: $$cap_TYPEBOT_DISABLE_SIGNUP - SMTP_USERNAME: $$cap_TYPEBOT_SMTP_USERNAME - SMTP_PASSWORD: $$cap_TYPEBOT_SMTP_PASSWORD - SMTP_HOST: $$cap_TYPEBOT_SMTP_HOST - SMTP_PORT: $$cap_TYPEBOT_SMTP_PORT - NEXT_PUBLIC_SMTP_FROM: $$cap_TYPEBOT_SMTP_FROM - SMTP_SECURE: $$cap_TYPEBOT_SMTP_SECURE - SMTP_AUTH_DISABLED: $$cap_TYPEBOT_SMTP_AUTH_DISABLED - GOOGLE_CLIENT_ID: $$cap_TYPEBOT_GOOGLE_CLIENT_ID - GOOGLE_CLIENT_SECRET: $$cap_TYPEBOT_GOOGLE_CLIENT_SECRET - NEXT_PUBLIC_GOOGLE_API_KEY: $$cap_TYPEBOT_GOOGLE_API_KEY - GITHUB_CLIENT_ID: $$cap_TYPEBOT_GITHUB_CLIENT_ID - GITHUB_CLIENT_SECRET: $$cap_TYPEBOT_GITHUB_CLIENT_SECRET - GITLAB_CLIENT_ID: $$cap_TYPEBOT_GITLAB_CLIENT_ID - GITLAB_CLIENT_SECRET: $$cap_TYPEBOT_GITLAB_CLIENT_SECRET - GITLAB_BASE_URL: $$cap_TYPEBOT_GITLAB_BASE_URL - GITLAB_REQUIRED_GROUPS: $$cap_TYPEBOT_GITLAB_REQUIRED_GROUPS - GITLAB_NAME: $$cap_TYPEBOT_GITLAB_NAME - FACEBOOK_CLIENT_ID: $$cap_TYPEBOT_FACEBOOK_CLIENT_ID - FACEBOOK_CLIENT_SECRET: $$cap_TYPEBOT_FACEBOOK_CLIENT_SECRET - AZURE_AD_CLIENT_ID: $$cap_TYPEBOT_AZURE_AD_CLIENT_ID - AZURE_AD_CLIENT_SECRET: $$cap_TYPEBOT_AZURE_AD_CLIENT_SECRET - AZURE_AD_TENANT_ID: $$cap_TYPEBOT_AZURE_AD_TENANT_ID - S3_ACCESS_KEY: $$cap_TYPEBOT_S3_ACCESS_KEY - S3_SECRET_KEY: $$cap_TYPEBOT_S3_SECRET_KEY - S3_BUCKET: $$cap_TYPEBOT_S3_BUCKET - S3_PORT: $$cap_TYPEBOT_S3_PORT - S3_ENDPOINT: $$cap_TYPEBOT_S3_ENDPOINT - S3_SSL: $$cap_TYPEBOT_S3_SSL - S3_REGION: $$cap_TYPEBOT_S3_REGION - NEXT_PUBLIC_GIPHY_API_KEY: $$cap_TYPEBOT_GIPHY_API_KEY - depends_on: - - $$cap_appname-db - $$cap_appname-viewer: - caproverExtra: - containerHttpPort: 3000 - image: baptistearno/typebot-viewer:$$cap_TYPEBOT_VERSION - environment: - DATABASE_URL: postgresql://$$cap_POSTGRES_USER:$$cap_POSTGRES_PASSWORD@srv-captain--$$cap_appname-db/$$cap_POSTGRES_DB - NEXT_PUBLIC_VIEWER_URL: http://$$cap_appname-viewer.$$cap_root_domain - ENCRYPTION_SECRET: $$cap_TYPEBOT_ENCRYPTION_SECRET - NEXTAUTH_URL: http://$$cap_appname-builder.$$cap_root_domain - SMTP_USERNAME: $$cap_TYPEBOT_SMTP_USERNAME - SMTP_PASSWORD: $$cap_TYPEBOT_SMTP_PASSWORD - SMTP_HOST: $$cap_TYPEBOT_SMTP_HOST - SMTP_PORT: $$cap_TYPEBOT_SMTP_PORT - SMTP_FROM: $$cap_TYPEBOT_SMTP_FROM - SMTP_SECURE: $$cap_TYPEBOT_SMTP_SECURE - GOOGLE_CLIENT_ID: $$cap_TYPEBOT_GOOGLE_CLIENT_ID - GOOGLE_CLIENT_SECRET: $$cap_TYPEBOT_GOOGLE_CLIENT_SECRET - S3_ACCESS_KEY: $$cap_TYPEBOT_S3_ACCESS_KEY - S3_SECRET_KEY: $$cap_TYPEBOT_S3_SECRET_KEY - S3_BUCKET: $$cap_TYPEBOT_S3_BUCKET - S3_PORT: $$cap_TYPEBOT_S3_PORT - S3_ENDPOINT: $$cap_TYPEBOT_S3_ENDPOINT - S3_SSL: $$cap_TYPEBOT_S3_SSL - S3_REGION: $$cap_TYPEBOT_S3_REGION - depends_on: - - $$cap_appname-db - - $$cap_appname-db: - caproverExtra: - notExposeAsWebApp: 'true' - 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 - -caproverOneClickApp: - instructions: - start: |- - Typebot is an open-source alternative to Landbot. - It allows you to create conversational apps/forms (Lead qualification, Product launch, User onboarding, Customer support), embed them anywhere on your web/mobile apps, and collect results in real-time. - - **Important notes**: - - - Make sure to set up least one authentication provider (Mail, Google, GitHub, Facebook or Azure AD) below - - Add your mail address to `ADMIN_EMAIL` - end: |- - Typebot has been successfully deployed! It might take few moments before it's fully started. - You can access it at `http://$$cap_appname-builder.$$cap_root_domain`. - displayName: Typebot - isOfficial: true - description: Conversational Form Builder That You Can Self-Host. Open Source Alternative To Landbot. - documentation: https://docs.typebot.io - variables: - - id: $$cap_TYPEBOT_VERSION - label: Version | Typebot - description: Version of Typebot. Check out their valid tags at https://hub.docker.com/r/baptistearno/typebot-builder/tags - defaultValue: 2 - validRegex: /.{1,}/ - - id: $$cap_POSTGRES_VERSION - label: General | PostgreSQL Version - description: Check out their valid tags at https://hub.docker.com/_/postgres/tags - defaultValue: '14.0-alpine' - validRegex: /.{1,}/ - - id: $$cap_TYPEBOT_ADMIN_EMAIL - label: Administration | User Mail Address - description: The mail address that will get a "Pro" plan on user creation. - - id: $$cap_TYPEBOT_DISABLE_SIGNUP - label: Administration | Disable Sign-Ups - description: To disable new sign-ups but still be able to sign in with existing users or admin mail address. - defaultValue: 'false' - validRegex: /^(true|false)$/ - - id: $$cap_TYPEBOT_ENCRYPTION_SECRET - label: Security | Encryption Secret - description: >- - A 256-bit key used to encrypt sensitive data. - The secret should be the same between builder and viewer. - defaultValue: $$cap_gen_random_hex(128) - validRegex: /.{1,}/ - - id: $$cap_POSTGRES_DB - label: Database | Name - description: Name of the database. - defaultValue: typebot - validRegex: /.{1,}/ - - id: $$cap_POSTGRES_USER - label: Database | User Name - description: Name of the database user. - defaultValue: typebot - validRegex: /.{1,}/ - - id: $$cap_POSTGRES_PASSWORD - label: Database | User Password - description: Password of the database user. - defaultValue: $$cap_gen_random_hex(16) - validRegex: /.{1,}/ - - id: $$cap_TYPEBOT_SMTP_USERNAME - label: Mail | Name - description: Optional SMTP username. - - id: $$cap_TYPEBOT_SMTP_PASSWORD - label: Mail | Password - description: Optional SMTP password. - - id: $$cap_TYPEBOT_SMTP_HOST - label: Mail | Host - description: Optional SMTP host. - - id: $$cap_TYPEBOT_SMTP_PORT - label: Mail | Port - description: SMTP port. - defaultValue: 25 - validRegex: /.{1,}/ - - id: $$cap_TYPEBOT_SMTP_FROM - label: Mail | From Field - description: Optional "from" name and mail (e.g. `Notifications `). - - id: $$cap_TYPEBOT_SMTP_SECURE - label: Mail | Secure Connection - description: >- - If `true` the connection will use TLS when connecting to server. - If `false` (the default) then TLS is used if server supports the STARTTLS extension. - In most cases set this value to `true` if you are connecting to port `465`. - For port `587` or `25` keep it `false`. - defaultValue: 'false' - validRegex: /^(true|false)$/ - - id: $$cap_TYPEBOT_SMTP_AUTH_DISABLED - label: Mail | Authentication Disabled - description: To disable the authentication by mail but still use the provided config for notifications. - defaultValue: 'false' - validRegex: /^(true|false)$/ - - id: $$cap_TYPEBOT_GOOGLE_CLIENT_ID - label: Google | Client ID - description: Optional client ID from the Google API Console. - - id: $$cap_TYPEBOT_GOOGLE_CLIENT_SECRET - label: Google | Client Secret - description: Optional client secret from the Google API Console. - - id: $$cap_TYPEBOT_GOOGLE_API_KEY - label: Google | API Key - description: Optional API Key from the Google API Console. Used for Google Fonts. - - id: $$cap_TYPEBOT_GITHUB_CLIENT_ID - label: GitHub | Client ID - description: Optional application client ID from GitHub. Also used to check if it is enabled in the front-end. - - id: $$cap_TYPEBOT_GITHUB_CLIENT_SECRET - label: GitHub | Client Secret - description: Optional application secret from GitHub. - - id: $$cap_TYPEBOT_GITLAB_CLIENT_ID - label: GitLab | Client ID - description: Optional application client ID from GitLab. Also used to check if it is enabled in the front-end. - - id: $$cap_TYPEBOT_GITLAB_CLIENT_SECRET - label: GitLab | Client Secret - description: Optional application secret from GitLab. - - id: $$cap_TYPEBOT_GITLAB_BASE_URL - label: GitLab | Base URL - description: Optional GitLab instance base URL. - defaultValue: https://gitlab.com - validRegex: /.{1,}/ - - id: $$cap_TYPEBOT_GITLAB_REQUIRED_GROUPS - label: GitLab | Required Groups - description: Optional comma-separated list of groups the user has to be a direct member of (e.g. `foo,bar`). - - id: $$cap_TYPEBOT_GITLAB_NAME - label: GitLab | Base URL - description: Name of the GitLab instance, used for the SSO Login Button. - defaultValue: GitLab - validRegex: /.{1,}/ - - id: $$cap_TYPEBOT_FACEBOOK_CLIENT_ID - label: Facebook | Client ID - description: Optional application client ID from Facebook. Also used to check if it is enabled in the front-end. - - id: $$cap_TYPEBOT_FACEBOOK_CLIENT_SECRET - label: Facebook | Client Secret - description: Optional application secret from Facebook. - - id: $$cap_TYPEBOT_AZURE_AD_CLIENT_ID - label: Azure AD | Client ID - description: Optional application client ID from Azure AD. Also used to check if it is enabled in the front-end. - - id: $$cap_TYPEBOT_AZURE_AD_CLIENT_SECRET - label: Azure AD | Client Secret - description: Optional application client secret from Azure AD. Can be obtained from Azure Portal. - - id: $$cap_TYPEBOT_AZURE_AD_TENANT_ID - label: Azure AD | Tenant ID - description: Optional Azure AD tenant ID. - - id: $$cap_TYPEBOT_S3_ACCESS_KEY - label: S3 | Access Key - description: Optional S3 access key. Also used to check if upload feature is enabled. - - id: $$cap_TYPEBOT_S3_SECRET_KEY - label: S3 | Secret Key - description: Optional S3 secret key. - - id: $$cap_TYPEBOT_S3_BUCKET - label: S3 | Bucket - description: Name of the bucket where assets will be uploaded in. - defaultValue: typebot - validRegex: /.{1,}/ - - id: $$cap_TYPEBOT_S3_PORT - label: S3 | Port - description: Optional S3 host port number. - - id: $$cap_TYPEBOT_S3_ENDPOINT - label: S3 | Endpoint - description: Optional S3 endpoint. - - id: $$cap_TYPEBOT_S3_SSL - label: S3 | Secure Connection - description: Whether to use SSL when establishing the connection. - defaultValue: 'true' - validRegex: /^(true|false)$/ - - id: $$cap_TYPEBOT_S3_REGION - label: S3 | Region - description: Optional S3 region. - - id: $$cap_TYPEBOT_GIPHY_API_KEY - label: Giphy | API Key - description: Optional Giphy API key. diff --git a/public/v4/apps/umami-mysql.yml b/public/v4/apps/umami-mysql.yml deleted file mode 100644 index 5206d7041..000000000 --- a/public/v4/apps/umami-mysql.yml +++ /dev/null @@ -1,69 +0,0 @@ -captainVersion: 4 -services: - # Umami mysql - $$cap_appname: - image: ghcr.io/umami-software/umami:mysql-$$cap_umami_version - restart: always - environment: - DATABASE_URL: mysql://umami:$$cap_mysql_pass@srv-captain--$$cap_appname-mysql/umami - depends_on: - - $$cap_appname-mysql - caproverExtra: - containerHttpPort: '3000' - # Mysql - $$cap_appname-mysql: - image: mysql:$$cap_mysql_version - volumes: - - $$cap_appname-mysql-data:/var/lib/mysql - restart: always - environment: - MYSQL_DATABASE: umami - MYSQL_USER: umami - MYSQL_PASSWORD: $$cap_mysql_pass - MYSQL_ROOT_PASSWORD: $$cap_mysql_root_pass - caproverExtra: - notExposeAsWebApp: 'true' -caproverOneClickApp: - variables: - - id: $$cap_mysql_version - label: Mysql Version - defaultValue: '8' - description: Checkout their page for the valid tags https://hub.docker.com/_/mysql - validRegex: /^([^\s^\/])+$/ - - id: $$cap_umami_version - label: Caprover Umami Version - defaultValue: 'v1.38.0' - description: Checkout their github page for the valid tags https://github.com/umami-software/umami/pkgs/container/umami - validRegex: /^([^\s^\/])+$/ - - id: $$cap_mysql_pass - label: mysql Database password - description: 'Password for mysql' - defaultValue: $$cap_gen_random_hex(16) - validRegex: /^([^\s^\/])+$/ - - id: $$cap_mysql_root_pass - label: mysql ROOT Database password - description: 'Password for mysql root' - defaultValue: $$cap_gen_random_hex(16) - validRegex: /^([^\s^\/])+$/ - 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 mysql instance with persistant data. You can choose the version yourself. The deployment was tested with mysql 8.0.x. - - For Updating just Deploy latest image from https://github.com/umami-software/umami/pkgs/container/umami using the Deploy via ImageName section in your caprover umami container - - 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-mysql - isOfficial: true - 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://umami.is/docs/getting-started) diff --git a/public/v4/apps/umami-only.yml b/public/v4/apps/umami-only.yml deleted file mode 100644 index 2c2ddd923..000000000 --- a/public/v4/apps/umami-only.yml +++ /dev/null @@ -1,57 +0,0 @@ -captainVersion: 4 -services: - # Umami - $$cap_appname: - image: ghcr.io/umami-software/umami:$$cap_db_type-$$cap_umami_version - restart: always - environment: - DATABASE_URL: $$cap_db_type://$$cap_db_user:$$cap_db_pass@$$cap_db_url/$$cap_db_name - caproverExtra: - containerHttpPort: '3000' -caproverOneClickApp: - variables: - - id: '$$cap_umami_version' - label: Caprover Umami Version - defaultValue: 'v1.38.0' - description: Checkout their github page for the valid tags https://github.com/umami-software/umami/pkgs/container/umami - validRegex: /^([^\s^\/])+$/ - - id: '$$cap_db_type' - label: Database Type (postgresql or mysql) - validRegex: /^(postgresql|mysql)$/ - - id: '$$cap_db_url' - label: Database Remote URL - description: 'if your db is in your caprover network use srv-captain--appName' - validRegex: /^([^\s^\/])+$/ - - id: '$$cap_db_user' - label: Database User - - id: '$$cap_db_name' - label: Database Table Name - description: 'the table that you want use for your umami app' - validRegex: /^([^\s^\/])+$/ - - id: '$$cap_db_pass' - label: Database password - description: 'Password for your Database' - validRegex: /^([^\s^\/])+$/ - 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 mysql instance with persistant data. You can choose the version yourself. The deployment was tested with mysql 8.0.x and postgres 14.x. - - For Updating just Deploy latest image from https://github.com/umami-software/umami/pkgs/container/umami using the Deploy via ImageName section in your caprover umami container - - For more details about umami, see: https://umami.is - - Note: This app is intended for advanced users who'd like to have a umami without Database service installed. You need run your Database Service and then set the Database configuration accordingly. - - 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-only - isOfficial: true - 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://umami.is/docs/getting-started) diff --git a/public/v4/apps/umami-postgresql.yml b/public/v4/apps/umami-postgresql.yml deleted file mode 100644 index 556a6b169..000000000 --- a/public/v4/apps/umami-postgresql.yml +++ /dev/null @@ -1,68 +0,0 @@ -captainVersion: 4 -services: - # Umami postgres - $$cap_appname: - image: ghcr.io/umami-software/umami:postgresql-$$cap_umami_version - restart: always - environment: - DATABASE_URL: postgresql://umami:$$cap_postgres_pass@srv-captain--$$cap_appname-postgres/umami - 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: '14.5-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: 'v1.38.0' - description: Checkout their github page for the valid tags https://github.com/umami-software/umami/pkgs/container/umami - validRegex: /^([^\s^\/])+$/ - - id: $$cap_postgres_pass - label: Potgress Database password - description: 'Password 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 14.x. - - For Updating just Deploy latest image from https://github.com/umami-software/umami/pkgs/container/umami using the Deploy via ImageName section in your caprover umami container - - 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-postgresql - isOfficial: true - 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://umami.is/docs/getting-started) diff --git a/public/v4/apps/uptime-kuma.yml b/public/v4/apps/uptime-kuma.yml deleted file mode 100644 index 2129c68c3..000000000 --- a/public/v4/apps/uptime-kuma.yml +++ /dev/null @@ -1,31 +0,0 @@ -captainVersion: 4 -services: - # Uptime Kuma - $$cap_appname: - image: louislam/uptime-kuma:$$cap_kuma_version - restart: unless-stopped - volumes: - - $$cap_appname-data:/app/data - caproverExtra: - containerHttpPort: '3001' -caproverOneClickApp: - variables: - - id: $$cap_kuma_version - label: Uptime Kuma Version - defaultValue: 1.5.2 - description: Check out their Docker page for the valid tags https://hub.docker.com/r/louislam/uptime-kuma/tags - instructions: - start: |- - Features - - β—‰ Monitoring uptime for HTTP(s) / TCP / Ping. - β—‰ Fancy, Reactive, Fast UI/UX. - β—‰ Notifications via Webhook, Telegram, Discord and email (SMTP). - β—‰ 20 seconds interval. - end: |- - Aaaand you're done! πŸ˜„ - Your service is available at http://$$cap_appname.$$cap_root_domain - displayName: Uptime Kuma - isOfficial: true - description: A fancy self-hosted monitoring tool - documentation: Taken from https://github.com/louislam/uptime-kuma diff --git a/public/v4/apps/verdaccio.yml b/public/v4/apps/verdaccio.yml deleted file mode 100644 index 678a37062..000000000 --- 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: 'Verdaccio' - 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 18db4fc4d..000000000 --- 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 0c4d8a2da..000000000 --- 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 cd8bdf4c4..000000000 --- a/public/v4/apps/wallabag.yml +++ /dev/null @@ -1,71 +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 - SYMFONY__ENV__DATABASE_CHARSET: utf8mb4 - 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 38d004cec..000000000 --- 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: 14-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: 7-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.14.1-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/webtop.yml b/public/v4/apps/webtop.yml deleted file mode 100644 index 8a0822fab..000000000 --- a/public/v4/apps/webtop.yml +++ /dev/null @@ -1,59 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - image: lscr.io/linuxserver/webtop:$$cap_webtop_version - hostname: $$cap_appname.$$cap_root_domain - environment: - TZ: $$cap_webtop_timezone - PUID: $$cap_webtop_user_id - PGID: $$cap_webtop_group_id - KEYBOARD: $$cap_webtop_keyboard_layout - AUTO_LOGIN: $$cap_webtop_auto_login - volumes: - - $$cap_appname-config:/config - caproverExtra: - containerHttpPort: 3000 -caproverOneClickApp: - displayName: Webtop - description: Linux in a web browser supporting popular desktop environments. - isOfficial: true - documentation: See https://docs.linuxserver.io/images/docker-webtop - instructions: - start: |- - Alpine, Ubuntu, Fedora, and Arch based containers containing full desktop environments in officially supported flavors accessible via any modern web browser. - Please note, that the Docker socket is not mounted and that hardware acceleration is disabled. - end: > - Webtop has been successfully deployed! It might take few moments before it's fully started. - Please turn on "Websocket Support" in the settings. - You can access it at http://$$cap_appname.$$cap_root_domain with default login abc/abc - variables: - - id: $$cap_webtop_version - label: Version Tag - description: Check out their documentation for the valid tags https://docs.linuxserver.io/images/docker-webtop#version-tags - defaultValue: ubuntu-xfce-version-85c6c96d - validRegex: "/^([^\\s^\\/])+$/" - - id: $$cap_webtop_timezone - label: Timezone - description: Timezone for the application, find yours at https://en.wikipedia.org/wiki/List_of_tz_database_time_zones - defaultValue: UTC - validRegex: /.{1,}/ - - id: $$cap_webtop_user_id - label: User ID - defaultValue: '1000' - description: User ID that the process uses, run (id $user) on your instance to see the ID - validRegex: /.{1,}/ - - id: $$cap_webtop_group_id - label: Group ID - defaultValue: '1000' - description: Group ID that the process uses, run (id $user) on your instance to see the ID - validRegex: /.{1,}/ - - id: $$cap_webtop_keyboard_layout - label: Keyboard Layout - description: Keyboard layout for use (e.g. "en-us-qwerty" for US or "de-de-qwertz" for German), see available layouts at https://docs.linuxserver.io/images/docker-webtop#application-setup - defaultValue: en-us-qwerty - validRegex: "/^([^\\s^\\/])+$/" - - id: $$cap_webtop_auto_login - label: Force Login - defaultValue: 'true' - description: If you change your password or want to login manually to the GUI set this to "false" - validRegex: /^(true|false)$/ diff --git a/public/v4/apps/whoopsmonitor.yml b/public/v4/apps/whoopsmonitor.yml deleted file mode 100644 index e288e823e..000000000 --- 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 4f974f5c6..000000000 --- a/public/v4/apps/wiki-js.yml +++ /dev/null @@ -1,45 +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 - caproverExtra: - containerHttpPort: '3000' -caproverOneClickApp: - variables: - - label: Wiki.js Version - defaultValue: '2.5' - 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: 14.1-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/woodpecker.yml b/public/v4/apps/woodpecker.yml deleted file mode 100644 index 51ec70b1b..000000000 --- a/public/v4/apps/woodpecker.yml +++ /dev/null @@ -1,459 +0,0 @@ -captainVersion: 4 -services: - $$cap_appname: - caproverExtra: - containerHttpPort: '8000' - image: woodpeckerci/woodpecker-server:$$cap_woodpecker_version - hostname: $$cap_appname.$$cap_root_domain - volumes: - - $$cap_appname-server:/var/lib/woodpecker - environment: - WOODPECKER_LOG_LEVEL: $$cap_WOODPECKER_LOG_LEVEL - WOODPECKER_DEBUG_PRETTY: $$cap_WOODPECKER_DEBUG_PRETTY - WOODPECKER_DEBUG_NOCOLOR: $$cap_WOODPECKER_DEBUG_NOCOLOR - WOODPECKER_HOST: $$cap_WOODPECKER_HOST - WOODPECKER_ADMIN: $$cap_WOODPECKER_ADMIN - WOODPECKER_ORGS: $$cap_WOODPECKER_ORGS - WOODPECKER_REPO_OWNERS: $$cap_WOODPECKER_REPO_OWNERS - WOODPECKER_OPEN: $$cap_WOODPECKER_OPEN - WOODPECKER_DOCS: $$cap_WOODPECKER_DOCS - WOODPECKER_AUTHENTICATE_PUBLIC_REPOS: $$cap_WOODPECKER_AUTHENTICATE_PUBLIC_REPOS - WOODPECKER_DEFAULT_CLONE_IMAGE: $$cap_WOODPECKER_DEFAULT_CLONE_IMAGE - WOODPECKER_SESSION_EXPIRES: $$cap_WOODPECKER_SESSION_EXPIRES - WOODPECKER_ESCALATE: $$cap_WOODPECKER_ESCALATE - WOODPECKER_DOCKER_CONFIG: $$cap_WOODPECKER_DOCKER_CONFIG - WOODPECKER_AGENT_SECRET: $$cap_WOODPECKER_AGENT_SECRET - WOODPECKER_KEEPALIVE_MIN_TIME: $$cap_WOODPECKER_KEEPALIVE_MIN_TIME - WOODPECKER_DATABASE_DRIVER: $$cap_WOODPECKER_DATABASE_DRIVER - WOODPECKER_DATABASE_DATASOURCE: $$cap_WOODPECKER_DATABASE_DATASOURCE - WOODPECKER_PROMETHEUS_AUTH_TOKEN: $$cap_WOODPECKER_PROMETHEUS_AUTH_TOKEN - WOODPECKER_STATUS_CONTEXT: $$cap_WOODPECKER_STATUS_CONTEXT - WOODPECKER_LIMIT_MEM_SWAP: $$cap_WOODPECKER_LIMIT_MEM_SWAP - WOODPECKER_LIMIT_MEM: $$cap_WOODPECKER_LIMIT_MEM_USED - WOODPECKER_LIMIT_SHM_SIZE: $$cap_WOODPECKER_LIMIT_SHM_SIZE - WOODPECKER_LIMIT_CPU_QUOTA: $$cap_WOODPECKER_LIMIT_CPU_QUOTA - WOODPECKER_LIMIT_CPU_SHARES: $$cap_WOODPECKER_LIMIT_CPU_SHARES - WOODPECKER_LIMIT_CPU_SET: $$cap_WOODPECKER_LIMIT_CPU_SET - WOODPECKER_GITHUB: $$cap_WOODPECKER_GITHUB_ENABLED - WOODPECKER_GITHUB_URL: $$cap_WOODPECKER_GITHUB_URL - WOODPECKER_GITHUB_CLIENT: $$cap_WOODPECKER_GITHUB_CLIENT - WOODPECKER_GITHUB_SECRET: $$cap_WOODPECKER_GITHUB_SECRET - WOODPECKER_GITHUB_MERGE_REF: $$cap_WOODPECKER_GITHUB_MERGE_REF - WOODPECKER_GITHUB_SKIP_VERIFY: $$cap_WOODPECKER_GITHUB_SKIP_VERIFY - WOODPECKER_GOGS: $$cap_WOODPECKER_GOGS_ENABLED - WOODPECKER_GOGS_URL: $$cap_WOODPECKER_GOGS_URL - WOODPECKER_GOGS_GIT_USERNAME: $$cap_WOODPECKER_GOGS_GIT_USERNAME - WOODPECKER_GOGS_GIT_PASSWORD: $$cap_WOODPECKER_GOGS_GIT_PASSWORD - WOODPECKER_GOGS_PRIVATE_MODE: $$cap_WOODPECKER_GOGS_PRIVATE_MODE - WOODPECKER_GOGS_SKIP_VERIFY: $$cap_WOODPECKER_GOGS_SKIP_VERIFY - WOODPECKER_GITEA: $$cap_WOODPECKER_GITEA_ENABLED - WOODPECKER_GITEA_URL: $$cap_WOODPECKER_GITEA_URL - WOODPECKER_GITEA_CLIENT: $$cap_WOODPECKER_GITEA_CLIENT - WOODPECKER_GITEA_SECRET: $$cap_WOODPECKER_GITEA_SECRET - WOODPECKER_GITEA_SKIP_VERIFY: $$cap_WOODPECKER_GITEA_SKIP_VERIFY - WOODPECKER_BITBUCKET: $$cap_WOODPECKER_BITBUCKET_ENABLED - WOODPECKER_BITBUCKET_CLIENT: $$cap_WOODPECKER_BITBUCKET_CLIENT - WOODPECKER_BITBUCKET_SECRET: $$cap_WOODPECKER_BITBUCKET_SECRET - WOODPECKER_STASH: $$cap_WOODPECKER_STASH_ENABLED - WOODPECKER_STASH_URL: $$cap_WOODPECKER_STASH_URL - WOODPECKER_STASH_CONSUMER_KEY: $$cap_WOODPECKER_STASH_CONSUMER_KEY - WOODPECKER_STASH_CONSUMER_RSA: $$cap_WOODPECKER_STASH_CONSUMER_RSA_PATH - WOODPECKER_STASH_CONSUMER_RSA_STRING: $$cap_WOODPECKER_STASH_CONSUMER_RSA_STRING - WOODPECKER_STASH_GIT_USERNAME: $$cap_WOODPECKER_STASH_GIT_USERNAME - WOODPECKER_STASH_GIT_PASSWORD: $$cap_WOODPECKER_STASH_GIT_PASSWORD - WOODPECKER_STASH_SKIP_VERIFY: $$cap_WOODPECKER_STASH_SKIP_VERIFY - WOODPECKER_GITLAB: $$cap_WOODPECKER_GITLAB_ENABLED - WOODPECKER_GITLAB_URL: $$cap_WOODPECKER_GITLAB_URL - WOODPECKER_GITLAB_CLIENT: $$cap_WOODPECKER_GITLAB_CLIENT - WOODPECKER_GITLAB_SECRET: $$cap_WOODPECKER_GITLAB_SECRET - WOODPECKER_GITLAB_SKIP_VERIFY: $$cap_WOODPECKER_GITLAB_SKIP_VERIFY - WOODPECKER_CODING: $$cap_WOODPECKER_CODING_ENABLED - WOODPECKER_CODING_URL: $$cap_WOODPECKER_CODING_URL - WOODPECKER_CODING_CLIENT: $$cap_WOODPECKER_CODING_CLIENT - WOODPECKER_CODING_SECRET: $$cap_WOODPECKER_CODING_SECRET - WOODPECKER_CODING_SCOPE: $$cap_WOODPECKER_CODING_SCOPE - WOODPECKER_CODING_GIT_MACHINE: $$cap_WOODPECKER_CODING_GIT_MACHINE - WOODPECKER_CODING_GIT_USERNAME: $$cap_WOODPECKER_CODING_GIT_USERNAME - WOODPECKER_CODING_GIT_PASSWORD: $$cap_WOODPECKER_CODING_GIT_PASSWORD - WOODPECKER_CODING_SKIP_VERIFY: $$cap_WOODPECKER_CODING_SKIP_VERIFY - $$cap_appname-agent: - caproverExtra: - notExposeAsWebApp: 'true' - dockerfileLines: - - FROM woodpeckerci/woodpecker-agent:$$cap_woodpecker_version - - CMD ["agent"] - depends_on: - - $$cap_appname - volumes: - - /var/run/docker.sock:/var/run/docker.sock - environment: - WOODPECKER_SERVER: srv-captain--$$cap_appname:9000 - WOODPECKER_USERNAME: $$cap_WOODPECKER_USERNAME - WOODPECKER_AGENT_SECRET: $$cap_WOODPECKER_AGENT_SECRET - WOODPECKER_LOG_LEVEL: $$cap_WOODPECKER_LOG_LEVEL - WOODPECKER_DEBUG_PRETTY: $$cap_WOODPECKER_DEBUG_PRETTY - WOODPECKER_DEBUG_NOCOLOR: $$cap_WOODPECKER_DEBUG_NOCOLOR - WOODPECKER_HOSTNAME: $$cap_WOODPECKER_AGENT_HOSTNAME - WOODPECKER_MAX_PROCS: $$cap_WOODPECKER_MAX_PROCS - WOODPECKER_HEALTHCHECK: $$cap_WOODPECKER_HEALTHCHECK - WOODPECKER_KEEPALIVE_TIME: $$cap_WOODPECKER_KEEPALIVE_TIME_SETTING - WOODPECKER_KEEPALIVE_TIMEOUT: $$cap_WOODPECKER_KEEPALIVE_TIMEOUT - WOODPECKER_GRPC_SECURE: $$cap_WOODPECKER_GRPC_SECURE - WOODPECKER_GRPC_VERIFY: $$cap_WOODPECKER_GRPC_VERIFY - WOODPECKER_BACKEND: $$cap_WOODPECKER_BACKEND - -caproverOneClickApp: - displayName: Woodpecker - description: Simple CI engine with great extensibility. It runs your pipelines inside Docker containers. - isOfficial: true - documentation: See https://woodpecker-ci.org - instructions: - start: |- - Woodpecker is a simple CI engine with great extensibility. - It is a community fork of the Drone CI system. - It runs your pipelines inside Docker containers, so if you are already using them in your daily workflow, you'll love Woodpecker for sure. - You should set up `WOODPECKER_HOST` and at least one version control system (e.g. `WOODPECKER_GITEA` for Gitea or `WOODPECKER_GITHUB` for GitHub etc.). - end: > - Woodpecker has been successfully deployed! It might take few moments before it's fully started. - You can access it at http://$$cap_appname.$$cap_root_domain - variables: - - id: $$cap_woodpecker_version - label: Version Tag - description: Check out their Docker Hub page for the valid tags https://hub.docker.com/r/woodpeckerci/woodpecker-server/tags - defaultValue: pull_1209 - validRegex: "/^([^\\s^\\/])+$/" - - id: $$cap_WOODPECKER_LOG_LEVEL - label: Logging Level - defaultValue: error - description: Configures the logging level. Possible values are trace, debug, info, warn, error, fatal, panic, disabled and empty. - - id: $$cap_WOODPECKER_DEBUG_PRETTY - label: Pretty-Printed Debug Output - description: Enable pretty-printed debug output. - defaultValue: 'false' - validRegex: /^(false|true)$/ - - id: $$cap_WOODPECKER_DEBUG_NOCOLOR - label: Colored Debug Output - description: Disable colored debug output. - defaultValue: 'true' - validRegex: /^(false|true)$/ - - id: $$cap_WOODPECKER_HOST - label: Host - description: |- - Server fully qualified url of the user-facing hostname. - Example: http://woodpecker.example.org - - id: $$cap_WOODPECKER_ADMIN - label: Admin Accounts - description: |- - Comma-separated list of admin accounts. - Example: user1,user2 - - id: $$cap_WOODPECKER_ORGS - label: Approved Organizations - description: |- - Comma-separated list of approved organizations. - Example: org1,org2 - - id: $$cap_WOODPECKER_REPO_OWNERS - label: Syncable Repository Owners - description: |- - Comma-separated list of syncable repo owners. - Example: user1,user2 - - id: $$cap_WOODPECKER_OPEN - label: User Registration - description: Enable to allow user registration. - defaultValue: 'false' - validRegex: /^(false|true)$/ - - id: $$cap_WOODPECKER_DOCS - label: Link To Documentation - description: Link to documentation in the UI. - defaultValue: https://woodpecker-ci.org/ - validRegex: /.{1,}/ - - id: $$cap_WOODPECKER_AUTHENTICATE_PUBLIC_REPOS - label: Authenticate Cloning Of Public Repositories - description: Always use authentication to clone repositories even if they are public. Needed if the SCM requires to always authenticate as used by many companies. - defaultValue: 'false' - validRegex: /^(false|true)$/ - - id: $$cap_WOODPECKER_DEFAULT_CLONE_IMAGE - label: Repository Cloning Docker Image - description: The default docker image to be used when cloning the repo - defaultValue: woodpeckerci/plugin-git:latest - validRegex: /.{1,}/ - - id: $$cap_WOODPECKER_SESSION_EXPIRES - label: Session Expiration Time - description: Configures the session expiration time. - defaultValue: 72h - validRegex: /.{1,}/ - - id: $$cap_WOODPECKER_ESCALATE - label: Privileged Mode Images - description: Docker images to run in privileged mode. Only change if you are sure what you do! - defaultValue: plugins/docker,plugins/gcr,plugins/ecr,woodpeckerci/plugin-docker,woodpeckerci/plugin-docker-buildx - validRegex: /.{1,}/ - - id: $$cap_WOODPECKER_DOCKER_CONFIG - label: Private Registry Configuration - description: |- - Configures a specific private registry config for all pipelines. - Example: /home/user/.docker/config.json - - id: $$cap_WOODPECKER_AGENT_SECRET - label: Shared Secret Used By Server And Agents - description: A shared secret used by server and agents to authenticate communication. - defaultValue: $$cap_gen_random_hex(32) - validRegex: /.{1,}/ - - id: $$cap_WOODPECKER_KEEPALIVE_MIN_TIME - label: Time Before Sending A Keep-Alive Ping - description: |- - Server-side enforcement policy on the minimum amount of time a client should wait before sending a keep-alive ping. - Example: 10s - - id: $$cap_WOODPECKER_DATABASE_DRIVER - label: Database Driver - description: The database driver name. Possible values are sqlite3, mysql or postgres. - defaultValue: sqlite3 - validRegex: /.{1,}/ - - id: $$cap_WOODPECKER_DATABASE_DATASOURCE - label: Database Connection String - description: |- - The database connection string. The default value is the path of the embedded SQLite database file. - Example for MySQL: root:password@tcp(1.2.3.4:3306)/woodpecker?parseTime=true - Example for PostgreSQL: postgres://root:password@1.2.3.4:5432/woodpecker?sslmode=disable - defaultValue: woodpecker.sqlite - validRegex: /.{1,}/ - - id: $$cap_WOODPECKER_PROMETHEUS_AUTH_TOKEN - label: Prometheus Token - description: Token to secure the Prometheus metrics endpoint. - - id: $$cap_WOODPECKER_STATUS_CONTEXT - label: SCM Status Message Context Prefix - description: Context prefix Woodpecker will use to publish status messages to SCM. You probably will only need to change it if you run multiple Woodpecker instances for a single repository. - defaultValue: ci/woodpecker - validRegex: /.{1,}/ - - id: $$cap_WOODPECKER_LIMIT_MEM_SWAP - label: Maximum Memory Swap Per Pipeline Container - description: The maximum amount of memory a single pipeline container is allowed to swap to disk, configured in bytes. There is no limit if 0. - defaultValue: 0 - - id: $$cap_WOODPECKER_LIMIT_MEM_USED - label: Maximum Memory Used Per Pipeline Container - description: The maximum amount of memory a single pipeline container can use, configured in bytes. There is no limit if 0. - defaultValue: 0 - - id: $$cap_WOODPECKER_LIMIT_SHM_SIZE - label: Maximum Memory Used Of /dev/shm - description: The maximum amount of memory of /dev/shm allowed in bytes. There is no limit if 0. - defaultValue: 0 - - id: $$cap_WOODPECKER_LIMIT_CPU_QUOTA - label: CPU Quota Limit - description: The number of microseconds per CPU period that the container is limited to before throttled. There is no limit if 0. - defaultValue: 0 - - id: $$cap_WOODPECKER_LIMIT_CPU_SHARES - label: CPU Weight Against Other Containers - description: The relative weight vs. other containers. - defaultValue: 0 - - id: $$cap_WOODPECKER_LIMIT_CPU_SET - label: Limit CPU Usage - description: |- - Comma-separated list to limit the specific CPUs or cores a pipeline container can use. - Example: 1,2 - - id: $$cap_WOODPECKER_GITHUB_ENABLED - label: Enable GitHub - description: Enables the GitHub driver. - defaultValue: 'false' - validRegex: /^(false|true)$/ - - id: $$cap_WOODPECKER_GITHUB_URL - label: GitHub URL - description: Configures the GitHub server address. - defaultValue: https://github.com - validRegex: /.{1,}/ - - id: $$cap_WOODPECKER_GITHUB_CLIENT - label: GitHub Client - description: Configures the GitHub OAuth client id. This is used to authorize access. - - id: $$cap_WOODPECKER_GITHUB_SECRET - label: GitHub Secret - description: Configures the GitHub OAuth client secret. This is used to authorize access. - - id: $$cap_WOODPECKER_GITHUB_MERGE_REF - label: GitHub Merge Reference Usage - description: Use GitHub Merge References - defaultValue: 'true' - validRegex: /^(false|true)$/ - - id: $$cap_WOODPECKER_GITHUB_SKIP_VERIFY - label: Skip SSL Verification - description: Configure if SSL verification should be skipped. - defaultValue: 'false' - validRegex: /^(false|true)$/ - - id: $$cap_WOODPECKER_GOGS_ENABLED - label: Enable Gogs - description: Enables the Gogs driver. - defaultValue: 'false' - validRegex: /^(false|true)$/ - - id: $$cap_WOODPECKER_GOGS_URL - label: Gogs URL - description: Configures the Gogs server address. - defaultValue: https://github.com - validRegex: /.{1,}/ - - id: $$cap_WOODPECKER_GOGS_GIT_USERNAME - label: Gogs User Name. - description: This username is used to authenticate and clone all private repositories. - - id: $$cap_WOODPECKER_GOGS_GIT_PASSWORD - label: Gogs User Password. - description: The password is used to authenticate and clone all private repositories. - - id: $$cap_WOODPECKER_GOGS_PRIVATE_MODE - label: Enable Gogs Private Module - description: Enables the Gogs private mode. - defaultValue: 'false' - validRegex: /^(false|true)$/ - - id: $$cap_WOODPECKER_GOGS_SKIP_VERIFY - label: Skip SSL Verification - description: Configure if SSL verification should be skipped. - defaultValue: 'false' - validRegex: /^(false|true)$/ - - id: $$cap_WOODPECKER_GITEA_ENABLED - label: Enable Gitea - description: Enables the Gitea driver. - defaultValue: 'false' - validRegex: /^(false|true)$/ - - id: $$cap_WOODPECKER_GITEA_URL - label: Gitea URL - description: Configures the Gitea server address. - defaultValue: https://try.gitea.io - validRegex: /.{1,}/ - - id: $$cap_WOODPECKER_GITEA_CLIENT - label: Gitea Client - description: Configures the Gitea OAuth client id. This is used to authorize access. - - id: $$cap_WOODPECKER_GITEA_SECRET - label: Gitea Secret - description: Configures the Gitea OAuth client secret. This is used to authorize access. - - id: $$cap_WOODPECKER_GITEA_SKIP_VERIFY - label: Skip SSL Verification - description: Configure if SSL verification should be skipped. - defaultValue: 'false' - validRegex: /^(false|true)$/ - - id: $$cap_WOODPECKER_BITBUCKET_ENABLED - label: Enable Bitbucket - description: Enables the Bitbucket driver. - defaultValue: 'false' - validRegex: /^(false|true)$/ - - id: $$cap_WOODPECKER_BITBUCKET_CLIENT - label: Bitbucket Client - description: Configures the Bitbucket OAuth client id. This is used to authorize access. - - id: $$cap_WOODPECKER_BITBUCKET_SECRET - label: Bitbucket Secret - description: Configures the Bitbucket OAuth client secret. This is used to authorize access. - - id: $$cap_WOODPECKER_STASH_ENABLED - label: Enable Stash - description: Enables the Stash driver. - defaultValue: 'false' - validRegex: /^(false|true)$/ - - id: $$cap_WOODPECKER_STASH_URL - label: Stash URL - description: Configures the Stash server address. - - id: $$cap_WOODPECKER_STASH_CONSUMER_KEY - label: Stash Consumer Key - description: Configures your Bitbucket Server consumer key. - - id: $$cap_WOODPECKER_STASH_CONSUMER_RSA_PATH - label: Stash Consumer Private Key Path - description: Configures the path to your Bitbucket Server private key file. - - id: $$cap_WOODPECKER_STASH_CONSUMER_RSA_STRING - label: Stash Consumer Private Key - description: Configures your Bitbucket Server private key. - - id: $$cap_WOODPECKER_STASH_GIT_USERNAME - label: Stash Git User Name - description: This username is used to authenticate and clone all private repositories. - - id: $$cap_WOODPECKER_STASH_GIT_PASSWORD - label: Stash Git User Password - description: The password is used to authenticate and clone all private repositories. - - id: $$cap_WOODPECKER_STASH_SKIP_VERIFY - label: Skip SSL Verification - description: Configure if SSL verification should be skipped. - defaultValue: 'false' - validRegex: /^(false|true)$/ - - id: $$cap_WOODPECKER_GITLAB_ENABLED - label: Enable GitLab - description: Enables the GitLab driver. - defaultValue: 'false' - validRegex: /^(false|true)$/ - - id: $$cap_WOODPECKER_GITLAB_URL - label: GitLab URL - description: Configures the GitLab server address. - defaultValue: https://gitlab.com - validRegex: /.{1,}/ - - id: $$cap_WOODPECKER_GITLAB_CLIENT - label: GitLab Client - description: Configures the GitLab OAuth client id. This is used to authorize access. - - id: $$cap_WOODPECKER_GITLAB_SECRET - label: GitLab Secret - description: Configures the GitLab OAuth client secret. This is used to authorize access. - - id: $$cap_WOODPECKER_GITLAB_SKIP_VERIFY - label: Skip SSL Verification - description: Configure if SSL verification should be skipped. - defaultValue: 'false' - validRegex: /^(false|true)$/ - - id: $$cap_WOODPECKER_CODING_ENABLED - label: Enable Coding - description: Enables the Coding driver. - defaultValue: 'false' - validRegex: /^(false|true)$/ - - id: $$cap_WOODPECKER_CODING_URL - label: Coding URL - description: Configures the Coding server address. - defaultValue: https://coding.net - validRegex: /.{1,}/ - - id: $$cap_WOODPECKER_CODING_CLIENT - label: Coding Client - description: Configures the Coding OAuth client id. This is used to authorize access. - - id: $$cap_WOODPECKER_CODING_SECRET - label: Coding Secret - description: Configures the Coding OAuth client secret. This is used to authorize access. - - id: $$cap_WOODPECKER_CODING_SCOPE - label: Coding Scope - description: Comma-separated list of OAuth scopes. - defaultValue: user, project, project:depot - validRegex: /.{1,}/ - - id: $$cap_WOODPECKER_CODING_GIT_MACHINE - label: Coding Git Host - description: Configures the Git host. - defaultValue: git.coding.net - validRegex: /.{1,}/ - - id: $$cap_WOODPECKER_CODING_GIT_USERNAME - label: Coding Git User Name - description: This username is used to authenticate and clone all private repositories. - - id: $$cap_WOODPECKER_CODING_GIT_PASSWORD - label: Coding Git User Password - description: The password is used to authenticate and clone all private repositories. - - id: $$cap_WOODPECKER_CODING_SKIP_VERIFY - label: Skip SSL Verification - description: Configure if SSL verification should be skipped. - defaultValue: 'false' - validRegex: /^(false|true)$/ - - id: $$cap_WOODPECKER_USERNAME - label: gRPC User Name - description: The gRPC username. - defaultValue: x-oauth-basic - validRegex: /.{1,}/ - - id: $$cap_WOODPECKER_AGENT_HOSTNAME - label: Agent Hostname - description: Configures the agent hostname. - - id: $$cap_WOODPECKER_MAX_PROCS - label: Parallel Builds - description: Configures the number of parallel builds. - defaultValue: 1 - - id: $$cap_WOODPECKER_HEALTHCHECK - label: Health Check - description: Enable healthcheck endpoint. - defaultValue: 'true' - validRegex: /^(false|true)$/ - - id: $$cap_WOODPECKER_KEEPALIVE_TIME_SETTING - label: Keep-Alive Time - description: After a duration of this time of no activity, the agent pings the server to check if the transport is still alive. - - id: $$cap_WOODPECKER_KEEPALIVE_TIMEOUT - label: Keep-Alive Timeout - description: After pinging for a keepalive check, the agent waits for a duration of this time before closing the connection if no activity. - defaultValue: 20s - validRegex: /.{1,}/ - - id: $$cap_WOODPECKER_GRPC_SECURE - label: Secure gRPC Connection - description: Configures if the connection to WOODPECKER_SERVER should be made using a secure transport. - defaultValue: 'false' - validRegex: /^(false|true)$/ - - id: $$cap_WOODPECKER_GRPC_VERIFY - label: Verify gRPC Server Certificate - description: Configures if the gRPC server certificate should be verified, only valid when WOODPECKER_GRPC_SECURE is true. - defaultValue: 'true' - validRegex: /^(false|true)$/ - - id: $$cap_WOODPECKER_BACKEND - label: Backend Engine - description: Configures the backend engine to run pipelines on. Possible values are auto-detect or docker. - defaultValue: docker - validRegex: /^(auto-detect|docker)$/ diff --git a/public/v4/apps/wordpress-only.yml b/public/v4/apps/wordpress-only.yml deleted file mode 100644 index eea1363be..000000000 --- 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 6104ed475..000000000 --- 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: '6.0.1' - 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: '8.0.29' - 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/apps/yagpdb.yml b/public/v4/apps/yagpdb.yml deleted file mode 100644 index d680ecfa7..000000000 --- a/public/v4/apps/yagpdb.yml +++ /dev/null @@ -1,89 +0,0 @@ -captainVersion: 4 - -services: - # YAGPDB - $$cap_appname: - depends_on: - - $$cap_appname-redis - - $$cap_appname-postgres - environment: - YAGPDB_OWNER: $$cap_yagpdb_bot_owner - YAGPDB_CLIENTID: $$cap_yagpdb_bot_client_id - YAGPDB_CLIENTSECRET: $$cap_yagpdb_bot_client_secret - YAGPDB_BOTTOKEN: Bot $$cap_yagpdb_bot_token - YAGPDB_HOST: $$cap_appname.$$cap_root_domain - YAGPDB_PQHOST: srv-captain--$$cap_appname-postgres - YAGPDB_PQUSERNAME: yagpdb - YAGPDB_PQDB: yagpdb_production - YAGPDB_PQPASSWORD: $$cap_postgres_password - YAGPDB_REDIS: srv-captain--$$cap_appname-redis:6379 - volumes: - - $$cap_appname-soundboard:/app/soundboard - caproverExtra: - dockerfileLines: - - FROM teyker/yagpdb:$$cap_yagpdb_version - - CMD ["/app/yagpdb", "-all", "-pa", "-exthttps=true", "-https=false"] - # Redis - $$cap_appname-redis: - image: redis:6.2.5-alpine - volumes: - - $$cap_appname-redis-data:/data - caproverExtra: - notExposeAsWebApp: 'true' - - # PostgreSQL - $$cap_appname-postgres: - image: postgres:12-alpine - environment: - POSTGRES_USER: yagpdb - POSTGRES_DB: yagpdb_production - POSTGRES_PASSWORD: $$cap_postgres_password - volumes: - - $$cap_appname-db-data:/var/lib/postgresql/data - caproverExtra: - notExposeAsWebApp: 'true' - -caproverOneClickApp: - variables: - - id: $$cap_yagpdb_version - label: Yagpdb Version - defaultValue: 'v1.28.0' - description: Checkout their docker page for the valid tags https://hub.docker.com/r/teyker/yagpdb/tags - - - 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_yagpdb_bot_owner - defaultValue: Insert your server owner id here - label: Discord server owner ID - description: https://support.discordapp.com/hc/en-us/articles/206346498-Where-can-I-find-my-User-Server-Message-ID- - - - id: $$cap_yagpdb_bot_client_id - defaultValue: Insert bot OAuth2 client id here - label: Discord bot OAuth2 client ID - description: https://github.com/reactiflux/discord-irc/wiki/Creating-a-discord-bot-&-getting-a-token - - - id: $$cap_yagpdb_bot_client_secret - defaultValue: Insert bot OAuth2 client secret here - label: Discord bot OAuth2 client secret - description: https://github.com/reactiflux/discord-irc/wiki/Creating-a-discord-bot-&-getting-a-token - - - id: $$cap_yagpdb_bot_token - defaultValue: Insert bot token here - label: Discord bot token - description: https://github.com/reactiflux/discord-irc/wiki/Creating-a-discord-bot-&-getting-a-token - instructions: - start: >- - Yet another general purpose discord bot. - - This is the best opensource discord bot ever made! - end: >- - Aaaand you're done! πŸ˜„ - Your service is available at http://$$cap_appname.$$cap_root_domain - displayName: Yagpdb - isOfficial: false - description: Yet another general purpose discord bot - documentation: Taken from https://yagpdb.xyz/ diff --git a/public/v4/apps/zammad.yml b/public/v4/apps/zammad.yml deleted file mode 100644 index 8517c846c..000000000 --- a/public/v4/apps/zammad.yml +++ /dev/null @@ -1,229 +0,0 @@ -captainVersion: 4 -caproverOneClickApp: - instructions: - start: |- - Zammad is a web-based, open source user support/ticketing solution. For Zammad and a database server like PostgreSQL we recommend at least: - - - 2 CPU cores - - 4 GB of RAM (+4 GB if you want to run Elasticsearch on the same server) - - For optimal performance up to 40 agents: - - 4 CPU cores - - 6 GB of RAM (+6 GB if you want to run Elasticsearch on the same server) - - end: > - Zammad is deployed and available. - IMPORTANT: It will take up to 5 minutes for Zammad to be ready. Before that, you might see a 502 error page. - displayName: Zammad - isOfficial: true - description: Zammad is a web-based, open source user support/ticketing solution. - documentation: Taken from https://hub.docker.com/r/zammad/zammad-docker-compose. - variables: - - id: $$cap_zammad_VERSION - label: Zammad Version - defaultValue: '5.1.0-48' - description: Check out their docker page for the valid tags https://hub.docker.com/r/zammad/zammad-docker-compose/tags - validRegex: /^([^\s^\/])+$/ - - - id: $$cap_zammad_ELASTICSEARCH_ENABLED - label: ELASTICSEARCH_ENABLED - defaultValue: 'true' - description: Setting this variable to false will allow you to run your Zammad without Elasticsearch. Please note that we strongly advise against doing so. - validRegex: /^(true|false)$/ - - - id: $$cap_zammad_POSTGRESQL_USER - label: POSTGRESQL_USER - defaultValue: postgresuser - validRegex: /^([a-zA-Z0-9\-\.\_])+$/ - - - id: $$cap_zammad_POSTGRESQL_PASS - label: POSTGRESQL_PASS - defaultValue: $$cap_gen_random_hex(10) - description: 'The password of Zammads database user.' - validRegex: /.{1,}/ - - - id: $$cap_zammad_POSTGRESQL_DB - label: POSTGRESQL_DB - defaultValue: zammad_production - validRegex: /^([a-zA-Z0-9\-\.\_])+$/ - - - id: $$cap_zammad_POSTGRESQL_CREATEDB - label: POSTGRESQL_DB_CREATE - defaultValue: 'true' - description: By default we will create the required database. - validRegex: /^(true|false)$/ - - - id: $$cap_zammad_RAILS_TRUSTED_PROXIES - label: RAILS_TRUSTED_PROXIES - description: By default Zammad trusts localhost proxies only. ⚠ Only change this option if you know what you’re doing! ⚠ - defaultValue: "['127.0.0.1', '::1']" - -services: - $$cap_appname-backup: - restart: always - depends_on: - - $$cap_appname-railsserver - environment: - BACKUP_SLEEP: 86400 - HOLD_DAYS: 10 - POSTGRESQL_HOST: srv-captain--$$cap_appname-postgresql - POSTGRESQL_PORT: 5432 - POSTGRESQL_USER: $$cap_zammad_POSTGRESQL_USER - POSTGRESQL_PASSWORD: $$cap_zammad_POSTGRESQL_PASS - POSTGRESQL_DB: $$cap_zammad_POSTGRESQL_DB - ZAMMAD_RAILSSERVER_HOST: srv-captain--$$cap_appname-railsserver - ZAMMAD_RAILSSERVER_PORT: 3000 - volumes: - - $$cap_appname-backup:/var/tmp/zammad - - $$cap_appname-data:/opt/zammad - caproverExtra: - notExposeAsWebApp: true - dockerfileLines: - - FROM zammad/zammad-docker-compose:zammad-postgresql-$$cap_zammad_VERSION - - ENTRYPOINT [] - - CMD /usr/local/bin/backup.sh zammad-backup - - $$cap_appname-elasticsearch: - restart: always - image: zammad/zammad-docker-compose:zammad-elasticsearch-$$cap_zammad_VERSION - environment: - discovery.type: single-node - volumes: - - $$cap_appname-elasticsearch-data:/usr/share/elasticsearch/data - caproverExtra: - notExposeAsWebApp: true - - $$cap_appname-init: - restart: on-failure - depends_on: - - $$cap_appname-postgresql - environment: - AUTOWIZARD_JSON: '' - ELASTICSEARCH_ENABLED: $$cap_zammad_ELASTICSEARCH_ENABLED - ELASTICSEARCH_HOST: srv-captain--$$cap_appname-elasticsearch - ELASTICSEARCH_PORT: 9200 - ELASTICSEARCH_SCHEMA: http - ELASTICSEARCH_NAMESPACE: zammad - ELASTICSEARCH_REINDEX: true - ELASTICSEARCH_SSL_VERIFY: true - MEMCACHED_HOST: srv-captain--$$cap_appname-memcached - MEMCACHED_PORT: 11211 - NGINX_PORT: 8080 - NGINX_SERVER_NAME: _ - NGINX_SERVER_SCHEME: \$scheme - POSTGRESQL_HOST: srv-captain--$$cap_appname-postgresql - POSTGRESQL_PORT: 5432 - POSTGRESQL_USER: $$cap_zammad_POSTGRESQL_USER - POSTGRESQL_PASS: $$cap_zammad_POSTGRESQL_PASS - POSTGRESQL_DB: $$cap_zammad_POSTGRESQL_DB - POSTGRESQL_DB_CREATE: $$cap_zammad_POSTGRESQL_CREATEDB - RAILS_TRUSTED_PROXIES: $$cap_zammad_RAILS_TRUSTED_PROXIES - RSYNC_ADDITIONAL_PARAMS: --no-perms --no-owner - ZAMMAD_RAILSSERVER_HOST: srv-captain--$$cap_appname-railsserver - ZAMMAD_RAILSSERVER_PORT: 3000 - ZAMMAD_WEBSOCKET_HOST: srv-captain--$$cap_appname-websocket - ZAMMAD_WEBSOCKET_PORT: 6042 - volumes: - - $$cap_appname-data:/opt/zammad - caproverExtra: - notExposeAsWebApp: true - dockerfileLines: - - FROM zammad/zammad-docker-compose:zammad-$$cap_zammad_VERSION - - ENTRYPOINT [] - - CMD /docker-entrypoint.sh zammad-init && tail -f /dev/null - - $$cap_appname-memcached: - restart: always - caproverExtra: - notExposeAsWebApp: true - dockerfileLines: - - FROM memcached:1.6.10-alpine - - CMD memcached -m 256M - - $$cap_appname-nginx: - ports: - - '8080:8080' - depends_on: - - $$cap_appname-railsserver - environment: - ZAMMAD_RAILSSERVER_HOST: srv-captain--$$cap_appname-railsserver - ZAMMAD_RAILSSERVER_PORT: 3000 - ZAMMAD_WEBSOCKET_HOST: srv-captain--$$cap_appname-websocket - ZAMMAD_WEBSOCKET_PORT: 6042 - restart: always - volumes: - - $$cap_appname-data:/opt/zammad - caproverExtra: - notExposeAsWebApp: false - containerHttpPort: 8080 - dockerfileLines: - - FROM zammad/zammad-docker-compose:zammad-$$cap_zammad_VERSION - - ENTRYPOINT [] - - CMD /docker-entrypoint.sh zammad-nginx - - $$cap_appname-postgresql: - environment: - POSTGRES_PORT: 5432 - POSTGRES_USER: $$cap_zammad_POSTGRESQL_USER - POSTGRES_PASSWORD: $$cap_zammad_POSTGRESQL_PASS - image: zammad/zammad-docker-compose:zammad-postgresql-$$cap_zammad_VERSION - restart: always - volumes: - - $$cap_appname-postgresql-data:/var/lib/postgresql/data - caproverExtra: - notExposeAsWebApp: true - - $$cap_appname-railsserver: - depends_on: - - $$cap_appname-memcached - - $$cap_appname-postgresql - environment: - ZAMMAD_RAILSSERVER_PORT: 3000 - restart: always - volumes: - - $$cap_appname-data:/opt/zammad - caproverExtra: - notExposeAsWebApp: true - dockerfileLines: - - FROM zammad/zammad-docker-compose:zammad-$$cap_zammad_VERSION - - ENTRYPOINT [] - - CMD /docker-entrypoint.sh zammad-railsserver - - $$cap_appname-scheduler: - depends_on: - - $$cap_appname-memcached - - $$cap_appname-railsserver - restart: always - volumes: - - $$cap_appname-data:/opt/zammad - caproverExtra: - notExposeAsWebApp: true - dockerfileLines: - - FROM zammad/zammad-docker-compose:zammad-$$cap_zammad_VERSION - - ENTRYPOINT [] - - CMD /docker-entrypoint.sh zammad-scheduler - - $$cap_appname-websocket: - depends_on: - - $$cap_appname-memcached - - $$cap_appname-railsserver - environment: - ZAMMAD_WEBSOCKET_PORT: 6042 - restart: always - volumes: - - $$cap_appname-data:/opt/zammad - caproverExtra: - notExposeAsWebApp: false - dockerfileLines: - - FROM zammad/zammad-docker-compose:zammad-$$cap_zammad_VERSION - - ENTRYPOINT [] - - CMD /docker-entrypoint.sh zammad-websocket - -volumes: - $$cap_appname-elasticsearch-data: - driver: local - $$cap_appname-postgresql-data: - driver: local - $$cap_appname-backup: - driver: local - $$cap_appname-data: - driver: local diff --git a/public/v4/logos/ackee.png b/public/v4/logos/ackee.png deleted file mode 100644 index 91716f40d..000000000 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 ebf23fe83..000000000 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 6517bcc33..000000000 Binary files a/public/v4/logos/adminer.png and /dev/null differ diff --git a/public/v4/logos/airflow.png b/public/v4/logos/airflow.png deleted file mode 100644 index 61ecff7c3..000000000 Binary files a/public/v4/logos/airflow.png and /dev/null differ diff --git a/public/v4/logos/akaunting.png b/public/v4/logos/akaunting.png deleted file mode 100644 index 2dc093e4c..000000000 Binary files a/public/v4/logos/akaunting.png and /dev/null differ diff --git a/public/v4/logos/apprise.png b/public/v4/logos/apprise.png deleted file mode 100644 index aa6824bed..000000000 Binary files a/public/v4/logos/apprise.png and /dev/null differ diff --git a/public/v4/logos/appsmith.png b/public/v4/logos/appsmith.png deleted file mode 100644 index 314ad9053..000000000 Binary files a/public/v4/logos/appsmith.png and /dev/null differ diff --git a/public/v4/logos/appwrite.png b/public/v4/logos/appwrite.png deleted file mode 100644 index 2aaa3e1ab..000000000 Binary files a/public/v4/logos/appwrite.png and /dev/null differ diff --git a/public/v4/logos/arangodb.png b/public/v4/logos/arangodb.png deleted file mode 100644 index a5dc7f66b..000000000 Binary files a/public/v4/logos/arangodb.png and /dev/null differ diff --git a/public/v4/logos/archivebox.png b/public/v4/logos/archivebox.png deleted file mode 100644 index 6ca511d20..000000000 Binary files a/public/v4/logos/archivebox.png and /dev/null differ diff --git a/public/v4/logos/audiobookshelf.png b/public/v4/logos/audiobookshelf.png deleted file mode 100644 index c9397c020..000000000 Binary files a/public/v4/logos/audiobookshelf.png and /dev/null differ diff --git a/public/v4/logos/baikal.png b/public/v4/logos/baikal.png deleted file mode 100644 index 1a623ea3e..000000000 Binary files a/public/v4/logos/baikal.png and /dev/null differ diff --git a/public/v4/logos/bazarr.png b/public/v4/logos/bazarr.png deleted file mode 100644 index d57161e9e..000000000 Binary files a/public/v4/logos/bazarr.png and /dev/null differ diff --git a/public/v4/logos/bitwardenrs.png b/public/v4/logos/bitwardenrs.png deleted file mode 100644 index bf9f59adb..000000000 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 fdc0a046b..000000000 Binary files a/public/v4/logos/bookstack.png and /dev/null differ diff --git a/public/v4/logos/botpress.png b/public/v4/logos/botpress.png deleted file mode 100644 index a24a1a274..000000000 Binary files a/public/v4/logos/botpress.png and /dev/null differ diff --git a/public/v4/logos/browserless.png b/public/v4/logos/browserless.png deleted file mode 100644 index b8e10dfef..000000000 Binary files a/public/v4/logos/browserless.png and /dev/null differ diff --git a/public/v4/logos/btcpayserver.png b/public/v4/logos/btcpayserver.png deleted file mode 100644 index ef56fe2fa..000000000 Binary files a/public/v4/logos/btcpayserver.png and /dev/null differ diff --git a/public/v4/logos/budibase.png b/public/v4/logos/budibase.png deleted file mode 100644 index ba3945443..000000000 Binary files a/public/v4/logos/budibase.png and /dev/null differ diff --git a/public/v4/logos/cachet.png b/public/v4/logos/cachet.png deleted file mode 100644 index dd722a8a2..000000000 Binary files a/public/v4/logos/cachet.png and /dev/null differ diff --git a/public/v4/logos/calibre.png b/public/v4/logos/calibre.png deleted file mode 100644 index d3b106cce..000000000 Binary files a/public/v4/logos/calibre.png and /dev/null differ diff --git a/public/v4/logos/call-only.png b/public/v4/logos/call-only.png deleted file mode 100644 index f8f9a4852..000000000 Binary files a/public/v4/logos/call-only.png and /dev/null differ diff --git a/public/v4/logos/chadburn.png b/public/v4/logos/chadburn.png deleted file mode 100644 index 384b4601d..000000000 Binary files a/public/v4/logos/chadburn.png and /dev/null differ diff --git a/public/v4/logos/changedetection.png b/public/v4/logos/changedetection.png deleted file mode 100644 index d4d4c3d10..000000000 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 4bfd02867..000000000 Binary files a/public/v4/logos/chaskiq.png and /dev/null differ diff --git a/public/v4/logos/chatwoot-botpress-bridge.png b/public/v4/logos/chatwoot-botpress-bridge.png deleted file mode 100644 index a60a1a996..000000000 Binary files a/public/v4/logos/chatwoot-botpress-bridge.png and /dev/null differ diff --git a/public/v4/logos/chatwoot.png b/public/v4/logos/chatwoot.png deleted file mode 100644 index 9b31f9416..000000000 Binary files a/public/v4/logos/chatwoot.png and /dev/null differ diff --git a/public/v4/logos/checkmk.png b/public/v4/logos/checkmk.png deleted file mode 100644 index da448d628..000000000 Binary files a/public/v4/logos/checkmk.png and /dev/null differ diff --git a/public/v4/logos/chevereto.png b/public/v4/logos/chevereto.png deleted file mode 100644 index ee751de65..000000000 Binary files a/public/v4/logos/chevereto.png and /dev/null differ diff --git a/public/v4/logos/cloudflareddns.png b/public/v4/logos/cloudflareddns.png deleted file mode 100644 index 0745adcfd..000000000 Binary files a/public/v4/logos/cloudflareddns.png and /dev/null differ diff --git a/public/v4/logos/cockpit.png b/public/v4/logos/cockpit.png deleted file mode 100644 index 0fc925fd3..000000000 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 1653f1098..000000000 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 7c038222f..000000000 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 3f1757cf9..000000000 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 8d97275f3..000000000 Binary files a/public/v4/logos/coral.png and /dev/null differ diff --git a/public/v4/logos/corteza.png b/public/v4/logos/corteza.png deleted file mode 100644 index 3a08296e1..000000000 Binary files a/public/v4/logos/corteza.png and /dev/null differ diff --git a/public/v4/logos/couchbase.png b/public/v4/logos/couchbase.png deleted file mode 100644 index 325cfa3df..000000000 Binary files a/public/v4/logos/couchbase.png and /dev/null differ diff --git a/public/v4/logos/couchdb-clouseau.png b/public/v4/logos/couchdb-clouseau.png deleted file mode 100644 index d4d7e66d8..000000000 Binary files a/public/v4/logos/couchdb-clouseau.png and /dev/null differ diff --git a/public/v4/logos/couchdb.png b/public/v4/logos/couchdb.png deleted file mode 100644 index d4d7e66d8..000000000 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 5bf039d41..000000000 Binary files a/public/v4/logos/countly.png and /dev/null differ diff --git a/public/v4/logos/crater.png b/public/v4/logos/crater.png deleted file mode 100644 index 0413bcabc..000000000 Binary files a/public/v4/logos/crater.png and /dev/null differ diff --git a/public/v4/logos/cronicle.png b/public/v4/logos/cronicle.png deleted file mode 100644 index 34a8769ab..000000000 Binary files a/public/v4/logos/cronicle.png and /dev/null differ diff --git a/public/v4/logos/davos.png b/public/v4/logos/davos.png deleted file mode 100644 index bf964f5e4..000000000 Binary files a/public/v4/logos/davos.png and /dev/null differ diff --git a/public/v4/logos/directus-mysql-redis.png b/public/v4/logos/directus-mysql-redis.png deleted file mode 100644 index 8feaa5a14..000000000 Binary files a/public/v4/logos/directus-mysql-redis.png and /dev/null differ diff --git a/public/v4/logos/directus.png b/public/v4/logos/directus.png deleted file mode 100644 index c973d17f9..000000000 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 90b9b30dc..000000000 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 b31978095..000000000 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 8edd0660e..000000000 Binary files a/public/v4/logos/dolibarr.png and /dev/null differ diff --git a/public/v4/logos/dozzle.png b/public/v4/logos/dozzle.png deleted file mode 100644 index 0a7ec9d63..000000000 Binary files a/public/v4/logos/dozzle.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 cc84d7e72..000000000 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 143fb65c7..000000000 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 fa5ef33f4..000000000 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 7b0dd43c2..000000000 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 c8744eba7..000000000 Binary files a/public/v4/logos/elasticsearch.png and /dev/null differ diff --git a/public/v4/logos/elkarbackup.png b/public/v4/logos/elkarbackup.png deleted file mode 100644 index bb3e81b91..000000000 Binary files a/public/v4/logos/elkarbackup.png and /dev/null differ diff --git a/public/v4/logos/emailengine.png b/public/v4/logos/emailengine.png deleted file mode 100644 index 5e073b10d..000000000 Binary files a/public/v4/logos/emailengine.png and /dev/null differ diff --git a/public/v4/logos/etesync.png b/public/v4/logos/etesync.png deleted file mode 100644 index fc9d8d8ed..000000000 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 e66944d6b..000000000 Binary files a/public/v4/logos/etherpad.png and /dev/null differ diff --git a/public/v4/logos/excalidraw.png b/public/v4/logos/excalidraw.png deleted file mode 100644 index 9aa9b103b..000000000 Binary files a/public/v4/logos/excalidraw.png and /dev/null differ diff --git a/public/v4/logos/fider.png b/public/v4/logos/fider.png deleted file mode 100644 index 6e34acafe..000000000 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 e7aa63dcf..000000000 Binary files a/public/v4/logos/filebrowser.png and /dev/null differ diff --git a/public/v4/logos/filerun.png b/public/v4/logos/filerun.png deleted file mode 100644 index 266c4657f..000000000 Binary files a/public/v4/logos/filerun.png and /dev/null differ diff --git a/public/v4/logos/filestash.png b/public/v4/logos/filestash.png deleted file mode 100644 index 5db95f266..000000000 Binary files a/public/v4/logos/filestash.png and /dev/null differ diff --git a/public/v4/logos/filezilla.png b/public/v4/logos/filezilla.png deleted file mode 100644 index a613cfd87..000000000 Binary files a/public/v4/logos/filezilla.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 8611300e1..000000000 Binary files a/public/v4/logos/firefly-iii.png and /dev/null differ diff --git a/public/v4/logos/fireflyiii-data-importer.png b/public/v4/logos/fireflyiii-data-importer.png deleted file mode 100644 index af3334c9c..000000000 Binary files a/public/v4/logos/fireflyiii-data-importer.png and /dev/null differ diff --git a/public/v4/logos/firefox.png b/public/v4/logos/firefox.png deleted file mode 100644 index 691350a8a..000000000 Binary files a/public/v4/logos/firefox.png and /dev/null differ diff --git a/public/v4/logos/flagsmith.png b/public/v4/logos/flagsmith.png deleted file mode 100644 index 1418875f6..000000000 Binary files a/public/v4/logos/flagsmith.png and /dev/null differ diff --git a/public/v4/logos/focalboard.png b/public/v4/logos/focalboard.png deleted file mode 100644 index b705f66f3..000000000 Binary files a/public/v4/logos/focalboard.png and /dev/null differ diff --git a/public/v4/logos/forge_minecraft.png b/public/v4/logos/forge_minecraft.png deleted file mode 100644 index 1a5b4065b..000000000 Binary files a/public/v4/logos/forge_minecraft.png and /dev/null differ diff --git a/public/v4/logos/formance-ledger.png b/public/v4/logos/formance-ledger.png deleted file mode 100644 index e862d787b..000000000 Binary files a/public/v4/logos/formance-ledger.png and /dev/null differ diff --git a/public/v4/logos/formio.png b/public/v4/logos/formio.png deleted file mode 100644 index 69eac7844..000000000 Binary files a/public/v4/logos/formio.png and /dev/null differ diff --git a/public/v4/logos/foundryvtt.png b/public/v4/logos/foundryvtt.png deleted file mode 100644 index 814a099fa..000000000 Binary files a/public/v4/logos/foundryvtt.png and /dev/null differ diff --git a/public/v4/logos/freshrss.png b/public/v4/logos/freshrss.png deleted file mode 100644 index 0138762a7..000000000 Binary files a/public/v4/logos/freshrss.png and /dev/null differ diff --git a/public/v4/logos/fusionauth.png b/public/v4/logos/fusionauth.png deleted file mode 100644 index a578530ef..000000000 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 858a8bc98..000000000 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 858a8bc98..000000000 Binary files a/public/v4/logos/ghost.png and /dev/null differ diff --git a/public/v4/logos/ghostfolio.png b/public/v4/logos/ghostfolio.png deleted file mode 100644 index 3f3ce881e..000000000 Binary files a/public/v4/logos/ghostfolio.png and /dev/null differ diff --git a/public/v4/logos/gitea.png b/public/v4/logos/gitea.png deleted file mode 100644 index dd3e97c42..000000000 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 e8141ceb8..000000000 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 e8141ceb8..000000000 Binary files a/public/v4/logos/gitlab-runner.png and /dev/null differ diff --git a/public/v4/logos/glitchtip.png b/public/v4/logos/glitchtip.png deleted file mode 100644 index 17bb7614c..000000000 Binary files a/public/v4/logos/glitchtip.png and /dev/null differ diff --git a/public/v4/logos/gotenberg.png b/public/v4/logos/gotenberg.png deleted file mode 100644 index 5db2c6f85..000000000 Binary files a/public/v4/logos/gotenberg.png and /dev/null differ diff --git a/public/v4/logos/gotify.png b/public/v4/logos/gotify.png deleted file mode 100644 index 5d290046d..000000000 Binary files a/public/v4/logos/gotify.png and /dev/null differ diff --git a/public/v4/logos/grafana.png b/public/v4/logos/grafana.png deleted file mode 100644 index c8659494f..000000000 Binary files a/public/v4/logos/grafana.png and /dev/null differ diff --git a/public/v4/logos/greenlight.png b/public/v4/logos/greenlight.png deleted file mode 100644 index 3d2ec29b0..000000000 Binary files a/public/v4/logos/greenlight.png and /dev/null differ diff --git a/public/v4/logos/grocy.png b/public/v4/logos/grocy.png deleted file mode 100644 index bf453df35..000000000 Binary files a/public/v4/logos/grocy.png and /dev/null differ diff --git a/public/v4/logos/guacamole.png b/public/v4/logos/guacamole.png deleted file mode 100644 index 93fd2c1d2..000000000 Binary files a/public/v4/logos/guacamole.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 1ea76cd05..000000000 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 1ea76cd05..000000000 Binary files a/public/v4/logos/hasura.png and /dev/null differ diff --git a/public/v4/logos/healthchecks.png b/public/v4/logos/healthchecks.png deleted file mode 100644 index 0441eff4b..000000000 Binary files a/public/v4/logos/healthchecks.png and /dev/null differ diff --git a/public/v4/logos/hedgedoc.png b/public/v4/logos/hedgedoc.png deleted file mode 100644 index 97b6d5226..000000000 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 15fbf21c0..000000000 Binary files a/public/v4/logos/heimdall.png and /dev/null differ diff --git a/public/v4/logos/homarr.png b/public/v4/logos/homarr.png deleted file mode 100644 index cb0dc4489..000000000 Binary files a/public/v4/logos/homarr.png and /dev/null differ diff --git a/public/v4/logos/humhub.png b/public/v4/logos/humhub.png deleted file mode 100644 index b2fd98ff9..000000000 Binary files a/public/v4/logos/humhub.png and /dev/null differ diff --git a/public/v4/logos/imagor-local.png b/public/v4/logos/imagor-local.png deleted file mode 100644 index 8aae46624..000000000 Binary files a/public/v4/logos/imagor-local.png and /dev/null differ diff --git a/public/v4/logos/imagor-s3.png b/public/v4/logos/imagor-s3.png deleted file mode 100644 index 8aae46624..000000000 Binary files a/public/v4/logos/imagor-s3.png and /dev/null differ diff --git a/public/v4/logos/imgproxy.png b/public/v4/logos/imgproxy.png deleted file mode 100644 index 7fe185540..000000000 Binary files a/public/v4/logos/imgproxy.png and /dev/null differ diff --git a/public/v4/logos/immich.png b/public/v4/logos/immich.png deleted file mode 100644 index 60aaa5b24..000000000 Binary files a/public/v4/logos/immich.png and /dev/null differ diff --git a/public/v4/logos/influxdb.png b/public/v4/logos/influxdb.png deleted file mode 100644 index ca5eb5374..000000000 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 ca5eb5374..000000000 Binary files a/public/v4/logos/influxdb2.png and /dev/null differ diff --git a/public/v4/logos/invidious.png b/public/v4/logos/invidious.png deleted file mode 100644 index efd759483..000000000 Binary files a/public/v4/logos/invidious.png and /dev/null differ diff --git a/public/v4/logos/invoiceninja.png b/public/v4/logos/invoiceninja.png deleted file mode 100644 index 0c6635284..000000000 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 f5b352d08..000000000 Binary files a/public/v4/logos/invoiceplane.png and /dev/null differ diff --git a/public/v4/logos/iredmail.png b/public/v4/logos/iredmail.png deleted file mode 100644 index 5d350112c..000000000 Binary files a/public/v4/logos/iredmail.png and /dev/null differ diff --git a/public/v4/logos/jellyfin.png b/public/v4/logos/jellyfin.png deleted file mode 100644 index d450630ca..000000000 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 f1626daeb..000000000 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 e3a58bfe1..000000000 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 ed4d8ae75..000000000 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 6fce58ba1..000000000 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 c2bbc49bb..000000000 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 0f68d8137..000000000 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 53ef619bf..000000000 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 4f3436dfd..000000000 Binary files a/public/v4/logos/kanboard-sqlite.png and /dev/null differ diff --git a/public/v4/logos/keila.png b/public/v4/logos/keila.png deleted file mode 100644 index e216983b7..000000000 Binary files a/public/v4/logos/keila.png and /dev/null differ diff --git a/public/v4/logos/keycloak.png b/public/v4/logos/keycloak.png deleted file mode 100644 index 0af2ae53a..000000000 Binary files a/public/v4/logos/keycloak.png and /dev/null differ diff --git a/public/v4/logos/keydb.png b/public/v4/logos/keydb.png deleted file mode 100644 index c3b2720f2..000000000 Binary files a/public/v4/logos/keydb.png and /dev/null differ diff --git a/public/v4/logos/kibana.png b/public/v4/logos/kibana.png deleted file mode 100644 index bac1668d6..000000000 Binary files a/public/v4/logos/kibana.png and /dev/null differ diff --git a/public/v4/logos/kimai2.png b/public/v4/logos/kimai2.png deleted file mode 100644 index 9f32fa693..000000000 Binary files a/public/v4/logos/kimai2.png and /dev/null differ diff --git a/public/v4/logos/kutt.png b/public/v4/logos/kutt.png deleted file mode 100644 index a55987404..000000000 Binary files a/public/v4/logos/kutt.png and /dev/null differ diff --git a/public/v4/logos/lago.png b/public/v4/logos/lago.png deleted file mode 100644 index c9e3ccc37..000000000 Binary files a/public/v4/logos/lago.png and /dev/null differ diff --git a/public/v4/logos/leantime.png b/public/v4/logos/leantime.png deleted file mode 100644 index 9824ad29b..000000000 Binary files a/public/v4/logos/leantime.png and /dev/null differ diff --git a/public/v4/logos/libreddit.png b/public/v4/logos/libreddit.png deleted file mode 100644 index 8c0d3ebf0..000000000 Binary files a/public/v4/logos/libreddit.png and /dev/null differ diff --git a/public/v4/logos/limesurvey.png b/public/v4/logos/limesurvey.png deleted file mode 100644 index e62be6e6c..000000000 Binary files a/public/v4/logos/limesurvey.png and /dev/null differ diff --git a/public/v4/logos/listmonk.png b/public/v4/logos/listmonk.png deleted file mode 100644 index 0ca8f02b9..000000000 Binary files a/public/v4/logos/listmonk.png and /dev/null differ diff --git a/public/v4/logos/litestream.png b/public/v4/logos/litestream.png deleted file mode 100644 index a83527ea6..000000000 Binary files a/public/v4/logos/litestream.png and /dev/null differ diff --git a/public/v4/logos/logzio-collector.png b/public/v4/logos/logzio-collector.png deleted file mode 100644 index 5e38dcdd5..000000000 Binary files a/public/v4/logos/logzio-collector.png and /dev/null differ diff --git a/public/v4/logos/lychee.png b/public/v4/logos/lychee.png deleted file mode 100644 index 560c59b21..000000000 Binary files a/public/v4/logos/lychee.png and /dev/null differ diff --git a/public/v4/logos/maildev.png b/public/v4/logos/maildev.png deleted file mode 100644 index 4e9b0ce4f..000000000 Binary files a/public/v4/logos/maildev.png and /dev/null differ diff --git a/public/v4/logos/mailtrain.png b/public/v4/logos/mailtrain.png deleted file mode 100644 index ede02ff82..000000000 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 fb112daed..000000000 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 6c2dd3ecf..000000000 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 ade1ace64..000000000 Binary files a/public/v4/logos/matomo.png and /dev/null differ diff --git a/public/v4/logos/matrix-conduit.png b/public/v4/logos/matrix-conduit.png deleted file mode 100644 index 22ff001ce..000000000 Binary files a/public/v4/logos/matrix-conduit.png and /dev/null differ diff --git a/public/v4/logos/matrix-synapse.png b/public/v4/logos/matrix-synapse.png deleted file mode 100644 index fe0c1a9f2..000000000 Binary files a/public/v4/logos/matrix-synapse.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 ad3e1ac8c..000000000 Binary files a/public/v4/logos/mattermost-ee.png and /dev/null differ diff --git a/public/v4/logos/mautic-only.png b/public/v4/logos/mautic-only.png deleted file mode 100644 index 6c5d8bbc4..000000000 Binary files a/public/v4/logos/mautic-only.png and /dev/null differ diff --git a/public/v4/logos/mautic.png b/public/v4/logos/mautic.png deleted file mode 100644 index 6c5d8bbc4..000000000 Binary files a/public/v4/logos/mautic.png and /dev/null differ diff --git a/public/v4/logos/mayan-edms.png b/public/v4/logos/mayan-edms.png deleted file mode 100644 index 097a68bc7..000000000 Binary files a/public/v4/logos/mayan-edms.png and /dev/null differ diff --git a/public/v4/logos/meilisearch.png b/public/v4/logos/meilisearch.png deleted file mode 100644 index ff558ea30..000000000 Binary files a/public/v4/logos/meilisearch.png and /dev/null differ diff --git a/public/v4/logos/memos.png b/public/v4/logos/memos.png deleted file mode 100644 index b6179f9f4..000000000 Binary files a/public/v4/logos/memos.png and /dev/null differ diff --git a/public/v4/logos/mercure.png b/public/v4/logos/mercure.png deleted file mode 100644 index abe76deaa..000000000 Binary files a/public/v4/logos/mercure.png and /dev/null differ diff --git a/public/v4/logos/metabase.png b/public/v4/logos/metabase.png deleted file mode 100644 index b44467ba0..000000000 Binary files a/public/v4/logos/metabase.png and /dev/null differ diff --git a/public/v4/logos/minecraft-bedrock.png b/public/v4/logos/minecraft-bedrock.png deleted file mode 100644 index 20a2d9f5d..000000000 Binary files a/public/v4/logos/minecraft-bedrock.png and /dev/null differ diff --git a/public/v4/logos/miniflux.png b/public/v4/logos/miniflux.png deleted file mode 100644 index aa6be06c4..000000000 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 74550688f..000000000 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 f5e112334..000000000 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 19b5e9e67..000000000 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 456d15bf3..000000000 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 36d23cfea..000000000 Binary files a/public/v4/logos/monica.png and /dev/null differ diff --git a/public/v4/logos/moodle.png b/public/v4/logos/moodle.png deleted file mode 100644 index ffe4b365e..000000000 Binary files a/public/v4/logos/moodle.png and /dev/null differ diff --git a/public/v4/logos/mssql.png b/public/v4/logos/mssql.png deleted file mode 100644 index 33720a1c0..000000000 Binary files a/public/v4/logos/mssql.png and /dev/null differ diff --git a/public/v4/logos/mumble.png b/public/v4/logos/mumble.png deleted file mode 100644 index c776aaffb..000000000 Binary files a/public/v4/logos/mumble.png and /dev/null differ diff --git a/public/v4/logos/mysql-backup.png b/public/v4/logos/mysql-backup.png deleted file mode 100644 index 06b1c107e..000000000 Binary files a/public/v4/logos/mysql-backup.png and /dev/null differ diff --git a/public/v4/logos/mysql.png b/public/v4/logos/mysql.png deleted file mode 100644 index e0be6ef40..000000000 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 a77f36aee..000000000 Binary files a/public/v4/logos/n8n-io.png and /dev/null differ diff --git a/public/v4/logos/neo4j.png b/public/v4/logos/neo4j.png deleted file mode 100644 index f77ab82f9..000000000 Binary files a/public/v4/logos/neo4j.png and /dev/null differ diff --git a/public/v4/logos/netbox.png b/public/v4/logos/netbox.png deleted file mode 100644 index d5cf04c89..000000000 Binary files a/public/v4/logos/netbox.png and /dev/null differ diff --git a/public/v4/logos/nextcloud.png b/public/v4/logos/nextcloud.png deleted file mode 100644 index 8eb768462..000000000 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 9aa9f15ba..000000000 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 16ed558fa..000000000 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 16ed558fa..000000000 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 96e971524..000000000 Binary files a/public/v4/logos/nightscout.png and /dev/null differ diff --git a/public/v4/logos/nocodb.png b/public/v4/logos/nocodb.png deleted file mode 100644 index dec31a6dd..000000000 Binary files a/public/v4/logos/nocodb.png and /dev/null differ diff --git a/public/v4/logos/node-exporter.png b/public/v4/logos/node-exporter.png deleted file mode 100644 index ffee84ab0..000000000 Binary files a/public/v4/logos/node-exporter.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 898c242b6..000000000 Binary files a/public/v4/logos/node-red.png and /dev/null differ diff --git a/public/v4/logos/novu.png b/public/v4/logos/novu.png deleted file mode 100644 index f191645a7..000000000 Binary files a/public/v4/logos/novu.png and /dev/null differ diff --git a/public/v4/logos/ntfy.png b/public/v4/logos/ntfy.png deleted file mode 100644 index 6b969a846..000000000 Binary files a/public/v4/logos/ntfy.png and /dev/null differ diff --git a/public/v4/logos/odoo.png b/public/v4/logos/odoo.png deleted file mode 100644 index 66267f6e7..000000000 Binary files a/public/v4/logos/odoo.png and /dev/null differ diff --git a/public/v4/logos/offen-docker-backup.png b/public/v4/logos/offen-docker-backup.png deleted file mode 100644 index ed3d5aae0..000000000 Binary files a/public/v4/logos/offen-docker-backup.png and /dev/null differ diff --git a/public/v4/logos/offen-local-docker-backup.png b/public/v4/logos/offen-local-docker-backup.png deleted file mode 100644 index ed3d5aae0..000000000 Binary files a/public/v4/logos/offen-local-docker-backup.png and /dev/null differ diff --git a/public/v4/logos/ohmyform.png b/public/v4/logos/ohmyform.png deleted file mode 100644 index 9c42640ef..000000000 Binary files a/public/v4/logos/ohmyform.png and /dev/null differ diff --git a/public/v4/logos/ombi.png b/public/v4/logos/ombi.png deleted file mode 100644 index 8094bfdda..000000000 Binary files a/public/v4/logos/ombi.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 04d906275..000000000 Binary files a/public/v4/logos/onlyoffice-documentserver.png and /dev/null differ diff --git a/public/v4/logos/openspeedtest.png b/public/v4/logos/openspeedtest.png deleted file mode 100644 index 938433349..000000000 Binary files a/public/v4/logos/openspeedtest.png and /dev/null differ diff --git a/public/v4/logos/openvpn-as.png b/public/v4/logos/openvpn-as.png deleted file mode 100644 index 4ec323135..000000000 Binary files a/public/v4/logos/openvpn-as.png and /dev/null differ diff --git a/public/v4/logos/openvscode-server.png b/public/v4/logos/openvscode-server.png deleted file mode 100644 index 6f998516f..000000000 Binary files a/public/v4/logos/openvscode-server.png and /dev/null differ diff --git a/public/v4/logos/orangehrm.png b/public/v4/logos/orangehrm.png deleted file mode 100644 index 7cef8dca2..000000000 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 fa6102b60..000000000 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 35c78f28e..000000000 Binary files a/public/v4/logos/outline.png and /dev/null differ diff --git a/public/v4/logos/owncast.png b/public/v4/logos/owncast.png deleted file mode 100644 index d438a142d..000000000 Binary files a/public/v4/logos/owncast.png and /dev/null differ diff --git a/public/v4/logos/papercups.png b/public/v4/logos/papercups.png deleted file mode 100644 index 2c67ed1e8..000000000 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 ac698eedf..000000000 Binary files a/public/v4/logos/paperless-ng.png and /dev/null differ diff --git a/public/v4/logos/paperless-ngx-logo.png b/public/v4/logos/paperless-ngx-logo.png new file mode 100644 index 000000000..8fa0b2c94 Binary files /dev/null and b/public/v4/logos/paperless-ngx-logo.png differ diff --git a/public/v4/logos/papermerge.png b/public/v4/logos/papermerge.png deleted file mode 100644 index d175f6bf2..000000000 Binary files a/public/v4/logos/papermerge.png and /dev/null differ diff --git a/public/v4/logos/parse.png b/public/v4/logos/parse.png deleted file mode 100644 index a8e4c1931..000000000 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 701eff7a5..000000000 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 c4a5080bb..000000000 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 20f12dae9..000000000 Binary files a/public/v4/logos/penpot.png and /dev/null differ diff --git a/public/v4/logos/percona.png b/public/v4/logos/percona.png deleted file mode 100644 index f2a6f4116..000000000 Binary files a/public/v4/logos/percona.png and /dev/null differ diff --git a/public/v4/logos/pgadmin4.png b/public/v4/logos/pgadmin4.png deleted file mode 100644 index 830523509..000000000 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 30c2544ca..000000000 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 2e8803711..000000000 Binary files a/public/v4/logos/photoprism.png and /dev/null differ diff --git a/public/v4/logos/photoview.png b/public/v4/logos/photoview.png deleted file mode 100644 index 9e32a1f2e..000000000 Binary files a/public/v4/logos/photoview.png and /dev/null differ diff --git a/public/v4/logos/phpldapadmin.png b/public/v4/logos/phpldapadmin.png deleted file mode 100644 index 9e98997af..000000000 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 caeee3b3a..000000000 Binary files a/public/v4/logos/phpmyadmin.png and /dev/null differ diff --git a/public/v4/logos/planka.png b/public/v4/logos/planka.png deleted file mode 100644 index 6a01ea78a..000000000 Binary files a/public/v4/logos/planka.png and /dev/null differ diff --git a/public/v4/logos/plausible.png b/public/v4/logos/plausible.png deleted file mode 100644 index e7d76ad88..000000000 Binary files a/public/v4/logos/plausible.png and /dev/null differ diff --git a/public/v4/logos/plex-arm.png b/public/v4/logos/plex-arm.png deleted file mode 100644 index 7126a13a0..000000000 Binary files a/public/v4/logos/plex-arm.png and /dev/null differ diff --git a/public/v4/logos/plex.png b/public/v4/logos/plex.png deleted file mode 100644 index 7126a13a0..000000000 Binary files a/public/v4/logos/plex.png and /dev/null differ diff --git a/public/v4/logos/pocketbase.png b/public/v4/logos/pocketbase.png deleted file mode 100644 index 7a0d6a385..000000000 Binary files a/public/v4/logos/pocketbase.png and /dev/null differ diff --git a/public/v4/logos/portainer.png b/public/v4/logos/portainer.png deleted file mode 100644 index c944a53dc..000000000 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 c67d6f33c..000000000 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 e1ea0b76b..000000000 Binary files a/public/v4/logos/postgres.png and /dev/null differ diff --git a/public/v4/logos/prerender.png b/public/v4/logos/prerender.png deleted file mode 100644 index ce290cf33..000000000 Binary files a/public/v4/logos/prerender.png and /dev/null differ diff --git a/public/v4/logos/prisma.png b/public/v4/logos/prisma.png deleted file mode 100644 index b11e00273..000000000 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 48e6608bd..000000000 Binary files a/public/v4/logos/privatebin.png and /dev/null differ diff --git a/public/v4/logos/projectsend.png b/public/v4/logos/projectsend.png deleted file mode 100644 index 4d49650f0..000000000 Binary files a/public/v4/logos/projectsend.png and /dev/null differ diff --git a/public/v4/logos/prometheus.png b/public/v4/logos/prometheus.png deleted file mode 100644 index fe6c25b3c..000000000 Binary files a/public/v4/logos/prometheus.png and /dev/null differ diff --git a/public/v4/logos/prowlarr.png b/public/v4/logos/prowlarr.png deleted file mode 100644 index 8c5420188..000000000 Binary files a/public/v4/logos/prowlarr.png and /dev/null differ diff --git a/public/v4/logos/proxypool.png b/public/v4/logos/proxypool.png deleted file mode 100644 index 6326e3869..000000000 Binary files a/public/v4/logos/proxypool.png and /dev/null differ diff --git a/public/v4/logos/pydio.png b/public/v4/logos/pydio.png deleted file mode 100644 index 05688178f..000000000 Binary files a/public/v4/logos/pydio.png and /dev/null differ diff --git a/public/v4/logos/pyload.png b/public/v4/logos/pyload.png deleted file mode 100644 index 43cf30e1d..000000000 Binary files a/public/v4/logos/pyload.png and /dev/null differ diff --git a/public/v4/logos/qbittorrent.png b/public/v4/logos/qbittorrent.png deleted file mode 100644 index 77d06fd31..000000000 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 a08550b49..000000000 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 d6165cf5b..000000000 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 ee94c08e0..000000000 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 995f56c37..000000000 Binary files a/public/v4/logos/rainloop.png and /dev/null differ diff --git a/public/v4/logos/rallly.png b/public/v4/logos/rallly.png deleted file mode 100644 index 1c3fa3a0e..000000000 Binary files a/public/v4/logos/rallly.png and /dev/null differ diff --git a/public/v4/logos/raneto.png b/public/v4/logos/raneto.png deleted file mode 100644 index aec39b4a3..000000000 Binary files a/public/v4/logos/raneto.png and /dev/null differ diff --git a/public/v4/logos/redash.png b/public/v4/logos/redash.png deleted file mode 100644 index 2a71b8c61..000000000 Binary files a/public/v4/logos/redash.png and /dev/null differ diff --git a/public/v4/logos/redis.png b/public/v4/logos/redis.png deleted file mode 100644 index ed47a3be1..000000000 Binary files a/public/v4/logos/redis.png and /dev/null differ diff --git a/public/v4/logos/redmine-mysql.png b/public/v4/logos/redmine-mysql.png deleted file mode 100644 index 47109884b..000000000 Binary files a/public/v4/logos/redmine-mysql.png and /dev/null differ diff --git a/public/v4/logos/redmine.png b/public/v4/logos/redmine.png deleted file mode 100644 index 47109884b..000000000 Binary files a/public/v4/logos/redmine.png and /dev/null differ diff --git a/public/v4/logos/remark42.png b/public/v4/logos/remark42.png deleted file mode 100644 index 2824d5db4..000000000 Binary files a/public/v4/logos/remark42.png and /dev/null differ diff --git a/public/v4/logos/request-baskets.png b/public/v4/logos/request-baskets.png deleted file mode 100644 index 84a9f60f4..000000000 Binary files a/public/v4/logos/request-baskets.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 522a62687..000000000 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 2ed978e3c..000000000 Binary files a/public/v4/logos/rethinkdb.png and /dev/null differ diff --git a/public/v4/logos/rocketchat.png b/public/v4/logos/rocketchat.png deleted file mode 100644 index 27738c01b..000000000 Binary files a/public/v4/logos/rocketchat.png and /dev/null differ diff --git a/public/v4/logos/rss-bridge.png b/public/v4/logos/rss-bridge.png deleted file mode 100644 index 87a4ba4f2..000000000 Binary files a/public/v4/logos/rss-bridge.png and /dev/null differ diff --git a/public/v4/logos/rstudio.png b/public/v4/logos/rstudio.png deleted file mode 100644 index d57c24868..000000000 Binary files a/public/v4/logos/rstudio.png and /dev/null differ diff --git a/public/v4/logos/rsync-looped.png b/public/v4/logos/rsync-looped.png deleted file mode 100644 index 7190b4102..000000000 Binary files a/public/v4/logos/rsync-looped.png and /dev/null differ diff --git a/public/v4/logos/saleor.png b/public/v4/logos/saleor.png deleted file mode 100644 index d32af0c2e..000000000 Binary files a/public/v4/logos/saleor.png and /dev/null differ diff --git a/public/v4/logos/seafile-nomemcached.png b/public/v4/logos/seafile-nomemcached.png deleted file mode 100644 index ff00b9dc1..000000000 Binary files a/public/v4/logos/seafile-nomemcached.png and /dev/null differ diff --git a/public/v4/logos/seafile.png b/public/v4/logos/seafile.png deleted file mode 100644 index 6a13266b6..000000000 Binary files a/public/v4/logos/seafile.png and /dev/null differ diff --git a/public/v4/logos/seatable.png b/public/v4/logos/seatable.png deleted file mode 100644 index 757f077fe..000000000 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 7adf8c934..000000000 Binary files a/public/v4/logos/sentry.png and /dev/null differ diff --git a/public/v4/logos/serpbear.png b/public/v4/logos/serpbear.png deleted file mode 100644 index 23575bcd9..000000000 Binary files a/public/v4/logos/serpbear.png and /dev/null differ diff --git a/public/v4/logos/shiori.png b/public/v4/logos/shiori.png deleted file mode 100644 index f5bbcf6fb..000000000 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 1b2ebca2a..000000000 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 10f1cd2cd..000000000 Binary files a/public/v4/logos/sinusbot.png and /dev/null differ diff --git a/public/v4/logos/smokeping.png b/public/v4/logos/smokeping.png deleted file mode 100644 index 1b1f19fff..000000000 Binary files a/public/v4/logos/smokeping.png and /dev/null differ diff --git a/public/v4/logos/sonarqube.png b/public/v4/logos/sonarqube.png deleted file mode 100644 index b6ecbb90c..000000000 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 e0096e4ab..000000000 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 49d27fc2b..000000000 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 05f9ccce3..000000000 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 55d76abe1..000000000 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 147bd2f8f..000000000 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 6aee283da..000000000 Binary files a/public/v4/logos/statping.png and /dev/null differ diff --git a/public/v4/logos/steam-openid-provider.png b/public/v4/logos/steam-openid-provider.png deleted file mode 100644 index df788b05a..000000000 Binary files a/public/v4/logos/steam-openid-provider.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 16d38dbb3..000000000 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 16d38dbb3..000000000 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 cba20968f..000000000 Binary files a/public/v4/logos/supabase-postgres.png and /dev/null differ diff --git a/public/v4/logos/surrealdb.png b/public/v4/logos/surrealdb.png deleted file mode 100644 index 83a520b9a..000000000 Binary files a/public/v4/logos/surrealdb.png and /dev/null differ diff --git a/public/v4/logos/syncthing.png b/public/v4/logos/syncthing.png deleted file mode 100644 index 6f18ee45a..000000000 Binary files a/public/v4/logos/syncthing.png and /dev/null differ diff --git a/public/v4/logos/tautulli.png b/public/v4/logos/tautulli.png deleted file mode 100644 index 3cf72642b..000000000 Binary files a/public/v4/logos/tautulli.png and /dev/null differ diff --git a/public/v4/logos/teamspeak.png b/public/v4/logos/teamspeak.png deleted file mode 100644 index 309bec74f..000000000 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 4c17e7200..000000000 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 9082a6f98..000000000 Binary files a/public/v4/logos/the-lounge.png and /dev/null differ diff --git a/public/v4/logos/thingsboard-postgres.png b/public/v4/logos/thingsboard-postgres.png deleted file mode 100644 index b2d2d1383..000000000 Binary files a/public/v4/logos/thingsboard-postgres.png and /dev/null differ diff --git a/public/v4/logos/thumbor.png b/public/v4/logos/thumbor.png deleted file mode 100644 index 147040718..000000000 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 6d3ec45eb..000000000 Binary files a/public/v4/logos/tiddlywiki.png and /dev/null differ diff --git a/public/v4/logos/traggo.png b/public/v4/logos/traggo.png deleted file mode 100644 index 2208b4c4e..000000000 Binary files a/public/v4/logos/traggo.png and /dev/null differ diff --git a/public/v4/logos/transfer-sh.png b/public/v4/logos/transfer-sh.png deleted file mode 100644 index aedeffc33..000000000 Binary files a/public/v4/logos/transfer-sh.png and /dev/null differ diff --git a/public/v4/logos/transmission.png b/public/v4/logos/transmission.png deleted file mode 100644 index 024d2b3b5..000000000 Binary files a/public/v4/logos/transmission.png and /dev/null differ diff --git a/public/v4/logos/tubesync.png b/public/v4/logos/tubesync.png deleted file mode 100644 index 10c6bb662..000000000 Binary files a/public/v4/logos/tubesync.png and /dev/null differ diff --git a/public/v4/logos/typebot.png b/public/v4/logos/typebot.png deleted file mode 100644 index 6441ce6bc..000000000 Binary files a/public/v4/logos/typebot.png and /dev/null differ diff --git a/public/v4/logos/umami-mysql.png b/public/v4/logos/umami-mysql.png deleted file mode 100644 index 7d947dc2b..000000000 Binary files a/public/v4/logos/umami-mysql.png and /dev/null differ diff --git a/public/v4/logos/umami-only.png b/public/v4/logos/umami-only.png deleted file mode 100644 index 7d947dc2b..000000000 Binary files a/public/v4/logos/umami-only.png and /dev/null differ diff --git a/public/v4/logos/umami-postgresql.png b/public/v4/logos/umami-postgresql.png deleted file mode 100644 index 7d947dc2b..000000000 Binary files a/public/v4/logos/umami-postgresql.png and /dev/null differ diff --git a/public/v4/logos/uptime-kuma.png b/public/v4/logos/uptime-kuma.png deleted file mode 100644 index 4ff5fdc6a..000000000 Binary files a/public/v4/logos/uptime-kuma.png and /dev/null differ diff --git a/public/v4/logos/verdaccio.png b/public/v4/logos/verdaccio.png deleted file mode 100644 index 86986e179..000000000 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 d66eac001..000000000 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 3e65a8a62..000000000 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 2dada55db..000000000 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 cb07f7b21..000000000 Binary files a/public/v4/logos/weblate.png and /dev/null differ diff --git a/public/v4/logos/webtop.png b/public/v4/logos/webtop.png deleted file mode 100644 index 44d016285..000000000 Binary files a/public/v4/logos/webtop.png and /dev/null differ diff --git a/public/v4/logos/whoopsmonitor.png b/public/v4/logos/whoopsmonitor.png deleted file mode 100644 index 0cd5f40cb..000000000 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 5ff8951d9..000000000 Binary files a/public/v4/logos/wiki-js.png and /dev/null differ diff --git a/public/v4/logos/woodpecker.png b/public/v4/logos/woodpecker.png deleted file mode 100644 index ac5f80f88..000000000 Binary files a/public/v4/logos/woodpecker.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 7889e150c..000000000 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 7889e150c..000000000 Binary files a/public/v4/logos/wordpress.png and /dev/null differ diff --git a/public/v4/logos/yagpdb.png b/public/v4/logos/yagpdb.png deleted file mode 100644 index 5f8ad6b0d..000000000 Binary files a/public/v4/logos/yagpdb.png and /dev/null differ diff --git a/public/v4/logos/zammad.png b/public/v4/logos/zammad.png deleted file mode 100644 index 5941a6b99..000000000 Binary files a/public/v4/logos/zammad.png and /dev/null differ