deleted unnecessary files
This commit is contained in:
@ -1,59 +0,0 @@
|
||||
captainVersion: 4
|
||||
services:
|
||||
# Ackee
|
||||
$$cap_appname:
|
||||
depends_on:
|
||||
- $$cap_appname-mongodb
|
||||
image: electerious/ackee:$$cap_ackee_version
|
||||
restart: always
|
||||
environment:
|
||||
WAIT_HOSTS: srv-captain--$$cap_appname-mongodb:27017
|
||||
ACKEE_MONGODB: mongodb://srv-captain--$$cap_appname-mongodb/ackee
|
||||
ACKEE_USERNAME: $$cap_ackee_username
|
||||
ACKEE_PASSWORD: $$cap_ackee_passwd
|
||||
ACKEE_ALLOW_ORIGIN: $$cap_ackee_access_origin
|
||||
caproverExtra:
|
||||
containerHttpPort: '3000'
|
||||
# MongoDB
|
||||
$$cap_appname-mongodb:
|
||||
image: mongo:$$cap_mongo_version
|
||||
volumes:
|
||||
- $$cap_appname-db-data:/data/db
|
||||
restart: always
|
||||
caproverExtra:
|
||||
notExposeAsWebApp: 'true'
|
||||
caproverOneClickApp:
|
||||
variables:
|
||||
- id: $$cap_ackee_version
|
||||
label: Ackee Version
|
||||
defaultValue: '2.3.0'
|
||||
description: Check out their docker page for the valid tags https://hub.docker.com/r/electerious/ackee/tags
|
||||
validRegex: /^([^\s^\/])+$/
|
||||
- id: $$cap_ackee_username
|
||||
label: Ackee Admin User
|
||||
defaultValue: ''
|
||||
description: 'Username for Ackee'
|
||||
- id: $$cap_ackee_passwd
|
||||
label: Ackee Admin Password
|
||||
defaultValue: ''
|
||||
description: 'Your super secret Password for Ackee'
|
||||
validRegex: /^([^\s^\/])+$/
|
||||
- id: $$cap_ackee_access_origin
|
||||
label: CORS headers
|
||||
defaultValue: 'https://example.com,https://example2.com'
|
||||
description: 'Ackee requires correct CORS headers. Please read https://docs.ackee.electerious.com/#/docs/CORS%20headers#heroku-or-platforms-as-a-service-configuration'
|
||||
- id: $$cap_mongo_version
|
||||
label: MongoDB Version
|
||||
defaultValue: '4.0.20'
|
||||
description: Check out their docker page for the valid tags https://hub.docker.com/r/library/mongo/tags/
|
||||
validRegex: /^([^\s^\/])+$/
|
||||
instructions:
|
||||
start: >-
|
||||
Ackee is a self-hosted analytics tool that cares about privacy. We believe that you don't need to track every aspect of your visitors. Ackee keeps tracked data anonymized to avoid that users are identifiable, while still providing helpful insights. It's the right tool for everyone who doesn't need a full-featured marketing analytics platform like Google Analytics or Matomo.
|
||||
end: >-
|
||||
Aaaand you're done! 😄
|
||||
Your service is available at http://$$cap_appname.$$cap_root_domain
|
||||
displayName: 'Ackee'
|
||||
isOfficial: true
|
||||
description: Self-hosted, Node.js based analytics tool for those who care about privacy.
|
||||
documentation: Taken from https://hub.docker.com/r/electerious/ackee
|
||||
@ -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
|
||||
@ -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 '
|
||||
@ -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
|
||||
@ -1,73 +0,0 @@
|
||||
captainVersion: 4
|
||||
services:
|
||||
$$cap_appname-editor:
|
||||
restart: always
|
||||
environment:
|
||||
APPSMITH_REDIS_URL: srv-captain--$$cap_appname-redis
|
||||
APPSMITH_MONGODB_URI: $$cap_db_uri
|
||||
depends_on:
|
||||
- $$cap_appname-server
|
||||
caproverExtra:
|
||||
dockerfileLines:
|
||||
- FROM index.docker.io/appsmith/appsmith-editor:$$cap_appsmith_editor_version
|
||||
- # modifying default appsmith (localhost install) nginx configuration for caprover
|
||||
- CMD [ "sh", "-c", "wget https://gist.githubusercontent.com/aqidd/6fc0a369a268d89ccf8c21408c4f6169/raw/11e3167d339f9ecfd017ae5748fb079e66cab0a1/appsmith-local.conf && sed 's/appsmith-internal-server/srv-captain--$$cap_appname-server/g' appsmith-local.conf > /nginx.conf.template && /start-nginx.sh" ]
|
||||
$$cap_appname-server:
|
||||
image: index.docker.io/appsmith/appsmith-server:$$cap_appsmith_server_version
|
||||
restart: always
|
||||
environment:
|
||||
APPSMITH_REDIS_URL: redis://srv-captain--$$cap_appname-redis:6379
|
||||
APPSMITH_MONGODB_URI: $$cap_db_uri
|
||||
APPSMITH_ENCRYPTION_PASSWORD: $$cap_ENCRYPTION_PASSWORD
|
||||
APPSMITH_ENCRYPTION_SALT: $$cap_ENCRYPTION_SALT
|
||||
caproverExtra:
|
||||
containerHttpPort: '8080'
|
||||
notExposeAsWebApp: 'true'
|
||||
$$cap_appname-redis:
|
||||
image: redis:3.2
|
||||
volumes:
|
||||
- $$cap_appname-redis:/data
|
||||
caproverExtra:
|
||||
notExposeAsWebApp: 'true'
|
||||
caproverOneClickApp:
|
||||
variables:
|
||||
- description: Your previous mongodb with Appsmith data
|
||||
id: $$cap_db_uri
|
||||
label: MongoDB URI
|
||||
- id: $$cap_appsmith_server_version
|
||||
label: Appsmith Server Version
|
||||
defaultValue: v1.2.22
|
||||
description: Check out their Docker page for the valid tags https://hub.docker.com/r/appsmith/appsmith-server/tags
|
||||
validRegex: /^([^\s^\/])+$/
|
||||
- id: $$cap_appsmith_editor_version
|
||||
label: Appsmith Editor Version
|
||||
defaultValue: v1.2.22
|
||||
description: Check out their Docker page for the valid tags https://hub.docker.com/r/appsmith/appsmith-editor/tags
|
||||
validRegex: /^([^\s^\/])+$/
|
||||
- id: $$cap_ENCRYPTION_PASSWORD
|
||||
label: APPSMITH ENCRYPTION PASSWORD
|
||||
description: Appsmith encryption password
|
||||
defaultValue: $$cap_gen_random_hex(16)
|
||||
- id: $$cap_ENCRYPTION_SALT
|
||||
label: APPSMITH ENCRYPTION SALT
|
||||
description: Appsmith encryption salt
|
||||
defaultValue: $$cap_gen_random_hex(16)
|
||||
instructions:
|
||||
start: >-
|
||||
Appsmith is the fastest way to build internal apps over any database or API.
|
||||
|
||||
This app is intended for an installation without database.
|
||||
|
||||
PREREQUISITE:
|
||||
|
||||
MongoDB database with initial appsmith installation data.
|
||||
end: >-
|
||||
Appsmith is deployed and available as $$cap_appname.
|
||||
|
||||
Remember that this app will not create a Database by itself. You need to provide all that information.
|
||||
|
||||
Don't forget to also sync the encryption values and other configuration from the previous appsmith installation https://github.com/appsmithorg/appsmith/blob/release/deploy/template/docker.env.sh.
|
||||
displayName: Appsmith - No Database
|
||||
isOfficial: true
|
||||
description: This will create an Appsmith instance only. You will need to create and configure the database information manually. Intended for advanced users.
|
||||
documentation: Modified from https://github.com/appsmithorg/appsmith/tree/release/deploy/template.
|
||||
@ -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
|
||||
@ -1,47 +0,0 @@
|
||||
captainVersion: 4
|
||||
services:
|
||||
$$cap_appname:
|
||||
image: bitwardenrs/server:$$cap_bitwardenrs_version
|
||||
environment:
|
||||
DOMAIN: https://$$cap_appname.$$cap_root_domain
|
||||
WEBSOCKET_ENABLED: true
|
||||
SIGNUPS_ALLOWED: $$cap_register_enabled
|
||||
ADMIN_TOKEN: $$cap_admin_token
|
||||
ports:
|
||||
- 3012:3012
|
||||
volumes:
|
||||
- $$cap_appname-data:/data
|
||||
restart: unless-stopped
|
||||
caproverOneClickApp:
|
||||
variables:
|
||||
- id: $$cap_bitwardenrs_version
|
||||
label: Bitwarden_rs Version
|
||||
defaultValue: 1.20.0
|
||||
description: Check out their Docker page for the valid tags https://hub.docker.com/r/bitwardenrs/server/tags
|
||||
validRegex: /^([^\s^\/])+$/
|
||||
- id: $$cap_register_enabled
|
||||
label: enabled open registration
|
||||
defaultValue: true
|
||||
description: If field is true, all visitors can create an account. If false, only the administrator can invite other users.
|
||||
validRegex: /^(true|false)$/
|
||||
- id: $$cap_admin_token
|
||||
label: admin password
|
||||
defaultValue:
|
||||
description: this password enables the admin zone on /admin. If you let this password empty, the admin interface will be disabled and it will be the best safety option.
|
||||
instructions:
|
||||
start: >-
|
||||
This is a Bitwarden server API implementation written in Rust compatible with upstream Bitwarden clients, perfect for self-hosted deployment where running the official resource-heavy service might not be ideal.
|
||||
|
||||
This project is not associated with the Bitwarden project nor 8bit Solutions LLC.
|
||||
|
||||
if you want more details please go to https://www.reddit.com/r/selfhosted/comments/fvld0n/bitwarden_vs_bitwarden_rs/
|
||||
end: >-
|
||||
Bitwarden_rs is deployed and available as $$cap_appname. Please give it a few minutes to boot, otherwise you will see a 502 error (even if the logs say it's working).
|
||||
|
||||
Please activate https and https redirect otherwise you will have an error on account creation. You need to enable websocket too.
|
||||
|
||||
If you enabled the admin token please go to https://$$cap_appname.$$cap_root_domain/admin to begin
|
||||
displayName: Bitwarden_rs
|
||||
isOfficial: true
|
||||
description: Lightweight fully featured Rust implementation of Bitwarden.
|
||||
documentation: Taken from https://hub.docker.com/r/bitwardenrs/server
|
||||
@ -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/
|
||||
@ -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
|
||||
@ -1,28 +0,0 @@
|
||||
captainVersion: 4
|
||||
services:
|
||||
$$cap_appname:
|
||||
image: dgtlmoon/changedetection.io:$$cap_version
|
||||
volumes:
|
||||
- '$$cap_appname-data:/datastore'
|
||||
caproverExtra:
|
||||
containerHttpPort: '5000'
|
||||
caproverOneClickApp:
|
||||
variables:
|
||||
- id: $$cap_version
|
||||
label: ChangeDetection.io version
|
||||
defaultValue: 0.27
|
||||
description: 'Check out their docker page for the valid tags https://hub.docker.com/r/dgtlmoon/changedetection.io/tags'
|
||||
instructions:
|
||||
start: >-
|
||||
Self-hosted website change detection monitoring.
|
||||
For more info visit https://github.com/dgtlmoon/changedetection.io
|
||||
end: |-
|
||||
ChangeDetection.io has been successfully deployed!
|
||||
App is available as http://$$cap_appname.$$cap_root_domain.
|
||||
Don't forget to use Caprover's HTTP Basic Auth to protect your app.
|
||||
displayName: ChangeDetection.io
|
||||
isOfficial: false
|
||||
description: >-
|
||||
ChangeDetection.io is the self-hosted website change detection monitoring.
|
||||
documentation: >-
|
||||
This docker-compose is taken from https://github.com/dgtlmoon/changedetection.io
|
||||
@ -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'
|
||||
@ -1,91 +0,0 @@
|
||||
captainVersion: 4
|
||||
services:
|
||||
$$cap_appname-postgres:
|
||||
image: postgres:12
|
||||
volumes:
|
||||
- $$cap_appname-postgres-data:/var/lib/postgresql/data
|
||||
restart: always
|
||||
environment:
|
||||
POSTGRES_USER: chatwoot
|
||||
POSTGRES_PASSWORD: $$cap_chatwoot_postgres_password
|
||||
POSTGRES_DB: chatwoot
|
||||
caproverExtra:
|
||||
notExposeAsWebApp: 'true'
|
||||
$$cap_appname-redis:
|
||||
volumes:
|
||||
- $$cap_appname-redis-data:/data
|
||||
restart: always
|
||||
environment:
|
||||
REDIS_PASSWORD: $$cap_chatwoot_redis_password
|
||||
caproverExtra:
|
||||
dockerfileLines:
|
||||
- FROM redis:alpine
|
||||
- CMD exec redis-server --requirepass "$$cap_chatwoot_redis_password"
|
||||
notExposeAsWebApp: 'true'
|
||||
$$cap_appname-web:
|
||||
restart: always
|
||||
environment:
|
||||
RAILS_ENV: production
|
||||
RAILS_LOG_TO_STDOUT: 'true'
|
||||
SECRET_KEY_BASE: $$cap_chatwoot_secret_key_base
|
||||
POSTGRES_HOST: srv-captain--$$cap_appname-postgres
|
||||
POSTGRES_DATABASE: chatwoot
|
||||
POSTGRES_USERNAME: chatwoot
|
||||
POSTGRES_PASSWORD: $$cap_chatwoot_postgres_password
|
||||
REDIS_URL: redis://srv-captain--$$cap_appname-redis:6379
|
||||
REDIS_PASSWORD: $$cap_chatwoot_redis_password
|
||||
caproverExtra:
|
||||
containerHttpPort: '3000'
|
||||
dockerfileLines:
|
||||
- FROM chatwoot/chatwoot:$$cap_chatwoot_version
|
||||
- RUN chmod +x docker/entrypoints/rails.sh
|
||||
- ENTRYPOINT ["docker/entrypoints/rails.sh"]
|
||||
- EXPOSE 3000
|
||||
- CMD bundle exec rails db:chatwoot_prepare; bundle exec rails s -b 0.0.0.0 -p 3000
|
||||
$$cap_appname-worker:
|
||||
restart: always
|
||||
environment:
|
||||
RAILS_ENV: production
|
||||
RAILS_LOG_TO_STDOUT: 'true'
|
||||
SECRET_KEY_BASE: $$cap_chatwoot_secret_key_base
|
||||
POSTGRES_HOST: srv-captain--$$cap_appname-postgres
|
||||
POSTGRES_DATABASE: chatwoot
|
||||
POSTGRES_USERNAME: chatwoot
|
||||
POSTGRES_PASSWORD: $$cap_chatwoot_postgres_password
|
||||
REDIS_URL: redis://srv-captain--$$cap_appname-redis:6379
|
||||
REDIS_PASSWORD: $$cap_chatwoot_redis_password
|
||||
caproverExtra:
|
||||
dockerfileLines:
|
||||
- FROM chatwoot/chatwoot:$$cap_chatwoot_version
|
||||
- RUN chmod +x docker/entrypoints/rails.sh
|
||||
- ENTRYPOINT ["docker/entrypoints/rails.sh"]
|
||||
- CMD bundle exec sidekiq -C config/sidekiq.yml
|
||||
notExposeAsWebApp: 'true'
|
||||
caproverOneClickApp:
|
||||
variables:
|
||||
- id: $$cap_chatwoot_version
|
||||
label: Chatwoot Version Tag
|
||||
description: Choose the latest version from https://hub.docker.com/r/chatwoot/chatwoot/tags
|
||||
defaultValue: v1.13.1
|
||||
- id: $$cap_chatwoot_secret_key_base
|
||||
label: Chatwoot Secret Key Base
|
||||
description: The randomized string which is used to verify the integrity of signed cookies. Please use a string with more than 26 characters
|
||||
validRegex: /^[^\@]{26,}$/
|
||||
- id: $$cap_chatwoot_postgres_password
|
||||
label: Postgres Password
|
||||
description: Password must be at least 12 characters. Please use a random string.
|
||||
validRegex: /^[^\@]{12,}$/
|
||||
- id: $$cap_chatwoot_redis_password
|
||||
label: Redis Password
|
||||
description: Password must be at least 12 characters. Please use a random string.
|
||||
validRegex: /^[^\@]{12,}$/
|
||||
instructions:
|
||||
start: Open-source customer support SaaS alternative to Intercom, Drift, Crisp.
|
||||
end: >-
|
||||
Your Chatwoot instance is now successfully deployed.
|
||||
|
||||
Refer https://www.chatwoot.com/docs/environment-variables/ for full list of environment variables available. Let us know if you have any queries through hello@chatwoot.com
|
||||
displayName: Chatwoot
|
||||
isOfficial: true
|
||||
description: Open-source customer support SaaS alternative to Intercom, Drift, Crisp
|
||||
documentation: 'Read more at: https://www.chatwoot.com/docs'
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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/
|
||||
@ -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/
|
||||
@ -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/
|
||||
@ -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/
|
||||
@ -1,22 +0,0 @@
|
||||
captainVersion: 4
|
||||
services:
|
||||
$$cap_appname:
|
||||
image: countly/countly-server:$$cap_countly_version
|
||||
volumes:
|
||||
- $$cap_appname-data:/var/lib/mongodb
|
||||
restart: always
|
||||
environment: {}
|
||||
caproverOneClickApp:
|
||||
variables:
|
||||
- id: $$cap_countly_version
|
||||
label: What version/tag do you want?
|
||||
description: Go here to see all versions https://hub.docker.com/r/countly/countly-server/tags
|
||||
defaultValue: 19.08.1
|
||||
validRegex: /^([^\s^\/])+$/
|
||||
instructions:
|
||||
start: Countly will only work over HTTPS, so please enable it. | Product Analytics for Mobile, Web, Desktop and IoT | https://count.ly
|
||||
end: Countly is deployed and available as $$cap_appname
|
||||
displayName: ''
|
||||
isOfficial: true
|
||||
description: Countly helps you get insights from your application
|
||||
documentation: Taken from https://hub.docker.com/r/countly/countly-server
|
||||
@ -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/.
|
||||
@ -1,149 +0,0 @@
|
||||
captainVersion: 4
|
||||
services:
|
||||
$$cap_appname-postgresql:
|
||||
documentation: Taken from https://hub.docker.com/r/bitnami/postgresql
|
||||
image: docker.io/bitnami/postgresql:$$cap_postgresql_version
|
||||
restart: always
|
||||
environment:
|
||||
ALLOW_EMPTY_PASSWORD: yes
|
||||
volumes:
|
||||
- $$cap_appname-postgresql-data:/bitnami/postgresql
|
||||
caproverExtra:
|
||||
notExposeAsWebApp: 'true'
|
||||
$$cap_appname-redis:
|
||||
documentation: Taken from https://hub.docker.com/r/bitnami/redis
|
||||
image: docker.io/bitnami/redis:$$cap_redis_version
|
||||
restart: always
|
||||
environment:
|
||||
ALLOW_EMPTY_PASSWORD: yes
|
||||
volumes:
|
||||
- $$cap_appname-redis-data:/bitnami
|
||||
caproverExtra:
|
||||
notExposeAsWebApp: 'true'
|
||||
$$cap_appname:
|
||||
documentation: Taken from https://hub.docker.com/r/bitnami/discourse
|
||||
image: docker.io/bitnami/discourse:$$cap_discourse_version
|
||||
depends_on:
|
||||
- $$cap_appname-postgresql
|
||||
- $$cap_appname-redis
|
||||
volumes:
|
||||
- $$cap_appname-data:/bitnami
|
||||
environment:
|
||||
POSTGRESQL_HOST: srv-captain--$$cap_appname-postgresql
|
||||
POSTGRESQL_ROOT_USER: postgres
|
||||
POSTGRESQL_CLIENT_CREATE_DATABASE_NAME: $$cap_db_name
|
||||
POSTGRESQL_CLIENT_CREATE_DATABASE_USERNAME: $$cap_db_user
|
||||
POSTGRESQL_CLIENT_CREATE_DATABASE_PASSWORD: $$cap_db_pass
|
||||
DISCOURSE_USERNAME: $$cap_admin_user
|
||||
DISCOURSE_PASSWORD: $$cap_admin_pass
|
||||
DISCOURSE_EMAIL: $$cap_admin_email
|
||||
DISCOURSE_SITENAME: $$cap_sitename
|
||||
DISCOURSE_POSTGRESQL_NAME: $$cap_db_name
|
||||
DISCOURSE_POSTGRESQL_USERNAME: $$cap_db_user
|
||||
DISCOURSE_POSTGRESQL_PASSWORD: $$cap_db_pass
|
||||
DISCOURSE_HOSTNAME: $$cap_appname.$$cap_root_domain
|
||||
REDIS_HOST: srv-captain--$$cap_appname-redis
|
||||
SMTP_HOST: $$cap_smtp_host
|
||||
SMTP_PORT: $$cap_smtp_port
|
||||
SMTP_USER: $$cap_smtp_user
|
||||
SMTP_PASSWORD: $$cap_smtp_pass
|
||||
caproverExtra:
|
||||
containerHttpPort: '3000'
|
||||
$$cap_appname-sidekiq:
|
||||
documentaion: Taken from https://hub.docker.com/r/bitnami/discourse
|
||||
depends_on:
|
||||
- $$cap_appname
|
||||
volumes:
|
||||
- $$cap_appname-data:/bitnami
|
||||
environment:
|
||||
DISCOURSE_POSTGRESQL_NAME: $$cap_db_name
|
||||
DISCOURSE_POSTGRESQL_USERNAME: $$cap_db_user
|
||||
DISCOURSE_POSTGRESQL_PASSWORD: $$cap_db_pass
|
||||
DISCOURSE_HOST: srv-captain--$$cap_appname
|
||||
DISCOURSE_PORT: '3000'
|
||||
DISCOURSE_HOSTNAME: $$cap_appname.$$cap_root_domain
|
||||
POSTGRESQL_HOST: srv-captain--$$cap_appname-postgresql
|
||||
REDIS_HOST: srv-captain--$$cap_appname-redis
|
||||
SMTP_HOST: $$cap_smtp_host
|
||||
SMTP_PORT: $$cap_smtp_port
|
||||
SMTP_USER: $$cap_smtp_user
|
||||
SMTP_PASSWORD: $$cap_smtp_pass
|
||||
caproverExtra:
|
||||
dockerfileLines:
|
||||
- FROM docker.io/bitnami/discourse:$$cap_discourse_version
|
||||
- CMD ["nami" , "start" , "--foreground" , "discourse-sidekiq"]
|
||||
notExposeAsWebApp: 'true'
|
||||
caproverOneClickApp:
|
||||
variables:
|
||||
- id: $$cap_discourse_version
|
||||
label: Discourse Version
|
||||
defaultValue: 2.4.4
|
||||
description: Version of Discourse
|
||||
validRegex: /^([^\s^\/])+$/
|
||||
- id: $$cap_postgresql_version
|
||||
label: Postgresql (database) version
|
||||
defaultValue: '11'
|
||||
description: Version of Postgresql
|
||||
validRegex: /^([^\s^\/])+$/
|
||||
- id: $$cap_sitename
|
||||
label: Sitename
|
||||
defaultValue: My site!
|
||||
description: The title of the site, the words on the tab
|
||||
- id: $$cap_redis_version
|
||||
label: Redis version
|
||||
defaultValue: '5.0'
|
||||
description: Version of Redis
|
||||
validRegex: /^([^\s^\/])+$/
|
||||
- id: $$cap_admin_user
|
||||
label: Admin username
|
||||
defaultValue: admin
|
||||
description: Name of the admin account
|
||||
validRegex: /.{1,}/
|
||||
- id: $$cap_admin_pass
|
||||
label: Admin password
|
||||
defaultValue: sTr0nG_p@s$wo%d
|
||||
description: Password of the admin account
|
||||
validRegex: /.{1,}/
|
||||
- id: $$cap_admin_email
|
||||
label: Admin email
|
||||
defaultValue: your_email@gmail.com
|
||||
description: Email of the admin account
|
||||
validRegex: /.{1,}/
|
||||
- id: $$cap_db_name
|
||||
label: Database name
|
||||
defaultValue: discourse_db
|
||||
description: Name for the database using postgresql
|
||||
validRegex: /^([^\s^\/])+$/
|
||||
- id: $$cap_db_user
|
||||
label: Database user
|
||||
defaultValue: discourse_user
|
||||
description: Username for the database using postgresql
|
||||
validRegex: /^([^\s^\/])+$/
|
||||
- id: $$cap_db_pass
|
||||
label: Database password
|
||||
defaultValue: sTr0nG_p@s$wo%d
|
||||
description: Password for the database user and root using postgresql
|
||||
validRegex: /.{1,}/
|
||||
- id: $$cap_smtp_host
|
||||
label: SMPT host
|
||||
defaultValue: smtp.gmail.com
|
||||
description: The host for your smtp server
|
||||
- id: $$cap_smtp_port
|
||||
label: SMTP port
|
||||
defaultValue: '587'
|
||||
description: The port for your smtp server
|
||||
- id: $$cap_smtp_user
|
||||
label: SMTP user
|
||||
defaultValue: your_email@gmail.com
|
||||
description: The user for your smtp server
|
||||
- id: $$cap_smtp_pass
|
||||
label: SMTP password
|
||||
defaultValue: sTr0nG_p@s$wo%d
|
||||
description: The password for your smtp server
|
||||
instructions:
|
||||
start: Discourse is a relatively heavy application, atleast 2GB RAM is recommended to run Discourse
|
||||
end: Discourse image is deployed and the installation process has begun. The installation process takes about 10 minutes.
|
||||
displayName: Discourse
|
||||
isOfficial: true
|
||||
description: Discourse is the 100% open source discussion platform built for the next decade of the Internet. Use it as a mailing list, discussion forum, long-form chat room, and more!
|
||||
documentation: Taken from https://hub.docker.com/r/bitnami/discourse
|
||||
@ -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
|
||||
@ -1,64 +0,0 @@
|
||||
captainVersion: 4
|
||||
services:
|
||||
$$cap_appname-db:
|
||||
image: postgres:$$cap_postgres-version
|
||||
volumes:
|
||||
- $$cap_appname-db:/var/lib/postgresql/data
|
||||
restart: always
|
||||
environment:
|
||||
POSTGRES_USER: dolibarr
|
||||
POSTGRES_PASSWORD: $$cap_pg-pass
|
||||
POSTGRES_DB: dolibarr
|
||||
caproverExtra:
|
||||
notExposeAsWebApp: 'true'
|
||||
$$cap_appname:
|
||||
image: upshift/dolibarr:$$cap_dolibarr-version
|
||||
depends_on:
|
||||
- $$cap_appname-db
|
||||
volumes:
|
||||
- $$cap_appname-html:/var/www/html
|
||||
- $$cap_appname-docs:/var/www/documents
|
||||
restart: always
|
||||
environment:
|
||||
DOLI_DB_HOST: srv-captain--$$cap_appname-db
|
||||
DOLI_DB_NAME: dolibarr
|
||||
DOLI_DB_ROOT_LOGIN: dolibarr
|
||||
DOLI_DB_ROOT_PASSWOORD: $$cap_pg-pass
|
||||
DOLI_DB_USER: dolibarr
|
||||
DOLI_DB_PORT: 5432
|
||||
DOLI_DB_TYPE: pgsql
|
||||
DOLI_DB_PASSWORD: $$cap_pg-pass
|
||||
DOLI_ADMIN_LOGIN: $$cap_admin-login
|
||||
DOLI_ADMIN_PASSWORD: $$cap_admin-pass
|
||||
DOLI_URL_ROOT: http://$$cap_appname.$$cap_root_domain
|
||||
caproverOneClickApp:
|
||||
variables:
|
||||
- id: $$cap_postgres-version
|
||||
label: Postgres Version
|
||||
defaultValue: 9.6-alpine
|
||||
description: Check out their docker page for the valid tags https://hub.docker.com/r/library/postgres/tags/
|
||||
validRegex: /^([^\s^\/])+$/
|
||||
- id: $$cap_dolibarr-version
|
||||
label: Dolibarr Version
|
||||
defaultValue: '11.0'
|
||||
description: Check out their docker page for the valid tags https://hub.docker.com/r/library/postgres/tags/
|
||||
validRegex: /^([^\s^\/])+$/
|
||||
- id: $$cap_pg-pass
|
||||
label: Postgres Password
|
||||
description: The password of the PostgreSQL Database
|
||||
validRegex: /.{1,}/
|
||||
- id: $$cap_admin-login
|
||||
label: Dolibarr Admin Login
|
||||
defaultValue: admin
|
||||
description: The login of the fisrt admin user of Dolibarr
|
||||
validRegex: /.{1,}/
|
||||
- id: $$cap_admin-pass
|
||||
label: Dolibarr Admin Password
|
||||
description: The password of the first admin user of Dolibarr
|
||||
validRegex: /.{1,}/
|
||||
instructions:
|
||||
start: Dolibarr is an Open Source ERP & CRM for Business
|
||||
end: Dolibarr is deployed and available as srv-captain--$$cap_appname:8080 to other apps.
|
||||
displayName: Dolibarr
|
||||
description: Open Source ERP & CRM for Business (SME or large companies, freelancers, foundations)
|
||||
documentation: https://hub.docker.com/r/upshift/dolibarr
|
||||
@ -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://<your drone server>/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/
|
||||
@ -1,25 +0,0 @@
|
||||
captainVersion: 4
|
||||
services:
|
||||
$$cap_appname:
|
||||
image: silverwind/droppy:$$cap_droppy_version
|
||||
volumes:
|
||||
- $$cap_appname-config:/config
|
||||
- $$cap_appname-files:/files
|
||||
restart: always
|
||||
caproverExtra:
|
||||
containerHttpPort: '8989'
|
||||
caproverOneClickApp:
|
||||
variables:
|
||||
- id: $$cap_droppy_version
|
||||
label: droppy version tag
|
||||
description: Check out their docker page for the valid tags @ https://hub.docker.com/r/silverwind/droppy/tags
|
||||
defaultValue: 11.1.0
|
||||
instructions:
|
||||
start: droppy is a self-hosted file storage server with a web interface.
|
||||
end: >-
|
||||
droppy is deployed and available as $$cap_appname.
|
||||
|
||||
IMPORTANT: It will take up to 2 minutes for droppy to be ready. Before that, you might see 502 error page.
|
||||
displayName: ''
|
||||
description: droppy is a self-hosted file storage server with a web interface
|
||||
documentation: Read the documentation @ https://github.com/silverwind/droppy
|
||||
@ -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
|
||||
@ -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.
|
||||
@ -1,62 +0,0 @@
|
||||
captainVersion: 4
|
||||
services:
|
||||
$$cap_appname:
|
||||
image: docker.elastic.co/elasticsearch/elasticsearch:$$cap_elasticsearch_version
|
||||
volumes:
|
||||
- $$cap_appname-elasticsearch-data:/usr/share/elasticsearch/data
|
||||
restart: always
|
||||
environment:
|
||||
ES_JAVA_OPTS: -Xms512m -Xmx512m
|
||||
cluster.name: $$cap_elasticsearch_cluster_name
|
||||
cluster.initial_master_nodes: $$cap_elasticsearch_cluster_initial_master_nodes
|
||||
http.port: $$cap_container_port
|
||||
node.name: $$cap_appname
|
||||
node.master: $$cap_elasticsearch_node_master
|
||||
node.data: $$cap_elasticsearch_node_data
|
||||
discovery.seed_hosts: $$cap_elasticsearch_discovery_seed_hosts
|
||||
caproverExtra:
|
||||
containerHttpPort: $$cap_container_port
|
||||
caproverOneClickApp:
|
||||
variables:
|
||||
- id: $$cap_elasticsearch_version
|
||||
label: 'Elasticsearch Version Tag '
|
||||
description: 'Check out the releases overview: https://www.elastic.co/de/downloads/elasticsearch'
|
||||
defaultValue: 7.8.0
|
||||
validRegex: /^([^\s^\/])+$/
|
||||
- id: $$cap_elasticsearch_cluster_name
|
||||
label: Cluster Name
|
||||
description: Only nodes within the same cluster name can be combined
|
||||
defaultValue: elasticsearch-cluster
|
||||
validRegex: /^([^\s^\/])+$/
|
||||
- id: $$cap_elasticsearch_cluster_initial_master_nodes
|
||||
label: Cluster Initial Master Nodes
|
||||
description: Nodes to be used as master nodes. If this is the master node, put the 'App Name' selected above
|
||||
defaultValue: ''
|
||||
validRegex: /^([^\s^\/])+$/
|
||||
- id: $$cap_elasticsearch_node_data
|
||||
label: Node Data
|
||||
description: Should the node used for storing data? (true / false)
|
||||
defaultValue: 'true'
|
||||
validRegex: /^([^\s^\/])+$/
|
||||
- id: $$cap_elasticsearch_node_master
|
||||
label: Node Master
|
||||
description: Define node as master-eligible (usual first node TRUE, others FALSE).
|
||||
defaultValue: 'true'
|
||||
validRegex: /^([^\s^\/])+$/
|
||||
- id: $$cap_elasticsearch_discovery_seed_hosts
|
||||
label: Discovery seed hosts
|
||||
defaultValue: srv-captain--XXX
|
||||
description: Domains to start the discovery of other nodes
|
||||
validRegex: /^([^\s^\/])+$/
|
||||
- id: $$cap_container_port
|
||||
label: Container TCP Port
|
||||
defaultValue: '9200'
|
||||
description: Internal port for Elasticsearch the container listens to.
|
||||
validRegex: /^([0-9])+$/
|
||||
instructions:
|
||||
start: 'Elasticsearch is a distributed, RESTful search and analytics engine. This image can be used for single nodes and cluster setups. IMPORTANT: Be sure to extend the virtual memory on all your hosts! (increase "echo ''vm.max_map_count=262144'' >> /etc/sysctl.conf" and restart "sysctl -p")'
|
||||
end: 'Deployment of Elasticsearch is finished. You might see 502 errors for the next 2 minutes. Goto <YOUR-APP-URL>/_cat/health to check the health of your cluster. IMPORTANT: Be sure to extend the virtual memory on all your hosts! (increase "echo ''vm.max_map_count=262144'' >> /etc/sysctl.conf" and restart "sysctl -p")'
|
||||
displayName: ''
|
||||
isOfficial: true
|
||||
description: Elasticsearch is a search engine based on the Lucene library
|
||||
documentation: Look at https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html for further assistance using Elasticsearch with docker.
|
||||
@ -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 <YOUR-APP-URL>/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
|
||||
@ -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 '
|
||||
@ -1,51 +0,0 @@
|
||||
captainVersion: 4
|
||||
services:
|
||||
$$cap_appname:
|
||||
documentation: Taken from https://hub.docker.com/r/getfider/fider/
|
||||
image: getfider/fider:$$cap_fider_version
|
||||
restart: always
|
||||
environment:
|
||||
HOST_DOMAIN: '$$cap_appname.$$cap_root_domain'
|
||||
DATABASE_URL: $$cap_db_url
|
||||
JWT_SECRET: $$cap_gen_random_hex(16)
|
||||
EMAIL_NOREPLY: $$cap_email_noreply
|
||||
EMAIL_SMTP_HOST: $$cap_smtp_host
|
||||
EMAIL_SMTP_PORT: $$cap_smtp_port
|
||||
EMAIL_SMTP_USERNAME: $$cap_smtp_user
|
||||
EMAIL_SMTP_PASSWORD: $$cap_smtp_pass
|
||||
caproverExtra:
|
||||
containerHttpPort: '3000'
|
||||
caproverOneClickApp:
|
||||
variables:
|
||||
- id: $$cap_db_url
|
||||
label: Fider database URL
|
||||
description: Postgres database connection URL for Fider, for example "postgres://username:password@srv-captain--mypostgres:5432/fider?sslmode=disable"
|
||||
- id: $$cap_fider_version
|
||||
label: Fider Version
|
||||
defaultValue: 0.18.1
|
||||
description: https://hub.docker.com/r/getfider/fider/tags
|
||||
validRegex: /^([^\s^\/])+$/
|
||||
- id: $$cap_email_noreply
|
||||
label: SMTP sender email
|
||||
description: The sender email address for your outgoing mail
|
||||
- id: $$cap_smtp_host
|
||||
label: SMPT host
|
||||
description: The host for your smtp server
|
||||
- id: $$cap_smtp_port
|
||||
label: SMTP port
|
||||
description: The port for your smtp server
|
||||
- id: $$cap_smtp_user
|
||||
label: SMTP user
|
||||
description: The user for your smtp server
|
||||
- id: $$cap_smtp_pass
|
||||
label: SMTP password
|
||||
description: The password for your smtp server
|
||||
instructions:
|
||||
start: |-
|
||||
Fider is a platform to collect and organize customer feedback. Let your customers share, vote and discuss on suggestions they have to make your product even better.
|
||||
end: |-
|
||||
Fider has been successfully deployed! Enable HTTPS after installation.
|
||||
displayName: Fider - No Database
|
||||
isOfficial: true
|
||||
description: Fider is a platform to collect and organize customer feedback.
|
||||
documentation: See https://getfider.com/docs/hosting-instance
|
||||
@ -1,57 +0,0 @@
|
||||
captainVersion: 4
|
||||
services:
|
||||
$$cap_appname:
|
||||
volumes:
|
||||
- $$cap_appname-database:/database
|
||||
- $$cap_appname-files:/srv
|
||||
restart: always
|
||||
environment: {}
|
||||
caproverExtra:
|
||||
dockerfileLines:
|
||||
- FROM alpine:latest as helper
|
||||
- '# Similar to the original file, except, /database.db is inside a directory now so that we can assign a volume to it.'
|
||||
- RUN echo "{'port':80,'baseURL':'','address':'','log':'stdout','database':'/database/database.db','root':'/srv'}" | sed "s/\'/\"/g" >/.edited.json
|
||||
- FROM filebrowser/filebrowser:$$cap_filebrowser_version
|
||||
- COPY --from=helper /.edited.json /.filebrowser.json
|
||||
caproverOneClickApp:
|
||||
variables:
|
||||
- id: $$cap_filebrowser_version
|
||||
label: File Browser Version Tag
|
||||
description: 'Check out their Docker page for the valid tags: https://hub.docker.com/r/filebrowser/filebrowser/tags'
|
||||
defaultValue: v2.0.16
|
||||
validRegex: /^([^\s^\/])+$/
|
||||
instructions:
|
||||
start: >-
|
||||
filebrowser provides a file managing interface within a specified directory and it can be used to upload, delete, preview, rename and edit your files. It allows the creation of multiple users and each user can have its own directory.
|
||||
|
||||
|
||||
IMPORTANT:
|
||||
|
||||
The default image maps an empty volume to FileBrowser in order to avoid exposing your files, but after you finished installation and changed the password you can mount the root directory of host. i.e. / to /srv in the app.
|
||||
end: >-
|
||||
Important! Read this and take a screenshot so you can refer to it!
|
||||
|
||||
|
||||
username and password are both "admin".
|
||||
|
||||
|
||||
By default, $$cap_appname-files volume, which is an empty directory, is mapped to your file browser content which is at /srv inside the app. To change this:
|
||||
|
||||
|
||||
1- Go to FileBrowser and change password to something else to avoid having your files exposed
|
||||
|
||||
2- Go to CapRover > Apps > FileBrowser > App Config tab and change $$cap_appname-files to
|
||||
|
||||
2a) some other volume name such as "cap_name-myappvolume" if you want to view the content of that volume
|
||||
|
||||
2b) "/some/existing/path/on/host" if you want to view a specific path on the host.
|
||||
|
||||
2c) "/" to view the entire content of your host!
|
||||
|
||||
|
||||
|
||||
Don't change the "/srv" part of the mapping. "/srv" is the directory inside FileBrowser which is used to display content in FileBrowser.
|
||||
displayName: ''
|
||||
isOfficial: true
|
||||
description: filebrowser provides a file managing interface within a specified directory and it can be used to upload, delete, preview, rename and edit your files with supports for multi users.
|
||||
documentation: Taken from https://filebrowser.xyz/installation#docker except moved the database to a directory to be able to associate with a volume
|
||||
@ -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
|
||||
@ -1,71 +0,0 @@
|
||||
captainVersion: 4
|
||||
services:
|
||||
$$cap_appname:
|
||||
image: jc5x/firefly-iii:$$cap_firefly_version
|
||||
volumes:
|
||||
- $$cap_appname-export:/var/www/firefly-iii/storage/export
|
||||
- $$cap_appname-upload:/var/www/firefly-iii/storage/upload
|
||||
restart: always
|
||||
depends_on:
|
||||
- $$cap_appname-db
|
||||
environment:
|
||||
SITE_OWNER: $$cap_firefly_site-owner
|
||||
TZ: $$cap_firefly_time-zone
|
||||
TRUSTED_PROXIES: '**'
|
||||
DB_CONNECTION: mysql
|
||||
DB_PORT: 3306
|
||||
DB_DATABASE: firefly
|
||||
DB_USERNAME: firefly
|
||||
DB_HOST: srv-captain--$$cap_appname-db
|
||||
DB_PASSWORD: $$cap_mariadb_password
|
||||
APP_KEY: $$cap_firefly_app-key
|
||||
caproverExtra:
|
||||
containerHttpPort: '8080'
|
||||
$$cap_appname-db:
|
||||
image: mariadb:$$cap_mariadb_version
|
||||
volumes:
|
||||
- $$cap_appname-db-data:/var/lib/mysql
|
||||
restart: always
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD: $$cap_mariadb_password
|
||||
MYSQL_DATABASE: firefly
|
||||
MYSQL_USER: firefly
|
||||
MYSQL_PASSWORD: $$cap_mariadb_password
|
||||
caproverExtra:
|
||||
notExposeAsWebApp: 'true'
|
||||
caproverOneClickApp:
|
||||
variables:
|
||||
- id: $$cap_mariadb_version
|
||||
label: Mariadb Version Tag
|
||||
description: Check out their Docker page for the valid tags https://hub.docker.com/_/mariadb?tab=tags
|
||||
defaultValue: 10.5.4
|
||||
validRegex: /^([^\s^\/])+$/
|
||||
- id: $$cap_mariadb_password
|
||||
label: Mariadb Password
|
||||
description: The password of the Mariadb Database"
|
||||
validRegex: /.{1,}/
|
||||
- id: $$cap_firefly_version
|
||||
label: Firefly Version Tag
|
||||
description: Check out their Docker page for the valid tags https://hub.docker.com/r/jc5x/firefly-iii/tags
|
||||
defaultValue: release-5.3.0
|
||||
validRegex: /^([^\s^\/])+$/
|
||||
- id: $$cap_firefly_site-owner
|
||||
label: Firefly Site Owner Mail
|
||||
description: The email address of the owner of the app.
|
||||
validRegex: /^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$/
|
||||
- id: $$cap_firefly_time-zone
|
||||
label: Time zone
|
||||
description: The preferred time zone. Check out the available time zone on https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
|
||||
defaultValue: Europe/Brussels
|
||||
validRegex: /.{1,}/
|
||||
- id: $$cap_firefly_app-key
|
||||
label: Firefly APP KEY
|
||||
description: The key from which everything is encrypted. Generate one on https://passwordsgenerator.net/?length=32&symbols=0&numbers=1&lowercase=1&uppercase=1&similar=0&ambiguous=0&client=1&autoselect=0
|
||||
defaultValue: qSAY3tVhAHgz87gusKFoPbg9hpCnMVTR
|
||||
validRegex: /^[A-Za-z0-9]{32}$/
|
||||
instructions:
|
||||
start: Enter your Firefly III Configuration parameters and click on next. It will take about a minute for the process to finish.
|
||||
end: Firefly III is deployed and available from the url http://$$cap_appname.$$cap_root_domain
|
||||
displayName: Firefly III
|
||||
description: Firefly III - A free and open source personal finance manager
|
||||
documentation: Taken from https://docs.firefly-iii.org/installation/docker
|
||||
@ -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
|
||||
@ -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: |-
|
||||
<form.io> 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: <form.io> is a combined Form and Data Management platform for form-based Progressive web applications.
|
||||
documentation: See https://github.com/formio/formio
|
||||
@ -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'
|
||||
@ -1,110 +0,0 @@
|
||||
captainVersion: 4
|
||||
services:
|
||||
$$cap_appname:
|
||||
environment:
|
||||
GHOST_DATABASE_NAME: $$cap_ghost_database_name
|
||||
GHOST_DATABASE_PASSWORD: $$cap_ghost_database_password
|
||||
GHOST_DATABASE_USER: $$cap_ghost_database_user
|
||||
GHOST_EMAIL: $$cap_ghost_email
|
||||
GHOST_HOST: $$cap_ghost_host
|
||||
GHOST_PASSWORD: $$cap_ghost_password
|
||||
GHOST_PROTOCOL: $$cap_ghost_protocol
|
||||
GHOST_PORT_NUMBER: $$cap_ghost_port
|
||||
MARIADB_HOST: $$cap_mariadb_host
|
||||
MARIADB_PORT_NUMBER: $$cap_mariadb_port_number
|
||||
SMTP_FROM_ADDRESS: $$cap_ghost_smtp_from
|
||||
SMTP_HOST: $$cap_ghost_smtp_host
|
||||
SMTP_PASSWORD: $$cap_ghost_smtp_password
|
||||
SMTP_PORT: $$cap_ghost_smtp_port
|
||||
SMTP_SERVICE: $$cap_ghost_smtp_service
|
||||
SMTP_USER: $$cap_ghost_smtp_user
|
||||
image: bitnami/ghost:$$cap_ghost_version
|
||||
restart: always
|
||||
volumes:
|
||||
- $$cap_appname-data:/bitnami
|
||||
caproverExtra:
|
||||
containerHttpPort: '2368'
|
||||
caproverOneClickApp:
|
||||
variables:
|
||||
- defaultValue: 3.4.0
|
||||
description: Check out their Docker page for the valid tags https://hub.docker.com/r/bitnami/ghost/tags
|
||||
id: $$cap_ghost_version
|
||||
label: Ghost Version
|
||||
validRegex: /^([^\s^\/])+$/
|
||||
- description: Maria DB Host
|
||||
defaultValue: localhost
|
||||
id: $$cap_mariadb_host
|
||||
label: Maria DB Host
|
||||
- description: Maria DB port
|
||||
defaultValue: '3306'
|
||||
id: $$cap_mariadb_port_number
|
||||
label: MariaDB user
|
||||
- description: Database name
|
||||
defaultValue: ghost
|
||||
id: $$cap_ghost_database_name
|
||||
label: MariaDB Database name
|
||||
validRegex: /^([^\s^\/])+$/
|
||||
- description: User for database
|
||||
id: $$cap_ghost_database_user
|
||||
label: MariaDB User
|
||||
validRegex: /^([^\s^\/])+$/
|
||||
- description: Password for database
|
||||
id: $$cap_ghost_database_password
|
||||
label: MariaDB Ghost password
|
||||
validRegex: /^(?=.*\d).{10,}$/
|
||||
- defaultValue: youremail@example.com
|
||||
description: Ghost application email, you will use it to login
|
||||
id: $$cap_ghost_email
|
||||
label: Ghost email
|
||||
validRegex: /^([^\s^\/])+$/
|
||||
- description: The admin password must be at least 10 characters, and at least one number and letter
|
||||
id: $$cap_ghost_password
|
||||
label: Ghost password
|
||||
validRegex: /^(?=.*\d).{10,}$/
|
||||
- defaultValue: blog.example.com
|
||||
description: Enter the URL that is used to access your publication
|
||||
id: $$cap_ghost_host
|
||||
label: Ghost Host
|
||||
validRegex: /^([^\s^\/])+$/
|
||||
- defaultValue: http
|
||||
description: Protocol that you will be using
|
||||
id: $$cap_ghost_protocol
|
||||
label: Ghost Protocol
|
||||
validRegex: /^([^\s^\/])+$/
|
||||
- defaultValue: '80'
|
||||
description: Port that you will be using
|
||||
id: $$cap_ghost_port
|
||||
label: Ghost Port
|
||||
- defaultValue: GMail
|
||||
description: Ghost uses node mailer, check this docs https://docs.ghost.org/concepts/config/#mail
|
||||
id: $$cap_ghost_smtp_service
|
||||
label: STMP service to use
|
||||
- defaultValue: smtp.gmail.com
|
||||
description: The STMP host you will be using
|
||||
id: $$cap_ghost_smtp_host
|
||||
label: STMP host
|
||||
- defaultValue: '465'
|
||||
description: The SMTP port you will be using
|
||||
id: $$cap_ghost_smtp_port
|
||||
label: SMTP port
|
||||
- defaultValue: your_email@gmail.com
|
||||
description: Your user on the SMTP service
|
||||
id: $$cap_ghost_smtp_user
|
||||
label: SMTP user
|
||||
- description: Your password on the SMTP service
|
||||
id: $$cap_ghost_smtp_password
|
||||
label: SMTP password
|
||||
- defaultValue: your_email@gmail.com
|
||||
description: SMTP from address
|
||||
id: $$cap_ghost_smtp_from
|
||||
label: SMTP from address
|
||||
instructions:
|
||||
end: >
|
||||
Ghost is deployed and available as $$cap_appname.
|
||||
|
||||
IMPORTANT: It will take up to 2 minutes for Ghost to be ready. Before that, you might see 502 error page.
|
||||
start: Ghost is a fully open source, adaptable platform for building and running a modern online publication. We power blogs, magazines and journalists from Zappos to Sky News.
|
||||
displayName: Ghost - No Database
|
||||
isOfficial: true
|
||||
description: This will create a Ghost blog without a database. After installation you will need to change config.production.json, theres a bug where the port number is in the url.
|
||||
documentation: Taken from https://docs.ghost.org/
|
||||
@ -1,115 +0,0 @@
|
||||
captainVersion: 4
|
||||
services:
|
||||
$$cap_appname:
|
||||
environment:
|
||||
GHOST_DATABASE_NAME: ghost
|
||||
GHOST_DATABASE_PASSWORD: $$cap_db_ghost_password
|
||||
GHOST_DATABASE_USER: ghost
|
||||
GHOST_EMAIL: $$cap_ghost_email
|
||||
GHOST_HOST: $$cap_ghost_host
|
||||
GHOST_PASSWORD: $$cap_ghost_password
|
||||
GHOST_PROTOCOL: $$cap_ghost_protocol
|
||||
GHOST_PORT_NUMBER: $$cap_ghost_port
|
||||
MARIADB_HOST: srv-captain--$$cap_appname-db
|
||||
MARIADB_PORT_NUMBER: '3306'
|
||||
SMTP_FROM_ADDRESS: $$cap_ghost_smtp_from
|
||||
SMTP_HOST: $$cap_ghost_smtp_host
|
||||
SMTP_PASSWORD: $$cap_ghost_smtp_password
|
||||
SMTP_PORT: $$cap_ghost_smtp_port
|
||||
SMTP_SERVICE: $$cap_ghost_smtp_service
|
||||
SMTP_USER: $$cap_ghost_smtp_user
|
||||
image: bitnami/ghost:$$cap_ghost_version
|
||||
restart: always
|
||||
volumes:
|
||||
- $$cap_appname-data:/bitnami
|
||||
caproverExtra:
|
||||
containerHttpPort: '2368'
|
||||
$$cap_appname-db:
|
||||
environment:
|
||||
MARIADB_DATABASE: ghost
|
||||
MARIADB_PASSWORD: $$cap_db_ghost_password
|
||||
MARIADB_ROOT_PASSWORD: $$cap_db_password
|
||||
MARIADB_ROOT_USER: $$cap_db_user
|
||||
MARIADB_USER: ghost
|
||||
image: bitnami/mariadb:10.1
|
||||
restart: always
|
||||
volumes:
|
||||
- $$cap_appname-mariadb-data:/bitnami
|
||||
caproverExtra:
|
||||
notExposeAsWebApp: 'true'
|
||||
caproverOneClickApp:
|
||||
variables:
|
||||
- defaultValue: 2.16.4
|
||||
description: Check out their Docker page for the valid tags https://hub.docker.com/r/bitnami/ghost/tags
|
||||
id: $$cap_ghost_version
|
||||
label: Ghost Version
|
||||
validRegex: /^([^\s^\/])+$/
|
||||
- defaultValue: admin
|
||||
description: Root user that will be created on MariaDB
|
||||
id: $$cap_db_user
|
||||
label: MariaDB root user
|
||||
validRegex: /^([^\s^\/])+$/
|
||||
- description: Root password that will be created on MariaDB
|
||||
id: $$cap_db_password
|
||||
label: MariaDB root password
|
||||
validRegex: /^(?=.*\d).{10,}$/
|
||||
- description: Password for database user named `ghost`
|
||||
id: $$cap_db_ghost_password
|
||||
label: MariaDB Ghost password
|
||||
validRegex: /^(?=.*\d).{10,}$/
|
||||
- defaultValue: youremail@example.com
|
||||
description: Ghost application email, you will use it to login
|
||||
id: $$cap_ghost_email
|
||||
label: Ghost email
|
||||
validRegex: /^([^\s^\/])+$/
|
||||
- description: The admin password must be at least 10 characters, and at least one number and letter
|
||||
id: $$cap_ghost_password
|
||||
label: Ghost password
|
||||
validRegex: /^(?=.*\d).{10,}$/
|
||||
- defaultValue: blog.example.com
|
||||
description: Enter the URL that is used to access your publication
|
||||
id: $$cap_ghost_host
|
||||
label: Ghost Host
|
||||
validRegex: /^([^\s^\/])+$/
|
||||
- defaultValue: http
|
||||
description: Protocol that you will be using
|
||||
id: $$cap_ghost_protocol
|
||||
label: Ghost Protocol
|
||||
validRegex: /^([^\s^\/])+$/
|
||||
- defaultValue: '80'
|
||||
description: Port that you will be using
|
||||
id: $$cap_ghost_port
|
||||
label: Ghost Port
|
||||
- defaultValue: GMail
|
||||
description: Ghost uses node mailer, check this docs https://docs.ghost.org/concepts/config/#mail
|
||||
id: $$cap_ghost_smtp_service
|
||||
label: STMP service to use
|
||||
- defaultValue: smtp.gmail.com
|
||||
description: The STMP host you will be using
|
||||
id: $$cap_ghost_smtp_host
|
||||
label: STMP host
|
||||
- defaultValue: '465'
|
||||
description: The STMP port you will be using
|
||||
id: $$cap_ghost_smtp_port
|
||||
label: STMP port
|
||||
- defaultValue: your_email@gmail.com
|
||||
description: Your user on the SMTP service
|
||||
id: $$cap_ghost_smtp_user
|
||||
label: STMP user
|
||||
- description: Your password on the SMTP service
|
||||
id: $$cap_ghost_smtp_password
|
||||
label: STMP password
|
||||
- defaultValue: your_email@gmail.com
|
||||
description: STMP from address
|
||||
id: $$cap_ghost_smtp_from
|
||||
label: STMP from address
|
||||
instructions:
|
||||
end: >
|
||||
Ghost is deployed and available as $$cap_appname.
|
||||
|
||||
IMPORTANT: It will take up to 2 minutes for Ghost to be ready. Before that, you might see 502 error page.
|
||||
start: Ghost is a fully open source, adaptable platform for building and running a modern online publication. We power blogs, magazines and journalists from Zappos to Sky News.
|
||||
displayName: ''
|
||||
isOfficial: true
|
||||
description: Ghost is a free and open source blogging platform written in JavaScript and distributed under the MIT License
|
||||
documentation: Taken from https://docs.ghost.org/
|
||||
@ -1,60 +0,0 @@
|
||||
captainVersion: 4
|
||||
services:
|
||||
$$cap_appname-db:
|
||||
image: mysql:$$cap_mysql_version
|
||||
volumes:
|
||||
- $$cap_appname-db-data:/var/lib/mysql
|
||||
restart: always
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD: $$cap_db_pass
|
||||
MYSQL_DATABASE: gitea
|
||||
MYSQL_USER: gitea
|
||||
MYSQL_PASSWORD: $$cap_db_pass
|
||||
caproverExtra:
|
||||
notExposeAsWebApp: 'true'
|
||||
$$cap_appname:
|
||||
depends_on:
|
||||
- $$cap_appname-db
|
||||
image: gitea/gitea:$$cap_gitea_version
|
||||
volumes:
|
||||
- $$cap_appname-data:/data
|
||||
restart: always
|
||||
environment:
|
||||
RUN_MODE: prod
|
||||
DB_TYPE: mysql
|
||||
DB_HOST: srv-captain--$$cap_appname-db:3306
|
||||
DB_USER: gitea
|
||||
DB_PASSWD: $$cap_db_pass
|
||||
caproverExtra:
|
||||
containerHttpPort: '3000'
|
||||
caproverOneClickApp:
|
||||
variables:
|
||||
- id: $$cap_db_pass
|
||||
label: MySQL Root password
|
||||
description: ''
|
||||
validRegex: /.{1,}/
|
||||
- id: $$cap_gitea_version
|
||||
label: Gitea Version
|
||||
defaultValue: '1.7'
|
||||
description: Check out their Docker page for the valid tags https://hub.docker.com/r/gitea/gitea/tags
|
||||
validRegex: /^([^\s^\/])+$/
|
||||
- id: $$cap_mysql_version
|
||||
label: MySQL Version
|
||||
defaultValue: '5.7'
|
||||
description: Check out their Docker page for the valid tags https://hub.docker.com/r/library/mysql/tags/
|
||||
validRegex: /^([^\s^\/])+$/
|
||||
instructions:
|
||||
start: >-
|
||||
A painless self-hosted Git service. Gitea is a community managed fork of Gogs.
|
||||
|
||||
Enter your Gitea Configuration parameters and click on next. A MySQL (database) and a Gitea container will be created for you. The process will take about a minute to finish.
|
||||
end: >
|
||||
Gitea is deployed and available as $$cap_appname.
|
||||
|
||||
Since Gitea is running inside a container, you can optionally map a port (not 22) of the host to port 22 of the container, if you want to use git commands over SSH. You can perform port mapping in your CapRover dashboard, in App Config section.
|
||||
|
||||
IMPORTANT: It will take up to 2 minutes for Gitea to be ready. Before that, you might see 502 error page.
|
||||
displayName: ''
|
||||
isOfficial: true
|
||||
description: Gitea is a software package for hosting software development using Git as well as bug tracking, wikis and code review
|
||||
documentation: Taken from https://hub.docker.com/r/gitea/gitea/
|
||||
@ -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/
|
||||
@ -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 <runner-image-name> /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/
|
||||
@ -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
|
||||
@ -1,110 +0,0 @@
|
||||
captainVersion: 4
|
||||
services:
|
||||
$$cap_appname-mongodb:
|
||||
image: mongo:$$cap_mongo_version
|
||||
volumes:
|
||||
- $$cap_appname-db-data:/data/db
|
||||
- $$cap_appname-db-config:/data/configdb
|
||||
restart: always
|
||||
caproverExtra:
|
||||
notExposeAsWebApp: 'true'
|
||||
$$cap_appname-elasticsearch:
|
||||
image: docker.elastic.co/elasticsearch/elasticsearch:$$cap_elasticsearch_version
|
||||
volumes:
|
||||
- $$cap_appname-elasticsearch-data:/usr/share/elasticsearch/data
|
||||
restart: always
|
||||
environment:
|
||||
ES_JAVA_OPTS: -Xms512m -Xmx512m
|
||||
cluster.name: $$cap_elasticsearch_cluster_name
|
||||
http.port: $$cap_container_port
|
||||
node.master: $$cap_elasticsearch_node_master
|
||||
node.data: $$cap_elasticsearch_node_data
|
||||
discovery.zen.minimum_master_nodes: $$cap_elasticsearch_minimum_master_nodes
|
||||
discovery.zen.ping.unicast.hosts: $$cap_elasticsearch_unicast_hosts
|
||||
caproverExtra:
|
||||
notExposeAsWebApp: 'true'
|
||||
$$cap_appname:
|
||||
depends_on:
|
||||
- $$cap_appname-mongodb
|
||||
- $$cap_appname-elasticsearch
|
||||
image: graylog/graylog:$$cap_graylog_version
|
||||
restart: always
|
||||
environment:
|
||||
GRAYLOG_MONGODB_URI: mongodb://srv-captain--$$cap_appname-mongodb/graylog
|
||||
GRAYLOG_ELASTICSEARCH_HOSTS: http://srv-captain--$$cap_appname-elasticsearch:$$cap_container_port
|
||||
GRAYLOG_HTTP_EXTERNAL_URI: //$$cap_appname.$$cap_root_domain/
|
||||
GRAYLOG_ROOT_PASSWORD_SHA2: $$cap_graylog_password
|
||||
caproverExtra:
|
||||
containerHttpPort: '9000'
|
||||
caproverOneClickApp:
|
||||
variables:
|
||||
- id: $$cap_graylog_version
|
||||
label: Graylog Version
|
||||
defaultValue: '3.1'
|
||||
description: Check out their docker page for the valid tags https://hub.docker.com/r/graylog/graylog/tags
|
||||
validRegex: /^([^\s^\/])+$/
|
||||
- id: $$cap_graylog_password
|
||||
label: Graylog Admin Password
|
||||
defaultValue: ''
|
||||
description: 'Admin password SHA256 encoded. Generate with: echo -n "<password>" | shasum -a 256 | cut -d" " -f1'
|
||||
validRegex: /^([^\s^\/])+$/
|
||||
- id: $$cap_mongo_version
|
||||
label: MongoDB Version
|
||||
defaultValue: '4'
|
||||
description: Check out their docker page for the valid tags https://hub.docker.com/r/library/mongo/tags/
|
||||
validRegex: /^([^\s^\/])+$/
|
||||
- id: $$cap_elasticsearch_version
|
||||
label: 'Elasticsearch Version Tag '
|
||||
description: 'Check out the releases overview: https://www.elastic.co/de/downloads/elasticsearch'
|
||||
defaultValue: 6.7.1
|
||||
validRegex: /^([^\s^\/])+$/
|
||||
- id: $$cap_elasticsearch_cluster_name
|
||||
label: Elasticsearch Cluster Name
|
||||
description: Only nodes within the same cluster name can be combined
|
||||
defaultValue: elasticsearch-cluster
|
||||
validRegex: /^([^\s^\/])+$/
|
||||
- id: $$cap_elasticsearch_unicast_hosts
|
||||
label: Elasticsearch Unicasts hosts
|
||||
description: 'References to other node to attach to. (for example: srv-captain--XXX)'
|
||||
defaultValue: 'false'
|
||||
validRegex: /^([^\s^\/])+$/
|
||||
- id: $$cap_elasticsearch_node_data
|
||||
label: Elasticsearch Node Data
|
||||
description: Should the node used for storing data? (true / false)
|
||||
defaultValue: 'true'
|
||||
validRegex: /^([^\s^\/])+$/
|
||||
- id: $$cap_elasticsearch_node_master
|
||||
label: Elasticsearch Node Master
|
||||
description: Define node as master-eligible (usual first node YES, others NO).
|
||||
defaultValue: 'true'
|
||||
validRegex: /^([^\s^\/])+$/
|
||||
- id: $$cap_elasticsearch_minimum_master_nodes
|
||||
label: Elasticsearch Minimum Master Nodes
|
||||
description: 'Define minimum amount of master (N) ( best practice: ceil(N/2 + 1) ).'
|
||||
defaultValue: '1'
|
||||
validRegex: /^([0-9])+$/
|
||||
- id: $$cap_container_port
|
||||
label: Elasticsearch Container TCP Port
|
||||
defaultValue: '9200'
|
||||
description: Internal port for Elasticsearch the container listens to.
|
||||
validRegex: /^([0-9])+$/
|
||||
instructions:
|
||||
start: >-
|
||||
Graylog Log Management.
|
||||
|
||||
|
||||
NOTICE!:
|
||||
Be sure to extend the virtual memory on all your hosts!
|
||||
1. echo 'vm.max_map_count=262144' >> /etc/sysctl.conf
|
||||
2. sysctl -p
|
||||
end: >-
|
||||
Deployment of Graylog if finished.
|
||||
You will see 502 errors for the next 5+ minutes while Graylog starts up.
|
||||
Goto <YOUR-APP-URL> and login as "admin" with your unhashed password.
|
||||
|
||||
IMPORTANT! Do not forget to map port 12201 and 12202 in your app config. Without port mapping, Graylog will not work.
|
||||
|
||||
displayName: ''
|
||||
isOfficial: true
|
||||
description: Graylog is used for log management of both structured and unstructured data along with debugging applications.
|
||||
documentation: Taken from https://hub.docker.com/r/graylog/graylog
|
||||
@ -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
|
||||
@ -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
|
||||
@ -1,67 +0,0 @@
|
||||
captainVersion: 4
|
||||
services:
|
||||
$$cap_appname-db:
|
||||
image: postgres:$$cap_postgres_version
|
||||
volumes:
|
||||
- $$cap_appname-db-data:/var/lib/postgresql/data
|
||||
restart: always
|
||||
environment:
|
||||
POSTGRES_USER: $$cap_pg_user
|
||||
POSTGRES_PASSWORD: $$cap_pg_pass
|
||||
POSTGRES_DB: $$cap_pg_db
|
||||
POSTGRES_INITDB_ARGS: $$cap_pg_initdb_args
|
||||
caproverExtra:
|
||||
notExposeAsWebApp: 'true'
|
||||
$$cap_appname:
|
||||
image: hasura/graphql-engine:$$cap_hasura_version
|
||||
depends_on:
|
||||
- $$cap_appname-db
|
||||
restart: always
|
||||
environment:
|
||||
HASURA_GRAPHQL_DATABASE_URL: postgres://$$cap_pg_user:$$cap_pg_pass@srv-captain--$$cap_appname-db:5432/$$cap_pg_db
|
||||
HASURA_GRAPHQL_ENABLE_CONSOLE: 'true'
|
||||
HASURA_GRAPHQL_ADMIN_SECRET: $$cap_admin_secret
|
||||
HASURA_GRAPHQL_ENABLED_LOG_TYPES: startup, http-log, webhook-log, websocket-log, query-log
|
||||
caproverExtra:
|
||||
containerHttpPort: '8080'
|
||||
caproverOneClickApp:
|
||||
variables:
|
||||
- defaultValue: v1.2.2
|
||||
description: Check out their GitHub page for their latest version https://github.com/hasura/graphql-engine
|
||||
id: $$cap_hasura_version
|
||||
label: Hasura Version
|
||||
validRegex: /^([^\s^\/])+$/
|
||||
- defaultValue: '12'
|
||||
id: $$cap_postgres_version
|
||||
label: Postgres Version
|
||||
validRegex: /^([^\s^\/])+$/
|
||||
- description: The admin secret gives you access to the console.
|
||||
id: $$cap_admin_secret
|
||||
label: Hasura admin secret(password)
|
||||
validRegex: /^(?=.*\d).{10,}$/
|
||||
- id: $$cap_pg_user
|
||||
label: Postgres Username
|
||||
description: ''
|
||||
validRegex: /.{1,}/
|
||||
- id: $$cap_pg_pass
|
||||
label: Postgres Password
|
||||
description: ''
|
||||
validRegex: /.{1,}/
|
||||
- id: $$cap_pg_db
|
||||
label: Postgres Default Database
|
||||
description: ''
|
||||
validRegex: /.{1,}/
|
||||
- id: $$cap_pg_initdb_args
|
||||
label: "OPTIONAL: Arguments for 'postgres initdb'"
|
||||
description: For example, --data-checksums
|
||||
validRegex: /.{0,}/
|
||||
instructions:
|
||||
end: >
|
||||
Hasura is deployed and available as $$cap_appname.
|
||||
|
||||
IMPORTANT: It will take up to 2 minutes for Hasura to be ready. Before that, you might see 502 error page.
|
||||
start: Instant Realtime GraphQL on Postgres with web admin console. This Docker Compose setup runs Hasura GraphQL Engine along with a Postgres database with the PostGIS extension.
|
||||
displayName: ''
|
||||
isOfficial: true
|
||||
description: Instant realtime GraphQL APIs on any Postgres application, existing or new
|
||||
documentation: Hasura GraphQL Engine
|
||||
@ -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/
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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
|
||||
@ -1,126 +0,0 @@
|
||||
captainVersion: 4
|
||||
services:
|
||||
$$cap_appname-php:
|
||||
restart: always
|
||||
networks: invoiceninja
|
||||
volumes:
|
||||
- $$cap_appname-data:/var/www/app
|
||||
depends_on:
|
||||
- $$cap_appname-db
|
||||
environment:
|
||||
APP_NAME: $$cap_appname
|
||||
APP_URL: $$cap_appname.$$cap_root_domain
|
||||
APP_KEY: $$cap_app_key
|
||||
APP_DEBUG: $$cap_app_debug
|
||||
MULTI_DB_ENABLED: 'false'
|
||||
DB_CONNECTION: mysql
|
||||
DB_HOST1: srv-captain--$$cap_appname-db
|
||||
DB_PORT1: '3306'
|
||||
DB_USERNAME1: $$cap_db_user
|
||||
DB_PASSWORD1: $$cap_db_pass
|
||||
DB_DATABASE1: $$cap_db_name
|
||||
IS_DOCKER: 'true'
|
||||
PHANTOMJS_PDF_GENERATION: $$cap_phantomjs_cloud_enable
|
||||
PHANTOMJS_CLOUD_KEY: $$cap_phantomjs_cloud_key
|
||||
BAK_PUBLIC_PATH: '/var/www/app/docker-backup-public'
|
||||
NINJA_PROD: 'true'
|
||||
ENV_LIST: 'NINJA_PROD,APP_NAME,APP_URL,APP_KEY,APP_DEBUG,MULTI_DB_ENABLED,DB_CONNECTION,DB_HOST1,DB_PORT1,DB_USERNAME1,DB_PASSWORD1,DB_DATABASE1,IS_DOCKER,PHANTOMJS_PDF_GENERATION,PHANTOMJS_CLOUD_KEY'
|
||||
caproverExtra:
|
||||
notExposeAsWebApp: 'true'
|
||||
dockerfileLines:
|
||||
- FROM invoiceninja/invoiceninja:$$cap_app_tag
|
||||
- RUN curl -o create-env-file-from-sys-env.sh https://gist.githubusercontent.com/olragon/e2f3ececd70b8c513ce6f768b47b6e5f/raw/0ce9188a0cbf1a9e6a7be4128419282b30492f49/create-env-file-from-sys-env.sh
|
||||
- RUN chmod +x create-env-file-from-sys-env.sh
|
||||
- ENTRYPOINT ["docker-entrypoint"]
|
||||
- CMD /var/www/app/create-env-file-from-sys-env.sh && laravel-init.sh && php artisan db:seed --force && php artisan ninja:create-account --email=$$cap_user_email --password=$$cap_user_password&& supervisord
|
||||
|
||||
$$cap_appname:
|
||||
restart: always
|
||||
networks: invoiceninja
|
||||
volumes:
|
||||
- $$cap_appname-data:/var/www/app
|
||||
depends_on:
|
||||
- $$cap_appname-php
|
||||
caproverExtra:
|
||||
dockerfileLines:
|
||||
- FROM nginx:$$cap_nginx_tag
|
||||
- RUN curl -o /etc/nginx/conf.d/in-vhost.conf https://raw.githubusercontent.com/invoiceninja/dockerfiles/$$cap_app_tag/config/nginx/in-vhost.conf
|
||||
- RUN sed -i "s/app:9000/srv-captain--$$cap_appname-php:9000/g" /etc/nginx/conf.d/in-vhost.conf
|
||||
- ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||
- EXPOSE 80
|
||||
- CMD mkdir -p /var/www/app/docker-backup-public && nginx -g 'daemon off;'
|
||||
|
||||
$$cap_appname-db:
|
||||
image: mariadb:$$cap_mariadb_tag
|
||||
networks: invoiceninja
|
||||
restart: always
|
||||
volumes:
|
||||
- $$cap_appname-db-data:/var/lib/mysql
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD: $$cap_db_root_pass
|
||||
MYSQL_USER: $$cap_db_user
|
||||
MYSQL_PASSWORD: $$cap_db_pass
|
||||
MYSQL_DATABASE: $$cap_db_name
|
||||
caproverExtra:
|
||||
notExposeAsWebApp: 'true'
|
||||
|
||||
caproverOneClickApp:
|
||||
variables:
|
||||
- id: $$cap_app_tag
|
||||
label: Invoice Ninja Tag
|
||||
defaultValue: '5.1.53'
|
||||
description: 'Check out their docker page for the valid tags https://hub.docker.com/r/invoiceninja/invoiceninja/tags'
|
||||
- id: $$cap_user_email
|
||||
label: User Email
|
||||
defaultValue: user@example.com
|
||||
- id: $$cap_user_password
|
||||
label: User Password (write this down as you won't be able to see it after deployment)
|
||||
defaultValue: $$cap_gen_random_hex(8)
|
||||
- id: $$cap_app_key
|
||||
label: App Key
|
||||
defaultValue: $$cap_gen_random_hex(32)
|
||||
- id: $$cap_app_debug
|
||||
label: App Debug
|
||||
defaultValue: 'false'
|
||||
- id: $$cap_phantomjs_cloud_enable
|
||||
label: Enable PhantomJS Cloud to generate PDF
|
||||
defaultValue: 'false'
|
||||
description: By default Invoice Ninja using local Chromimum to generate PDF
|
||||
- id: $$cap_phantomjs_cloud_key
|
||||
label: PhantomJS Cloud Key
|
||||
defaultValue: 'a-demo-key-with-low-quota-per-ip-address'
|
||||
description: 'For some reason, if you cannot run Chromium, enable PhantomJS Cloud and grab your PhantomJS Cloud key at https://phantomjscloud.com/'
|
||||
- id: $$cap_nginx_tag
|
||||
label: Nginx Tag
|
||||
defaultValue: '1.20.0-alpine'
|
||||
description: 'Check out their docker page for the valid tags https://hub.docker.com/_/nginx?tab=tags'
|
||||
- id: $$cap_mariadb_tag
|
||||
label: MariaDB Version
|
||||
defaultValue: 10.4
|
||||
description: 'Check out their docker page for the valid tags https://hub.docker.com/_/mariadb?tab=tags'
|
||||
- id: $$cap_db_root_pass
|
||||
label: MariaDB Root Password
|
||||
defaultValue: $$cap_gen_random_hex(32)
|
||||
- id: $$cap_db_user
|
||||
label: MariaDB Database User
|
||||
defaultValue: 'ninja'
|
||||
- id: $$cap_db_name
|
||||
label: MariaDB Database Name
|
||||
defaultValue: 'ninja'
|
||||
- id: $$cap_db_pass
|
||||
label: MariaDB Database Password
|
||||
defaultValue: $$cap_gen_random_hex(32)
|
||||
instructions:
|
||||
start: >-
|
||||
Invoice Clients, Track Work-Time, Get Paid Online.
|
||||
For more info visit https://www.invoiceninja.com/
|
||||
end: |-
|
||||
InvoiceNinja has been successfully deployed!
|
||||
App is available as http://$$cap_appname.$$cap_root_domain
|
||||
displayName: InvoiceNinja
|
||||
isOfficial: false
|
||||
description: >-
|
||||
Invoice Ninja was built to serve freelancers and business owners with a complete suite of invoicing & payment tools to advance your business.
|
||||
documentation: >-
|
||||
This docker-compose is taken from
|
||||
https://github.com/invoiceninja/dockerfiles
|
||||
@ -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/.
|
||||
@ -1,49 +0,0 @@
|
||||
captainVersion: 4
|
||||
services:
|
||||
$$cap_appname:
|
||||
image: ghcr.io/linuxserver/jellyfin
|
||||
environment:
|
||||
PUID: $$cap_puid
|
||||
PGID: $$cap_pgid
|
||||
TZ: $$cap_tz
|
||||
JELLYFIN_PublishedServerUrl: '$$cap_appname.$$cap_root_domain'
|
||||
volumes:
|
||||
- $$cap_appname-config:/config
|
||||
- $$cap_appname-tvshows:/data/tvshows
|
||||
- $$cap_appname-movies:/data/movies
|
||||
caproverExtra:
|
||||
containerHttpPort: '8096'
|
||||
ports:
|
||||
- 7359:7359
|
||||
- 1900:1900
|
||||
caproverOneClickApp:
|
||||
variables:
|
||||
- id: '$$cap_puid'
|
||||
label: Jellyfin UserID
|
||||
defaultValue: 1000
|
||||
description: UserID used by JellyFin to avoid permission problems, please refer to docs- https://github.com/linuxserver/docker-jellyfin#Parameters
|
||||
validRegex: /[0-9]/
|
||||
- id: '$$cap_pgid'
|
||||
label: Jellyfin GroupID
|
||||
defaultValue: 1000
|
||||
description: GroupID used by JellyFin to avoid permission problems, please refer to docs- https://github.com/linuxserver/docker-jellyfin#Parameters
|
||||
validRegex: /[0-9]/
|
||||
- id: '$$cap_tz'
|
||||
label: Time Zone
|
||||
defaultValue: Asia/Kolkata
|
||||
description: Get yours from https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
|
||||
validRegex: /.{1,}/
|
||||
instructions:
|
||||
start: |-
|
||||
Jellyfin is a Free Software Media System that puts you in control of managing and streaming your media.
|
||||
It is an alternative to the proprietary Emby and Plex, to provide media from a dedicated server to end-user devices via multiple apps.
|
||||
|
||||
For more details visit- https://github.com/jellyfin/jellyfin
|
||||
|
||||
PS. It might not work with RPi, or atleast, you wont be able to use OpenMax or V4L2 because Caprover ignores 'devices' parameters of docker-compose
|
||||
end: |-
|
||||
Jellyfin has been successfully deployed! Please wait atleast 2-4 mins before trying to connect. To enable HTTPS, enable it inside app config from caprover dashboard. 'Enable HTTPS' setting inside of Jellyfin might not work.
|
||||
displayName: Jellyfin
|
||||
isOfficial: false
|
||||
description: A free media streaming alternative to Plesk. Also supports group sync.
|
||||
documentation: See https://github.com/linuxserver/docker-jellyfin
|
||||
@ -1,34 +0,0 @@
|
||||
captainVersion: 4
|
||||
services:
|
||||
$$cap_appname:
|
||||
image: jenkins/jenkins:$$cap_jenkins_version
|
||||
restart: always
|
||||
volumes:
|
||||
- $$cap_appname-jenkins-home:/var/jenkins_home
|
||||
caproverExtra:
|
||||
containerHttpPort: '8080'
|
||||
caproverOneClickApp:
|
||||
variables:
|
||||
- id: $$cap_jenkins_version
|
||||
label: Jenkins Version
|
||||
defaultValue: lts-jdk11
|
||||
description: Check out their Docker page for the valid tags https://hub.docker.com/r/jenkins/jenkins/tags
|
||||
validRegex: /^([^\s^\/])+$/
|
||||
instructions:
|
||||
start: >-
|
||||
Jenkins is a self-contained, open source automation server which can be used to automate all sorts of tasks related to building, testing, and delivering or deploying software.
|
||||
|
||||
It's documentation is available at: https://jenkins.io/doc/
|
||||
|
||||
For more details about this container, see: https://hub.docker.com/r/jenkins/jenkins/
|
||||
|
||||
Enter your Jenkins Configuration parameters and click on next.
|
||||
|
||||
To ensure Jenkins is securely set up by the administrator, an initial administrative password will be written to the log, available at the app Deployment tab, and this file on the server: /var/jenkins_home/secrets/initialAdminPassword.
|
||||
|
||||
It will take about a minute for the process to finish.
|
||||
end: Jenkins is deployed and available as $$cap_appname
|
||||
displayName: ''
|
||||
isOfficial: true
|
||||
description: Jenkins helps to automate the non-human part of the software development process, with continuous integration and facilitating technical aspects of continuous delivery
|
||||
documentation: 'Taken from https://hub.docker.com/r/jenkins/jenkins/ '
|
||||
@ -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
|
||||
@ -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.
|
||||
@ -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
|
||||
@ -1,39 +0,0 @@
|
||||
captainVersion: 4
|
||||
services:
|
||||
$$cap_appname:
|
||||
image: jsreport/jsreport:$$cap_jsreport_version
|
||||
volumes:
|
||||
- $$cap_appname-data:/jsreport
|
||||
restart: always
|
||||
environment:
|
||||
extensions_authentication_admin_username: $$cap_jsreport_adminusername
|
||||
extensions_authentication_admin_password: $$cap_jsreport_password
|
||||
extensions_authentication_cookieSession_secret: $$cap_jsreport_secret
|
||||
caproverExtra:
|
||||
containerHttpPort: '5488'
|
||||
caproverOneClickApp:
|
||||
variables:
|
||||
- id: $$cap_jsreport_version
|
||||
label: version
|
||||
defaultValue: 2.4.0-full
|
||||
description: Check out their Docker page for the valid tags https://hub.docker.com/r/jsreport/jsreport/tags
|
||||
validRegex: /^([^\s^\/])+$/
|
||||
- id: $$cap_jsreport_adminusername
|
||||
label: Admin user name
|
||||
defaultValue: admin
|
||||
description: Only use alphanumeric chars.
|
||||
validRegex: /^([a-zA-Z0-9])+$/
|
||||
- id: $$cap_jsreport_password
|
||||
label: Admin password
|
||||
validRegex: /^\s*\S.*$/
|
||||
- id: $$cap_jsreport_secret
|
||||
label: Session secret
|
||||
defaultValue: long-secret
|
||||
validRegex: /^\s*\S.*$/
|
||||
instructions:
|
||||
start: Reporting tools for creating PDF, HTMLS, Excel by converting your HTML + CSS + JavaScript knowledge.
|
||||
end: Congratulations! You have the new jsReport instance running. Happy reporting!
|
||||
displayName: ''
|
||||
isOfficial: true
|
||||
description: jsreport is an open source reporting platform where reports are designed using popular JavaScript templating engines
|
||||
documentation: Taken from https://hub.docker.com/r/jsreport/jsreport/
|
||||
@ -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/'
|
||||
@ -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/'
|
||||
@ -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/
|
||||
@ -1,69 +0,0 @@
|
||||
captainVersion: 4
|
||||
services:
|
||||
$$cap_appname-db:
|
||||
image: postgres:$$cap_postgres_version
|
||||
volumes:
|
||||
- $$cap_appname-db-data:/var/lib/postgresql/data
|
||||
restart: always
|
||||
environment:
|
||||
POSTGRES_USER: keycloak
|
||||
POSTGRES_PASSWORD: $$cap_pg_pass
|
||||
POSTGRES_DB: keycloak
|
||||
caproverExtra:
|
||||
notExposeAsWebApp: 'true'
|
||||
$$cap_appname:
|
||||
image: jboss/keycloak:$$cap_keycloak_version
|
||||
depends_on:
|
||||
- $$cap_appname-db
|
||||
restart: always
|
||||
environment:
|
||||
DB_VENDOR: postgres
|
||||
DB_ADDR: srv-captain--$$cap_appname-db
|
||||
POSTGRES_DB: keycloak
|
||||
DB_USER: keycloak
|
||||
DB_PASSWORD: $$cap_pg_pass
|
||||
KEYCLOAK_USER: $$cap_keycloak_user
|
||||
KEYCLOAK_PASSWORD: $$cap_keycloak_password
|
||||
PROXY_ADDRESS_FORWARDING: 'true'
|
||||
caproverExtra:
|
||||
containerHttpPort: '8080'
|
||||
caproverOneClickApp:
|
||||
variables:
|
||||
- id: $$cap_postgres_version
|
||||
label: Postgres Version
|
||||
defaultValue: '9.6'
|
||||
description: Check out their Docker page for the valid tags https://hub.docker.com/r/library/postgres/tags/
|
||||
validRegex: /^([^\s^\/])+$/
|
||||
- id: $$cap_keycloak_version
|
||||
label: Keycloak Version
|
||||
defaultValue: 6.0.1
|
||||
description: Check out their Docker page for the valid tags https://hub.docker.com/r/jboss/keycloak/tags
|
||||
validRegex: /^([^\s^\/])+$/
|
||||
- id: $$cap_pg_pass
|
||||
label: Postgres Password
|
||||
description: 'Password strength requeriments: Should contain at least one digit, one lower case, one upper case and at least 12 from the mentioned characters.'
|
||||
validRegex: /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])[0-9a-zA-Z]{12,}$/
|
||||
- id: $$cap_keycloak_user
|
||||
label: Keycloak user
|
||||
description: ''
|
||||
validRegex: /.{1,}/
|
||||
- id: $$cap_keycloak_password
|
||||
label: Keycloak password
|
||||
description: 'Password strength requeriments: Should contain at least one digit, one lower case, one upper case and at least 12 from the mentioned characters.'
|
||||
validRegex: /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])[0-9a-zA-Z]{12,}$/
|
||||
instructions:
|
||||
start: >-
|
||||
Keycloak is an Open Source Identity and Access Management solution for modern Applications and Services. It makes it easy to secure applications and services with little to no code.
|
||||
|
||||
For documentation, see: https://www.keycloak.org/documentation.html
|
||||
|
||||
For source code, see: https://github.com/keycloak/keycloak
|
||||
|
||||
For docker image, see: https://hub.docker.com/r/jboss/keycloak
|
||||
|
||||
Enter your Keycloak Configuration parameters and click on next. It will take about a minute for the process to finish.
|
||||
end: Keycloak is deployed and available as srv-captain--$$cap_appname:8080 to other apps
|
||||
displayName: ''
|
||||
isOfficial: true
|
||||
description: Keycloak is an open source identity and access management solution
|
||||
documentation: Taken from https://github.com/jboss-dockerfiles/keycloak/blob/master/server/README.md
|
||||
@ -1,41 +0,0 @@
|
||||
captainVersion: 4
|
||||
services:
|
||||
$$cap_appname:
|
||||
environment:
|
||||
SERVER_NAME: $$cap_appname
|
||||
KIBANA_DEFAULTAPPID: $$cap_KIBANA_DEFAULTAPPID
|
||||
MONITORING_ENABLED: $$cap_MONITORING_ENABLED
|
||||
ELASTICSEARCH_HOSTS: $$cap_ELASTICSEARCH_HOSTS
|
||||
image: docker.elastic.co/kibana/kibana:$$cap_version
|
||||
restart: always
|
||||
caproverExtra:
|
||||
containerHttpPort: '5601'
|
||||
caproverOneClickApp:
|
||||
variables:
|
||||
- label: Kibana version
|
||||
defaultValue: 7.8.0
|
||||
description: It's highly recommended that you don't use the latest tag but instead the major version you need.
|
||||
id: $$cap_version
|
||||
- label: Default App id
|
||||
defaultValue: home
|
||||
description: The default app that is loaded when you visit Kibana. Defaults to home
|
||||
id: $$cap_KIBANA_DEFAULTAPPID
|
||||
- label: MONITORING_ENABLED
|
||||
description: Enable kibana monitoring features?
|
||||
defaultValue: 'true'
|
||||
id: $$cap_MONITORING_ENABLED
|
||||
- label: ELASTICSEARCH_HOSTS
|
||||
description: URL of the elasticsearch hosts to use. Please include the http or https in the urls. eg. http://srv-captain--elastic
|
||||
id: $$cap_ELASTICSEARCH_HOSTS
|
||||
instructions:
|
||||
end: >-
|
||||
That's it! If you get a 502 it might mean that kibana cannot find your elasticsearch instance. Please recheck your configs.
|
||||
|
||||
Ensure basic auth is enabled so your data is not publicly available.
|
||||
start: >-
|
||||
Provide the ELASTICSEARCH_HOSTS so that kibana can find your elasticsearch instance. be sure to include the http:// protocol in the url.
|
||||
Note that Kibana does not have persistent volumes as all data is stored in the elasticsearch instance itself.
|
||||
displayName: kibana
|
||||
isOfficial: true
|
||||
description: Kibana is a free and open user interface that lets you visualize your Elasticsearch data and navigate the Elastic Stack.
|
||||
documentation: https://www.elastic.co/guide/en/kibana/current/docker.html
|
||||
@ -1,43 +0,0 @@
|
||||
captainVersion: 4
|
||||
services:
|
||||
$$cap_appname-mysql:
|
||||
volumes:
|
||||
- $$cap_appname-mysql-data:/var/lib/mysql
|
||||
environment:
|
||||
MYSQL_DATABASE: leantime
|
||||
MYSQL_ROOT_PASSWORD: $$cap_mysql_passwd
|
||||
MYSQL_USER: leantimeuser
|
||||
MYSQL_PASSWORD: $$cap_mysql_passwd
|
||||
caproverExtra:
|
||||
dockerfileLines:
|
||||
- FROM mysql:5.7
|
||||
- CMD ["--character-set-server=utf8", "--collation-server=utf8_unicode_ci"]
|
||||
$$cap_appname:
|
||||
image: leantime/leantime:$$cap_leantime_ver
|
||||
container_name: leantime
|
||||
environment:
|
||||
LEAN_APP_URL: https://$$cap_appname.$$cap_root_domain
|
||||
LEAN_DB_HOST: srv-captain--$$cap_appname-mysql
|
||||
LEAN_DB_USER: leantimeuser
|
||||
LEAN_DB_PASSWORD: $$cap_mysql_passwd
|
||||
LEAN_DB_DATABASE: leantime
|
||||
caproverOneClickApp:
|
||||
variables:
|
||||
- description: User password for the database instance.
|
||||
defaultValue: N2cQ4J9VzsfvXwzM
|
||||
id: $$cap_mysql_passwd
|
||||
label: MySQL User Password
|
||||
validRegex: /^(?=.*\d).{10,}$/
|
||||
- defaultValue: 2.1.4
|
||||
id: $$cap_leantime_ver
|
||||
label: Leantime Version
|
||||
validRegex: /.+/
|
||||
instructions:
|
||||
start: >-
|
||||
Leantime is a lean project management system for innovators. Designed to help you manage your projects from ideation to delivery.
|
||||
See more details here: https://leantime.io
|
||||
end: Leantime is deployed as available as $$cap_appname! You MUST ENABLE HTTPS before accessing the panel.
|
||||
displayName: Leantime
|
||||
isOfficial: true
|
||||
description: Open source project management for small teams
|
||||
documentation: https://github.com/Leantime/docker-leantime/blob/master/docker-compose.yml
|
||||
@ -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.
|
||||
@ -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
|
||||
@ -1,104 +0,0 @@
|
||||
captainVersion: 4
|
||||
services:
|
||||
$$cap_appname-db:
|
||||
image: mariadb:$$cap_mariadb_version
|
||||
volumes:
|
||||
- $$cap_appname-db-data:/var/lib/mysql
|
||||
restart: always
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD: $$cap_mariadb_password
|
||||
MYSQL_DATABASE: mailtrain
|
||||
MYSQL_USER: mailtrain
|
||||
MYSQL_PASSWORD: $$cap_mariadb_password
|
||||
caproverExtra:
|
||||
notExposeAsWebApp: 'true'
|
||||
$$cap_appname-redis:
|
||||
image: redis:$$cap_redis_version
|
||||
volumes:
|
||||
- $$cap_appname-redis-data:/data
|
||||
restart: always
|
||||
caproverExtra:
|
||||
notExposeAsWebApp: 'true'
|
||||
$$cap_appname-mongo:
|
||||
image: mongo:$$cap_mongo_version
|
||||
volumes:
|
||||
- $$cap_appname-mongo-data:/data/db
|
||||
restart: always
|
||||
caproverExtra:
|
||||
notExposeAsWebApp: 'true'
|
||||
$$cap_appname:
|
||||
image: mailtrain/mailtrain:$$cap_mailtrain_version
|
||||
depends_on:
|
||||
- $$cap_appname-db
|
||||
- $$cap_appname-redis
|
||||
- $$cap_appname-mongo
|
||||
volumes:
|
||||
- $$cap_appname-files:/app/server/files
|
||||
environment:
|
||||
URL_BASE_TRUSTED: https://$$cap_appname.$$cap_root_domain
|
||||
URL_BASE_SANDBOX: https://$$cap_appname-$$cap_mailtrain_sandbox-appname.$$cap_root_domain
|
||||
URL_BASE_PUBLIC: https://$$cap_appname-$$cap_mailtrain_lists-appname.$$cap_root_domain
|
||||
WWW_PROXY: true
|
||||
MONGO_HOST: srv-captain--$$cap_appname-mongo
|
||||
REDIS_HOST: srv-captain--$$cap_appname-redis
|
||||
MYSQL_HOST: srv-captain--$$cap_appname-db
|
||||
MYSQL_PASSWORD: $$cap_mariadb_password
|
||||
caproverExtra:
|
||||
containerHttpPort: '3000'
|
||||
$$cap_appname-$$cap_mailtrain_sandbox-appname:
|
||||
image: caprover/nginx-reverse-proxy:latest
|
||||
restart: always
|
||||
depends_on:
|
||||
- $$cap_appname
|
||||
environment:
|
||||
UPSTREAM_HTTP_ADDRESS: http://srv-captain--$$cap_appname:3003
|
||||
$$cap_appname-$$cap_mailtrain_lists-appname:
|
||||
image: caprover/nginx-reverse-proxy:latest
|
||||
restart: always
|
||||
depends_on:
|
||||
- $$cap_appname
|
||||
environment:
|
||||
UPSTREAM_HTTP_ADDRESS: http://srv-captain--$$cap_appname:3004
|
||||
caproverOneClickApp:
|
||||
variables:
|
||||
- id: $$cap_mariadb_version
|
||||
label: Mariadb Version
|
||||
defaultValue: 10.5.4
|
||||
description: Check out their Docker page for the valid tags https://hub.docker.com/_/mariadb?tab=tags
|
||||
validRegex: /^([^\s^\/])+$/
|
||||
- id: $$cap_mariadb_password
|
||||
label: Mariadb User password
|
||||
description: ''
|
||||
validRegex: /.{1,}/
|
||||
- id: $$cap_redis_version
|
||||
label: Redis Version
|
||||
defaultValue: alpine3.12
|
||||
description: Check out their Docker page for the valid tags https://hub.docker.com/_/redis?tab=tags
|
||||
validRegex: /^([^\s^\/])+$/
|
||||
- id: $$cap_mongo_version
|
||||
label: Mongo Version
|
||||
defaultValue: 4.4.0-rc11
|
||||
description: Check out their Docker page for the valid tags https://hub.docker.com/_/mongo?tab=tags
|
||||
validRegex: /^([^\s^\/])+$/
|
||||
- id: $$cap_mailtrain_version
|
||||
label: Mailtrain Version
|
||||
defaultValue: latest
|
||||
description: Check out their Docker page for the valid tags https://hub.docker.com/r/mailtrain/mailtrain/tags
|
||||
validRegex: /^([^\s^\/])+$/
|
||||
- id: $$cap_mailtrain_sandbox-appname
|
||||
label: Sandbox Mailtrain App Name
|
||||
defaultValue: sdbx
|
||||
description: ''
|
||||
validRegex: /^[a-z]{1,}$/
|
||||
- id: $$cap_mailtrain_lists-appname
|
||||
label: Public Mailtrain App Name
|
||||
defaultValue: lists
|
||||
description: ''
|
||||
validRegex: /^[a-z]{1,}$/
|
||||
instructions:
|
||||
start: Mailtrain is a self hosted newsletter application built on Node.js (v10+) and MySQL (v8+) or MariaDB (v10+).
|
||||
end: You can connect to http://$$cap_appname.$$cap_root_domain with the user admin and password test. Do not forget to update it with something more secure.
|
||||
displayName: Mailtrain V2(Beta)
|
||||
isOfficial: true
|
||||
description: Mailtrain is a self hosted newsletter application built on Node.js (v10+) and MySQL (v8+) or MariaDB (v10+).
|
||||
documentation: Taken from https://github.com/Mailtrain-org/mailtrain/blob/development/docker-compose.yml
|
||||
@ -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.
|
||||
@ -1,227 +0,0 @@
|
||||
captainVersion: 4
|
||||
services:
|
||||
# Mastodon
|
||||
$$cap_appname:
|
||||
environment:
|
||||
LOCAL_DOMAIN: $$cap_appname.$$cap_root_domain
|
||||
ALTERNATE_DOMAINS: $$cap_alt_domain
|
||||
REDIS_HOST: srv-captain--$$cap_appname-redis
|
||||
REDIS_PORT: 6379
|
||||
REDIS_PASSWORD: $$cap_redis_password
|
||||
DB_HOST: srv-captain--$$cap_appname-postgres
|
||||
DB_USER: mastodon
|
||||
DB_NAME: mastodon_production
|
||||
DB_PASS: $$cap_postgres_password
|
||||
DB_PORT: 5432
|
||||
ES_ENABLED: 'false'
|
||||
OTP_SECRET: $$cap_opt_secret_base
|
||||
SECRET_KEY_BASE: $$cap_secret_key_base
|
||||
VAPID_PRIVATE_KEY: $$cap_gen_random_hex(16)
|
||||
VAPID_PUBLIC_KEY: $$cap_gen_random_hex(16)
|
||||
SINGLE_USER_MODE: $$cap_su_mode
|
||||
SMTP_SERVER: $$cap_smtp_server
|
||||
SMTP_PORT: $$cap_smtp_port
|
||||
SMTP_LOGIN: $$cap_smtp_user
|
||||
SMTP_PASSWORD: $$cap_smtp_pass
|
||||
SMTP_FROM_ADDRESS: $$cap_smtp_from
|
||||
SMTP_TLS: $$cap_smtp_tls
|
||||
S3_ENABLED: 'false'
|
||||
RAILS_ENV: production
|
||||
volumes:
|
||||
- $$cap_appname-system:/mastodon/public/system
|
||||
caproverExtra:
|
||||
containerHttpPort: '3000'
|
||||
dockerfileLines:
|
||||
- FROM tootsuite/mastodon:$$cap_mastodon_version
|
||||
- CMD rm -f /mastodon/tmp/pids/server.pid; bundle exec rails db:setup; bundle exec rails s -b 0.0.0.0 -p 3000
|
||||
# Streaming
|
||||
$$cap_appname-streaming:
|
||||
environment:
|
||||
LOCAL_DOMAIN: $$cap_appname.$$cap_root_domain
|
||||
ALTERNATE_DOMAINS: $$cap_alt_domain
|
||||
REDIS_HOST: srv-captain--$$cap_appname-redis
|
||||
REDIS_PORT: 6379
|
||||
REDIS_PASSWORD: $$cap_redis_password
|
||||
DB_HOST: srv-captain--$$cap_appname-postgres
|
||||
DB_USER: mastodon
|
||||
DB_NAME: mastodon_production
|
||||
DB_PASS: $$cap_postgres_password
|
||||
DB_PORT: 5432
|
||||
ES_ENABLED: 'false'
|
||||
OTP_SECRET: $$cap_opt_secret_base
|
||||
SECRET_KEY_BASE: $$cap_secret_key_base
|
||||
VAPID_PRIVATE_KEY: $$cap_gen_random_hex(16)
|
||||
VAPID_PUBLIC_KEY: $$cap_gen_random_hex(16)
|
||||
SINGLE_USER_MODE: $$cap_su_mode
|
||||
SMTP_SERVER: $$cap_smtp_server
|
||||
SMTP_PORT: $$cap_smtp_port
|
||||
SMTP_LOGIN: $$cap_smtp_user
|
||||
SMTP_PASSWORD: $$cap_smtp_pass
|
||||
SMTP_FROM_ADDRESS: $$cap_smtp_from
|
||||
SMTP_TLS: $$cap_smtp_tls
|
||||
S3_ENABLED: 'false'
|
||||
RAILS_ENV: production
|
||||
volumes:
|
||||
- $$cap_appname-system:/mastodon/public/system
|
||||
caproverExtra:
|
||||
containerHttpPort: '4000'
|
||||
dockerfileLines:
|
||||
- FROM tootsuite/mastodon:$$cap_mastodon_version
|
||||
- CMD node ./streaming
|
||||
# Sidekiq
|
||||
$$cap_appname-sidekiq:
|
||||
environment:
|
||||
LOCAL_DOMAIN: $$cap_appname.$$cap_root_domain
|
||||
ALTERNATE_DOMAINS: $$cap_alt_domain
|
||||
REDIS_HOST: srv-captain--$$cap_appname-redis
|
||||
REDIS_PORT: 6379
|
||||
REDIS_PASSWORD: $$cap_redis_password
|
||||
DB_HOST: srv-captain--$$cap_appname-postgres
|
||||
DB_USER: mastodon
|
||||
DB_NAME: mastodon_production
|
||||
DB_PASS: $$cap_postgres_password
|
||||
DB_PORT: 5432
|
||||
ES_ENABLED: 'false'
|
||||
OTP_SECRET: $$cap_opt_secret_base
|
||||
SECRET_KEY_BASE: $$cap_secret_key_base
|
||||
VAPID_PRIVATE_KEY: $$cap_gen_random_hex(16)
|
||||
VAPID_PUBLIC_KEY: $$cap_gen_random_hex(16)
|
||||
SINGLE_USER_MODE: $$cap_su_mode
|
||||
SMTP_SERVER: $$cap_smtp_server
|
||||
SMTP_PORT: $$cap_smtp_port
|
||||
SMTP_LOGIN: $$cap_smtp_user
|
||||
SMTP_PASSWORD: $$cap_smtp_pass
|
||||
SMTP_FROM_ADDRESS: $$cap_smtp_from
|
||||
SMTP_TLS: $$cap_smtp_tls
|
||||
S3_ENABLED: 'false'
|
||||
RAILS_ENV: production
|
||||
volumes:
|
||||
- $$cap_appname-system:/mastodon/public/system
|
||||
caproverExtra:
|
||||
dockerfileLines:
|
||||
- FROM tootsuite/mastodon:$$cap_mastodon_version
|
||||
- CMD bundle exec sidekiq
|
||||
notExposeAsWebApp: 'true'
|
||||
# PostgreSQL
|
||||
$$cap_appname-postgres:
|
||||
image: postgres:12
|
||||
volumes:
|
||||
- $$cap_appname-postgres-data:/var/lib/postgresql/data
|
||||
environment:
|
||||
POSTGRES_USER: mastodon
|
||||
POSTGRES_PASSWORD: $$cap_postgres_password
|
||||
POSTGRES_DB: mastodon_production
|
||||
caproverExtra:
|
||||
notExposeAsWebApp: 'true'
|
||||
# Redis
|
||||
$$cap_appname-redis:
|
||||
volumes:
|
||||
- $$cap_appname-redis-data:/data
|
||||
environment:
|
||||
REDIS_PASSWORD: $$cap_redis_password
|
||||
caproverExtra:
|
||||
dockerfileLines:
|
||||
- FROM redis:alpine
|
||||
- CMD exec redis-server --requirepass "$$cap_redis_password"
|
||||
notExposeAsWebApp: 'true'
|
||||
caproverOneClickApp:
|
||||
variables:
|
||||
- id: $$cap_mastodon_version
|
||||
label: Mastodon Version Tag
|
||||
description: You can use latest tag or check version builds on https://hub.docker.com/r/tootsuite/mastodon/tags
|
||||
defaultValue: v3.3.0
|
||||
|
||||
- id: $$cap_secret_key_base
|
||||
defaultValue: $$cap_gen_random_hex(64)
|
||||
label: Secret Key Base
|
||||
description: The randomized string which is used to verify the integrity of signed cookies. Please use a string with more than 26 characters
|
||||
validRegex: /^[^\@]{26,}$/
|
||||
|
||||
- id: $$cap_opt_secret_base
|
||||
defaultValue: $$cap_gen_random_hex(64)
|
||||
label: One-time password secret
|
||||
description: Two-Factor Authentication (2FA) Key
|
||||
validRegex: /^[^\@]{26,}$/
|
||||
|
||||
- id: $$cap_postgres_password
|
||||
defaultValue: $$cap_gen_random_hex(12)
|
||||
label: Postgres Password
|
||||
description: Password must be at least 12 characters. Please use a random string.
|
||||
validRegex: /^[^\@]{12,}$/
|
||||
|
||||
- id: $$cap_redis_password
|
||||
defaultValue: $$cap_gen_random_hex(12)
|
||||
label: Redis Password
|
||||
description: Password must be at least 12 characters. Please use a random string.
|
||||
validRegex: /^[^\@]{12,}$/
|
||||
|
||||
- id: $$cap_alt_domain
|
||||
label: Alternate domains (optional)
|
||||
description: If you have multiple domains pointed at your Mastodon server, this setting will allow Mastodon to recognize itself when users are addressed using those other domains. Separate the domains by commas, e.g. foo.com,bar.com
|
||||
|
||||
- id: $$cap_su_mode
|
||||
label: Single user mode
|
||||
defaultValue: 'false'
|
||||
description: If set to true, the frontpage of your Mastodon server will always redirect to the first profile in the database and registrations will be disabled.
|
||||
|
||||
- id: $$cap_smtp_server
|
||||
label: SMTP hostname
|
||||
validRegex: /^([^\s^\/])+$/
|
||||
|
||||
- id: $$cap_smtp_user
|
||||
label: SMTP username
|
||||
validRegex: /^([^\s^\/])+$/
|
||||
|
||||
- id: $$cap_smtp_from
|
||||
label: SMTP from
|
||||
validRegex: /^([^\s^\/])+$/
|
||||
|
||||
- id: $$cap_smtp_pass
|
||||
label: SMTP password
|
||||
validRegex: /^([^\s^\/])+$/
|
||||
|
||||
- id: $$cap_smtp_port
|
||||
label: SMTP port
|
||||
validRegex: /^([^\s^\/])+$/
|
||||
|
||||
- id: $$cap_smtp_tls
|
||||
label: SMTP TLS
|
||||
validRegex: /^([^\s^\/])+$/
|
||||
instructions:
|
||||
start: >-
|
||||
Before you proceed keep a note of the following.
|
||||
|
||||
--------------------------------------------------
|
||||
|
||||
|
||||
After you deploy mastodon and created your fist user in the browser, you will need to use the command line to give your newly created account admin privileges.
|
||||
|
||||
|
||||
Step 1: From your terminal run the following command.
|
||||
|
||||
docker exec -it $(docker ps --filter name='srv-captain--{appname}.1' -q) /bin/bash
|
||||
|
||||
|
||||
Step 2: Now that you are inside your mastodon container: run the following command assuming your username is alice:
|
||||
|
||||
"RAILS_ENV=production bin/tootctl accounts modify alice --role admin"
|
||||
|
||||
|
||||
Step 3: Now we have to give our persistent directory the correct user rights
|
||||
|
||||
From your terminal run the following assuming your app name is mastodon
|
||||
|
||||
chown -R 991:991 /var/lib/docker/volumes/captain--{appname}-system
|
||||
end: >-
|
||||
Aaaand you're done! 😄
|
||||
|
||||
Your service is available at http://$$cap_appname.$$cap_root_domain
|
||||
|
||||
|
||||
You can add more environment variables to use with aws s3 for example
|
||||
|
||||
Check out https://docs.joinmastodon.org/admin/config/ for more env vars
|
||||
displayName: Mastodon
|
||||
isOfficial: true
|
||||
description: Social networking, back in your hands.
|
||||
documentation: 'Read more at: https://docs.joinmastodon.org/'
|
||||
@ -1,57 +0,0 @@
|
||||
captainVersion: 4
|
||||
services:
|
||||
$$cap_appname-db:
|
||||
volumes:
|
||||
- $$cap_appname-db-data:/var/lib/mysql
|
||||
restart: always
|
||||
environment:
|
||||
MYSQL_DATABASE: matomo
|
||||
MYSQL_USER: matomo
|
||||
MYSQL_PASSWORD: $$cap_db_pass
|
||||
MYSQL_RANDOM_ROOT_PASSWORD: true
|
||||
caproverExtra:
|
||||
dockerfileLines:
|
||||
- FROM mariadb:$$cap_mysql_version
|
||||
- CMD ["--max-allowed-packet=64MB"]
|
||||
notExposeAsWebApp: 'true'
|
||||
$$cap_appname:
|
||||
depends_on:
|
||||
- $$cap_appname-db
|
||||
image: matomo:$$cap_matomo_version
|
||||
restart: always
|
||||
volumes:
|
||||
- $$cap_appname-data:/var/www/html
|
||||
documentation: taken from https://github.com/matomo-org/docker/blob/master/.examples/apache/docker-compose.yml example
|
||||
environment:
|
||||
MATOMO_DATABASE_HOST: srv-captain--$$cap_appname-db
|
||||
MATOMO_DATABASE_ADAPTER: mysql
|
||||
MATOMO_DATABASE_TABLES_PREFIX: matomo_
|
||||
MATOMO_DATABASE_USERNAME: matomo
|
||||
MATOMO_DATABASE_PASSWORD: $$cap_db_pass
|
||||
MATOMO_DATABASE_DBNAME: matomo
|
||||
caproverOneClickApp:
|
||||
variables:
|
||||
- id: $$cap_matomo_version
|
||||
label: Matomo Version
|
||||
defaultValue: 4.2.1
|
||||
description: Check out their docker page for the valid tags https://hub.docker.com/_/matomo?tab=tags
|
||||
validRegex: /^([^\s^\/])+$/
|
||||
- id: $$cap_mysql_version
|
||||
label: MariaDB Version
|
||||
defaultValue: 10.5.9
|
||||
description: Check out their docker page for the valid tags https://hub.docker.com/_/mariadb?tab=tags
|
||||
validRegex: /^([^\s^\/])+$/
|
||||
- id: $$cap_db_pass
|
||||
label: MariaDB Root Password
|
||||
description: The root password to use for the MariaDB instance
|
||||
validRegex: /.{1,}/
|
||||
defaultValue: $$cap_gen_random_hex(32)
|
||||
instructions:
|
||||
start: Matomo is the leading open-source analytics platform that gives you more than powerful analytics.
|
||||
end: >-
|
||||
Matomo is successfully deployed!
|
||||
your application will be available in the next few seconds. Please note to enable https if you need to track datas on https websites.
|
||||
displayName: ''
|
||||
isOfficial: true
|
||||
description: Matomo tracks online visits to one or more websites and displays reports on these visits for analysis
|
||||
documentation: Taken from https://hub.docker.com/_/matomo?tab=description
|
||||
@ -1,50 +0,0 @@
|
||||
captainVersion: 4
|
||||
services:
|
||||
$$cap_appname-db:
|
||||
image: mattermost/mattermost-prod-db:$$cap_mattermost_version
|
||||
volumes:
|
||||
- $$cap_appname-db-data:/var/lib/postgresql/data
|
||||
restart: always
|
||||
environment:
|
||||
POSTGRES_USER: mmuser
|
||||
POSTGRES_PASSWORD: $$cap_pg_pass
|
||||
POSTGRES_DB: mattermost
|
||||
caproverExtra:
|
||||
notExposeAsWebApp: 'true'
|
||||
$$cap_appname:
|
||||
image: mattermost/mattermost-prod-app:$$cap_mattermost_version
|
||||
depends_on:
|
||||
- $$cap_appname-db
|
||||
volumes:
|
||||
- $$cap_appname-data:/mattermost/data
|
||||
- $$cap_appname-logs:/mattermost/logs
|
||||
- $$cap_appname-config:/mattermost/config
|
||||
- $$cap_appname-plugins:/mattermost/plugins
|
||||
- $$cap_appname-clientplugins:/mattermost/client/plugins
|
||||
restart: always
|
||||
environment:
|
||||
MM_USERNAME: mmuser
|
||||
MM_PASSWORD: $$cap_pg_pass
|
||||
MM_DBNAME: mattermost
|
||||
DB_HOST: srv-captain--$$cap_appname-db
|
||||
MM_SERVICESETTINGS_SITEURL: https://$$cap_appname.$$cap_root_domain
|
||||
caproverExtra:
|
||||
containerHttpPort: '8000'
|
||||
caproverOneClickApp:
|
||||
variables:
|
||||
- id: $$cap_mattermost_version
|
||||
label: mattermost Docker Image tag
|
||||
defaultValue: v5.31.1
|
||||
description: Check out their Docker page for the valid tags https://hub.docker.com/r/mattermost/mattermost-prod-app/tags
|
||||
- id: $$cap_pg_pass
|
||||
label: Database Password
|
||||
description: Password must be at least 30 characters. Please use a random string.
|
||||
defaultValue: $$cap_gen_random_hex(32)
|
||||
validRegex: /^[^\@]{30,}$/
|
||||
instructions:
|
||||
start: Open-source collaboration/chat server Mattermost Team Edition. Note that version of mattermost is the E0 version, you do not need any licence to run it. This version is the one recommanded by mattermost to allow one click upgrade for E10 and E20 versions.
|
||||
end: Mattermost is deployed and available as srv-captain--$$cap_appname. Note that the application may take up to ten minutes to become available.
|
||||
displayName: Mattermost Entreprise Edition E0
|
||||
isOfficial: true
|
||||
description: Mattermost Team Edition open source collaboration/chat software
|
||||
documentation: https://github.com/mattermost/mattermost-docker
|
||||
@ -1,56 +0,0 @@
|
||||
captainVersion: 4
|
||||
services:
|
||||
$$cap_appname-postgres:
|
||||
image: postgres@$$cap_postgres_version
|
||||
volumes:
|
||||
- $$cap_appname-postgres-data:/var/lib/postgresql/data
|
||||
restart: always
|
||||
environment:
|
||||
POSTGRES_USER: mattermost
|
||||
POSTGRES_PASSWORD: $$cap_pg_pass
|
||||
POSTGRES_DB: mattermost
|
||||
caproverExtra:
|
||||
notExposeAsWebApp: 'true'
|
||||
$$cap_appname:
|
||||
depends_on:
|
||||
- $$cap_appname-postgres
|
||||
volumes:
|
||||
- $$cap_appname-data:/mattermost/data
|
||||
- $$cap_appname-logs:/mattermost/logs
|
||||
- $$cap_appname-config:/mattermost/config
|
||||
- $$cap_appname-plugins:/mattermost/plugins
|
||||
- $$cap_appname-clientplugins:/mattermost/client/plugins
|
||||
restart: always
|
||||
environment:
|
||||
MM_SQLSETTINGS_DATASOURCE: postgres://mattermost:$$cap_pg_pass@srv-captain--$$cap_appname-postgres:5432/mattermost?sslmode=disable&connect_timeout=10
|
||||
MM_SERVICESETTINGS_SITEURL: https://$$cap_appname.$$cap_root_domain
|
||||
MM_LOGSETTINGS_ENABLEDIAGNOSTICS: 'false'
|
||||
MM_SERVICESETTINGS_ENABLESECURITYFIXALERT: 'false'
|
||||
MM_SQLSETTINGS_DRIVERNAME: postgres
|
||||
caproverExtra:
|
||||
containerHttpPort: '8065'
|
||||
dockerfileLines:
|
||||
- FROM mattermost/mattermost-team-edition@$$cap_mattermost_version
|
||||
- RUN sed -i 's#api.segment.io#xx.example.com#gI' /mattermost/bin/mattermost
|
||||
- RUN sed -i 's#securityupdatecheck.mattermost.com#xxxxxxxxxxxxxxxxxxxxxx.example.com#gI' /mattermost/bin/mattermost
|
||||
caproverOneClickApp:
|
||||
variables:
|
||||
- id: $$cap_postgres_version
|
||||
label: Postgres Docker Image SHA Hash
|
||||
defaultValue: sha256:110d3325db02daa6e1541fdd37725fcbecb7d51411229d922562f208c51d35cc
|
||||
description: Check out their Docker page for the valid tags https://hub.docker.com/r/library/postgres/tags/ - default is 12.2 as of 2020-03-16
|
||||
- id: $$cap_mattermost_version
|
||||
label: Mattermost Docker Image SHA Hash
|
||||
defaultValue: sha256:f8a4416d0a50a03ebacdbcd44790d5996230da3f48dbefd02307e4fd713567aa
|
||||
description: Check out their Docker page for the valid tags https://hub.docker.com/r/mattermost/mattermost-team-edition/tags - default is current as of 2020-03-16
|
||||
- id: $$cap_pg_pass
|
||||
label: Postgres Password
|
||||
description: Password must be at least 30 characters. Please use a random string.
|
||||
validRegex: /^[^\@]{30,}$/
|
||||
instructions:
|
||||
start: Open-source collaboration/chat server Mattermost Team Edition.
|
||||
end: Mattermost is deployed and available as srv-captain--$$cap_appname:80. Note that the application may take up to ten minutes to become available. Following deployment you must verify MM_SERVICESETTINGS_SITEURL in the application's environment refers to your app's official public URL.
|
||||
displayName: Mattermost
|
||||
isOfficial: true
|
||||
description: Mattermost Team Edition open source collaboration/chat software
|
||||
documentation: https://github.com/mattermost/mattermost-docker
|
||||
@ -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.
|
||||
@ -1,95 +0,0 @@
|
||||
captainVersion: 4
|
||||
services:
|
||||
$$cap_appname:
|
||||
image: getmeili/meilisearch:$$cap_app_version
|
||||
volumes:
|
||||
- $$cap_appname-data:/data.ms
|
||||
- $$cap_appname-snapshot:/snapshot
|
||||
- $$cap_appname-dump:/dumps
|
||||
restart: always
|
||||
environment:
|
||||
MEILI_MASTER_KEY: $$cap_master_key
|
||||
MEILI_NO_ANALYTICS: $$cap_no_analytics
|
||||
MEILI_ENV: $$cap_env
|
||||
MEILI_HTTP_PAYLOAD_SIZE_LIMIT: $$cap_payload_size
|
||||
MEILI_MAX_MDB_SIZE: $$cap_max_mdb_size
|
||||
MEILI_MAX_UDB_SIZE: $$cap_max_udb_size
|
||||
MEILI_NO_SENTRY: $$cap_no_sentry
|
||||
MEILI_SCHEDULE_SNAPSHOT: $$cap_schedule_snapshot
|
||||
MEILI_SNAPSHOT_INTERVAL_SEC: $$cap_snapshot_interval
|
||||
MEILI_DUMP_BATCH_SIZE: $$cap_dump_batchsize
|
||||
caproverExtra:
|
||||
containerHttpPort: '7700'
|
||||
caproverOneClickApp:
|
||||
variables:
|
||||
- id: $$cap_app_version
|
||||
label: MeiliSearch Version
|
||||
description: 'Check out their Docker page for the valid tags: https://hub.docker.com/r/getmeili/meilisearch/tags'
|
||||
defaultValue: 'v0.20.0'
|
||||
validRegex: /^([^\s^\/])+$/
|
||||
- id: $$cap_master_key
|
||||
label: MeiliSearch Master Key
|
||||
description: 'The master key allowing you to do everything on the server. If no master key is provided all routes will be accessible without keys. (https://docs.meilisearch.com/reference/features/configuration.html#master-key)'
|
||||
defaultValue: $$cap_gen_random_hex(64)
|
||||
validRegex: /^([^\s^\/])+$/
|
||||
- id: $$cap_no_analytics
|
||||
label: Disable MeiliSearch Analytics
|
||||
defaultValue: 'false'
|
||||
validRegex: /^(true|false)$/
|
||||
description: Analytics allow us to know how many users are using MeiliSearch and the following (https://docs.meilisearch.com/reference/features/configuration.html#analytics)
|
||||
- id: $$cap_env
|
||||
label: MeiliSearch Environment (development/production)
|
||||
defaultValue: 'development'
|
||||
validRegex: /^(production|development)$/
|
||||
description: In production mode, the web interface is disabled. (https://docs.meilisearch.com/reference/features/configuration.html#environment)
|
||||
- id: $$cap_payload_size
|
||||
label: Payload Limit Size
|
||||
defaultValue: '104857600'
|
||||
validRegex: /^\d[\d.]*$/
|
||||
description: The maximum size, in bytes, of accepted JSON payloads.
|
||||
- id: $$cap_max_mdb_size
|
||||
label: Max MDB Size
|
||||
defaultValue: '107374182400'
|
||||
validRegex: /^\d[\d.]*$/
|
||||
description: The maximum size, in bytes, of the main database. The main database stores the processed data. (https://docs.meilisearch.com/reference/features/configuration.html#max-mdb-size)
|
||||
- id: $$cap_max_udb_size
|
||||
label: Max UDB Size
|
||||
defaultValue: '107374182400'
|
||||
validRegex: /^\d[\d.]*$/
|
||||
description: The maximum size, in bytes, of the update database. The update database stores the pending updates.
|
||||
- id: $$cap_no_sentry
|
||||
label: Disable Sentry
|
||||
defaultValue: 'true'
|
||||
validRegex: /^(true|false)$/
|
||||
description: MeiliSearch use Sentry to get bug reports and diagnostics, and improve MeiliSearch experience. To deactivate Sentry, set this value to true.
|
||||
- id: $$cap_schedule_snapshot
|
||||
label: Schedule Snapshot Creation
|
||||
defaultValue: 'false'
|
||||
validRegex: /^(true|false)$/
|
||||
description: To activate scheduled snapshots, set this value to true. Disabled by default.
|
||||
- id: $$cap_snapshot_interval
|
||||
label: Snapshot Interval
|
||||
defaultValue: '86400'
|
||||
validRegex: /^\d[\d.]*$/
|
||||
description: Defines the time gap in seconds between each snapshot creation.
|
||||
- id: $$cap_dump_batchsize
|
||||
label: Dump Batch Size
|
||||
defaultValue: '1024'
|
||||
validRegex: /^\d[\d.]*$/
|
||||
description: Sets the batch size used in the dump importation process.
|
||||
instructions:
|
||||
start: >-
|
||||
MeiliSearch is a lightning Fast, Ultra Relevant, and Typo-Tolerant Search Engine
|
||||
end: >-
|
||||
Your service is available at http://$$cap_appname.$$cap_root_domain
|
||||
|
||||
Each instance of MeiliSearch has three keys- a master, a private, and a public. (https://docs.meilisearch.com/reference/api/keys.html#keys)
|
||||
|
||||
|
||||
Get your private and public key using-
|
||||
|
||||
curl -H "X-Meili-API-Key: $$cap_master_key" -X GET 'http://$$cap_appname.$$cap_root_domain/keys'
|
||||
displayName: 'MeiliSearch'
|
||||
isOfficial: true
|
||||
description: MeiliSearch is a lightning Fast, Ultra Relevant, and Typo-Tolerant Search Engine
|
||||
documentation: https://docs.meilisearch.com/
|
||||
@ -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
|
||||
@ -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
|
||||
@ -1,41 +0,0 @@
|
||||
captainVersion: 4
|
||||
services:
|
||||
$$cap_appname:
|
||||
volumes:
|
||||
- $$cap_appname-db-data:/data
|
||||
- $$cap_appname-config-data:/root/.minio
|
||||
restart: always
|
||||
environment:
|
||||
MINIO_ACCESS_KEY: $$cap_access_key
|
||||
MINIO_SECRET_KEY: $$cap_secret_key
|
||||
caproverExtra:
|
||||
containerHttpPort: '9000'
|
||||
dockerfileLines:
|
||||
- FROM minio/minio:$$cap_minio_version
|
||||
- CMD ["minio", "server", "/data"]
|
||||
caproverOneClickApp:
|
||||
variables:
|
||||
- id: $$cap_minio_version
|
||||
label: Minio Version
|
||||
defaultValue: latest
|
||||
description: Check out their Docker page for the valid tags https://hub.docker.com/r/minio/minio/tags/
|
||||
validRegex: /^([^\s^\/])+$/
|
||||
- id: $$cap_access_key
|
||||
label: Minio Access Key
|
||||
defaultValue: ''
|
||||
description: Username to access minio server
|
||||
validRegex: /.{5,}/
|
||||
- id: $$cap_secret_key
|
||||
label: Minio Secret Key
|
||||
defaultValue: ''
|
||||
description: Password to access minio server
|
||||
validRegex: /.{8,}/
|
||||
instructions:
|
||||
start: >-
|
||||
Minio is an object storage server released under Apache License v2.0. It is compatible with Amazon S3 cloud storage service. It is best suited for storing unstructured data such as photos, videos, log files, backups and container / VM images. Size of an object can range from a few KBs to a maximum of 5TB. Minio server is light enough to be bundled with the application stack, similar to NodeJS, Redis and MySQL.
|
||||
This one click app deploy one single instance of minio. If you are deploying minio in a high demand production environment, you should consider deploying multiple instances of minio. See minio docs for more details. https://www.minio.io/
|
||||
end: Minio is deployed and available as $$cap_appname
|
||||
displayName: ''
|
||||
isOfficial: true
|
||||
description: MinIO is a cloud storage server compatible with Amazon S3
|
||||
documentation: Taken from https://hub.docker.com/r/minio/minio
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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/
|
||||
@ -1,63 +0,0 @@
|
||||
captainVersion: 4
|
||||
services:
|
||||
# Monica
|
||||
$$cap_appname:
|
||||
depends_on:
|
||||
- $$cap_appname-mariadb
|
||||
image: monica:$$cap_monica_version
|
||||
restart: 'always'
|
||||
environment:
|
||||
APP_KEY: $$cap_gen_random_hex(32)
|
||||
DB_HOST: srv-captain--$$cap_appname-mariadb
|
||||
DB_DATABASE: $$cap_mariadb-db
|
||||
DB_USERNAME: $$cap_mariadb-user
|
||||
DB_PASSWORD: $$cap_mariadb-pass
|
||||
APP_ENV: 'production'
|
||||
volumes:
|
||||
- $$cap_appname-storage:/var/www/html/storage
|
||||
# MariaDB
|
||||
$$cap_appname-mariadb:
|
||||
image: mariadb:$$cap_mariadb_version
|
||||
environment:
|
||||
MYSQL_RANDOM_ROOT_PASSWORD: '1'
|
||||
MYSQL_DATABASE: $$cap_mariadb-db
|
||||
MYSQL_USER: $$cap_mariadb-user
|
||||
MYSQL_PASSWORD: $$cap_mariadb-pass
|
||||
volumes:
|
||||
- $$cap_appname-mariadb-data:/var/lib/mysql
|
||||
restart: unless-stopped
|
||||
caproverExtra:
|
||||
notExposeAsWebApp: 'true'
|
||||
caproverOneClickApp:
|
||||
variables:
|
||||
- id: $$cap_monica_version
|
||||
label: Monica Docker version
|
||||
defaultValue: '2.19.1'
|
||||
description: Check out this page for the valid tags Find on https://hub.docker.com/_/monica?tab=tags. Use the Apache tag otherwise it won't work.
|
||||
- id: $$cap_mariadb_version
|
||||
label: MariaDB Version
|
||||
defaultValue: '10.5.6'
|
||||
description: Check out their docker page for the valid tags https://hub.docker.com/r/library/mariadb/tags/
|
||||
validRegex: /^([^\s^\/])+$/
|
||||
- id: $$cap_mariadb-db
|
||||
label: MariaDB Database
|
||||
description: Database name for Monica
|
||||
defaultValue: 'monica'
|
||||
- id: $$cap_mariadb-user
|
||||
label: MariaDB User
|
||||
description: Database User for Monica
|
||||
defaultValue: 'monica'
|
||||
- id: $$cap_mariadb-pass
|
||||
label: MariaDB database user password
|
||||
description: Super secret database user password
|
||||
instructions:
|
||||
start: >-
|
||||
Monica is a great open source personal relationship management system to organize the interactions with your loved ones.
|
||||
end: >-
|
||||
Aaaand you're done! 😄
|
||||
|
||||
Wait approximately 1 minutes until all migrations are done and then access Monica at https://$$cap_appname.$$cap_root_domain from your host system. If this looks ok, add your first user account.
|
||||
displayName: 'Monica'
|
||||
isOfficial: true
|
||||
description: Monica is a great open source personal relationship management system to organize the interactions with your loved ones.
|
||||
documentation: Taken from https://hub.docker.com/_/monica
|
||||
@ -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
|
||||
@ -1,34 +0,0 @@
|
||||
captainVersion: 4
|
||||
services:
|
||||
$$cap_appname-db:
|
||||
image: mysql:$$cap_mysql_version
|
||||
volumes:
|
||||
- $$cap_appname-db-data:/var/lib/mysql
|
||||
restart: always
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD: $$cap_db_pass
|
||||
caproverExtra:
|
||||
notExposeAsWebApp: 'true'
|
||||
caproverOneClickApp:
|
||||
variables:
|
||||
- id: $$cap_mysql_version
|
||||
label: MySQL Version
|
||||
defaultValue: '5.7'
|
||||
description: Check out their Docker page for the valid tags https://hub.docker.com/r/library/mysql/tags/
|
||||
validRegex: /^([^\s^\/])+$/
|
||||
- id: $$cap_db_pass
|
||||
label: MySQL Root password
|
||||
description: ''
|
||||
validRegex: /.{1,}/
|
||||
instructions:
|
||||
start: >-
|
||||
MySQL is the world's most popular open source database. With its proven performance, reliability and ease-of-use, MySQL has become the leading database choice for web-based applications, covering the entire range from personal projects and websites, via e-commerce and information services, all the way to high profile web properties including Facebook, Twitter, YouTube, Yahoo! and many more.
|
||||
|
||||
After installation on CapRover, it will be available as srv-captain--YOUR_CONTAINER_NAME at port 3306 to other CapRover apps.
|
||||
|
||||
Enter your MySQL Configuration parameters and click on next. It will take about a minute for the process to finish.
|
||||
end: "MySQL is deployed and available as srv-captain--$$cap_appname-db:3306 to other apps. For example with NodeJS, you do 'var con = mysql.createConnection({ host: 'srv-captain--$$cap_appname-db', user: 'root', password: '*********' });'"
|
||||
displayName: MySQL
|
||||
isOfficial: true
|
||||
description: MySQL is a relational database management system based on SQL
|
||||
documentation: Taken from https://docs.docker.com/compose/mysql/ port mapping removed from WP as it's not needed
|
||||
@ -1,92 +0,0 @@
|
||||
captainVersion: 4
|
||||
services:
|
||||
$$cap_appname-db:
|
||||
documentation: Taken from https://hub.docker.com/_/postgres
|
||||
image: postgres:$$cap_postgres_version
|
||||
volumes:
|
||||
- $$cap_appname-db-data:/var/lib/postgresql/data
|
||||
restart: always
|
||||
environment:
|
||||
POSTGRES_PASSWORD: $$cap_db_pass
|
||||
POSTGRES_DB: n8n
|
||||
POSTGRES_USER: $$cap_db_user
|
||||
caproverExtra:
|
||||
notExposeAsWebApp: 'true'
|
||||
$$cap_appname:
|
||||
documentation: Taken from https://hub.docker.com/r/n8nio/n8n
|
||||
depends_on:
|
||||
- $$cap_appname-db
|
||||
image: n8nio/n8n:$$cap_n8n_version
|
||||
volumes:
|
||||
- $$cap_appname-data:/root/.n8n
|
||||
- $$cap_appname-data-write:/files
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
environment:
|
||||
DB_POSTGRESDB_DATABASE: n8n
|
||||
DB_POSTGRESDB_HOST: srv-captain--$$cap_appname-db
|
||||
DB_POSTGRESDB_PASSWORD: $$cap_db_pass
|
||||
DB_POSTGRESDB_PORT: '5432'
|
||||
DB_POSTGRESDB_USER: $$cap_db_user
|
||||
DB_TYPE: postgresdb
|
||||
GENERIC_TIMEZONE: $$cap_timezone
|
||||
TZ: $$cap_timezone
|
||||
N8N_PROTOCOL: http
|
||||
WEBHOOK_TUNNEL_URL: https://$$cap_appname.$$cap_root_domain/
|
||||
VUE_APP_URL_BASE_API: https://$$cap_appname.$$cap_root_domain/
|
||||
N8N_HOST: https://$$cap_appname.$$cap_root_domain/
|
||||
N8N_BASIC_AUTH_ACTIVE: 'true'
|
||||
N8N_BASIC_AUTH_USER: $$cap_user
|
||||
N8N_BASIC_AUTH_PASSWORD: $$cap_pass
|
||||
restart: always
|
||||
caproverExtra:
|
||||
containerHttpPort: '5678'
|
||||
caproverOneClickApp:
|
||||
variables:
|
||||
- id: $$cap_n8n_version
|
||||
label: n8n.io Version
|
||||
defaultValue: 0.116.1
|
||||
description: Check out their Docker page for the valid tags https://hub.docker.com/r/n8nio/n8n/tags
|
||||
validRegex: /^([^\s^\/])+$/
|
||||
- id: $$cap_postgres_version
|
||||
label: Postgres (database) version
|
||||
defaultValue: '12'
|
||||
description: Check out their Docker page for the valid tags https://hub.docker.com/_/postgres?tab=tags
|
||||
validRegex: /^([^\s^\/])+$/
|
||||
- id: $$cap_db_pass
|
||||
label: database password
|
||||
defaultValue: $$cap_gen_random_hex(16)
|
||||
description: Password for the database user and root using mysql.
|
||||
validRegex: /.{1,}/
|
||||
- id: $$cap_db_user
|
||||
label: database user
|
||||
defaultValue: n8n
|
||||
description: Username for the database using postgres.
|
||||
validRegex: /^([a-z0-9])+$/i
|
||||
- id: $$cap_timezone
|
||||
label: timezone
|
||||
defaultValue: Europe/Paris
|
||||
description: Timezone used by the server. Please check out this page https://en.wikipedia.org/wiki/List_of_tz_database_time_zones for valid time
|
||||
validRegex: /^([a-z_\+-0-9]+\/?[a-z_\+-0-9]*)$/i
|
||||
- id: $$cap_user
|
||||
label: user
|
||||
defaultValue: root
|
||||
description: user you need to use to login into the web interface
|
||||
validRegex: /^([a-z0-9])+$/i
|
||||
- id: $$cap_pass
|
||||
label: password
|
||||
description: password you need to use to login into the web interface
|
||||
validRegex: /.{1,}/
|
||||
instructions:
|
||||
start: >-
|
||||
n8n is a free and open node based Workflow Automation Tool.
|
||||
|
||||
The process will deploy a database and the App. It will take about a minute for the process to finish.
|
||||
end: >-
|
||||
n8n is deployed and available as $$cap_appname.
|
||||
|
||||
IMPORTANT!! You need to enable https and websocket support.
|
||||
|
||||
Also, make sure you do not activate basic auth manually.
|
||||
displayName: n8n.io
|
||||
isOfficial: true
|
||||
description: n8n is a free and open node based Workflow Automation Tool.
|
||||
@ -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
|
||||
@ -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/
|
||||
@ -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
|
||||
@ -1,29 +0,0 @@
|
||||
captainVersion: 4
|
||||
services:
|
||||
$$cap_appname:
|
||||
image: caprover/nginx-reverse-proxy:latest
|
||||
restart: always
|
||||
environment:
|
||||
UPSTREAM_HTTP_ADDRESS: $$cap_upstream_http_address
|
||||
CLIENT_MAX_BODY_SIZE: $$cap_max_body_size
|
||||
caproverOneClickApp:
|
||||
variables:
|
||||
- id: $$cap_upstream_http_address
|
||||
label: Upstream address
|
||||
description: >-
|
||||
For example use https://caprover.com to forward all request to CapRover. Do not include a trailing slash.
|
||||
If you're forwarding http requests to a CapRover internal app use http://srv-captain--yourappnamehere or if you want a particular port, use http://srv-captain--yourappnamehere:8080
|
||||
defaultValue: ''
|
||||
validRegex: /^(http:\/\/|https:\/\/)\S*$/
|
||||
- id: $$cap_max_body_size
|
||||
label: Client max body size
|
||||
description: Sets the maximum allowed size of the client request body, specified in the “Content-Length” request header field. If the size in a request exceeds the configured value, the 413 (Request Entity Too Large) error is returned to the client. Please be aware that browsers cannot correctly display this error. Setting size to 0 disables checking of client request body size.
|
||||
defaultValue: 256M
|
||||
validRegex: /^\d+M$/
|
||||
instructions:
|
||||
start: This is a very simply reverse proxy image. It forwards all HTTP requests to the HTTP address that you define.
|
||||
end: Reverse Proxy is deployed and available as $$cap_appname
|
||||
displayName: Nginx Reverse Proxy
|
||||
isOfficial: true
|
||||
description: A simple Nginx image preloaded with reverse proxy config that allows you to proxy a URL to another URL
|
||||
documentation: Taken from https://github.com/caprover/nginx-reverse-proxy
|
||||
@ -1,62 +0,0 @@
|
||||
captainVersion: 4
|
||||
services:
|
||||
$$cap_appname-mongodb:
|
||||
image: mongo:$$cap_mongo_version
|
||||
volumes:
|
||||
- $$cap_appname-db-data:/data/db
|
||||
- $$cap_appname-db-config:/data/configdb
|
||||
restart: always
|
||||
environment:
|
||||
MONGO_INITDB_ROOT_USERNAME: root
|
||||
MONGO_INITDB_ROOT_PASSWORD: $$cap_mongo_password
|
||||
caproverExtra:
|
||||
notExposeAsWebApp: 'true'
|
||||
$$cap_appname-nightscout:
|
||||
depends_on:
|
||||
- $$cap_appname-mongodb
|
||||
restart: always
|
||||
environment:
|
||||
PORT: '1337'
|
||||
INSECURE_USE_HTTP: 'true'
|
||||
MONGO_CONNECTION: mongodb://root:$$cap_mongo_password@srv-captain--$$cap_appname-mongodb:27017/nightscout?authSource=admin
|
||||
API_SECRET: $$cap_api_secret
|
||||
BASE_URL: https://replace.me.in.settings.of.website.com
|
||||
DISPLAY_UNITS: mg/dl
|
||||
caproverExtra:
|
||||
containerHttpPort: '1337'
|
||||
dockerfileLines:
|
||||
- FROM node:10
|
||||
- RUN mkdir -p /opt/app
|
||||
- WORKDIR /opt/app
|
||||
- RUN git clone git://github.com/nightscout/cgm-remote-monitor.git /opt/app
|
||||
- RUN cd /opt/app && git checkout $$cap_nighscout_version && rm -rf .git
|
||||
- RUN cd /opt/app && npm install && npm run postinstall && npm run env
|
||||
- EXPOSE 1337
|
||||
- CMD ["node", "server.js"]
|
||||
caproverOneClickApp:
|
||||
variables:
|
||||
- id: $$cap_mongo_version
|
||||
label: MongoDB Version
|
||||
defaultValue: '4'
|
||||
description: Check out their Docker page for the valid tags https://hub.docker.com/r/library/mongo/tags/
|
||||
validRegex: /^([^\s^\/])+$/
|
||||
- id: $$cap_mongo_password
|
||||
label: MongoDB password
|
||||
description: Only use alphanumeric chars.
|
||||
validRegex: /^([a-zA-Z0-9])+$/
|
||||
- id: $$cap_nighscout_version
|
||||
label: Nighscout Version
|
||||
defaultValue: 0.11.1
|
||||
description: Check out their page for the valid tags https://github.com/nightscout/cgm-remote-monitor/releases
|
||||
validRegex: /^([^\s^\/])+$/
|
||||
- id: $$cap_api_secret
|
||||
label: API key
|
||||
description: Use a random string (alphanumberic) - minimum 12 characters. See documentation for more details.
|
||||
validRegex: /^([a-zA-Z0-9]){12,}$/
|
||||
instructions:
|
||||
start: Nightscout acts as a web-based CGM (Continuous Glucose Monitor) to allow multiple caregivers to remotely view a patient's glucose data in real time.
|
||||
end: Nightscout is deployed and available as $$cap_appname-nightscout.
|
||||
displayName: ''
|
||||
isOfficial: true
|
||||
description: Nightscout is a free and open-source project, and associated social movement, that enables accessing and working with continuous glucose monitor data
|
||||
documentation: Built from scratch (https://github.com/nightscout/cgm-remote-monitor)
|
||||
@ -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
|
||||
@ -1,54 +0,0 @@
|
||||
captainVersion: 4
|
||||
networks:
|
||||
db:
|
||||
driver: bridge
|
||||
search:
|
||||
driver: bridge
|
||||
services:
|
||||
$$cap_appname-db:
|
||||
image: postgres:$$cap_postgres_version
|
||||
volumes:
|
||||
- $$cap_appname-db-data:/var/lib/postgresql/data
|
||||
restart: always
|
||||
environment:
|
||||
POSTGRES_USER: odoo
|
||||
POSTGRES_PASSWORD: $$cap_postgres_password
|
||||
POSTGRES_DB: postgres
|
||||
caproverExtra:
|
||||
notExposeAsWebApp: 'true'
|
||||
$$cap_appname:
|
||||
image: odoo:$$cap_odoo_version
|
||||
depends_on:
|
||||
- $$cap_appname-db
|
||||
volumes:
|
||||
- $$cap_appname-odoo-web-data:/var/lib/odoo
|
||||
- $$cap_appname-config:/etc/odoo
|
||||
- $$cap_appname-addons:/mnt/extra-addons
|
||||
restart: always
|
||||
environment:
|
||||
POSTGRES_PASSWORD: $$cap_postgres_password
|
||||
HOST: srv-captain--$$cap_appname-db
|
||||
caproverExtra:
|
||||
containerHttpPort: '8069'
|
||||
caproverOneClickApp:
|
||||
variables:
|
||||
- id: $$cap_postgres_version
|
||||
label: Postgres Version
|
||||
defaultValue: 9.6.18-alpine
|
||||
description: Check out their docker page for the valid tags https://hub.docker.com/r/library/postgres/tags/
|
||||
validRegex: /^([^\s^\/])+$/
|
||||
- id: $$cap_postgres_password
|
||||
label: Postgres Password
|
||||
description: ''
|
||||
validRegex: /.{1,}/
|
||||
- id: $$cap_odoo_version
|
||||
label: Odoo Version
|
||||
defaultValue: '13.0'
|
||||
description: Check out their docker page for the valid tags https://hub.docker.com/_/odoo?tab=tags
|
||||
validRegex: /^([^\s^\/])+$/
|
||||
instructions:
|
||||
start: Odoo is an open source product CRM
|
||||
end: Odoo is deployed and the dashboard is available from http://$$cap_appname.$$cap_root_domain.
|
||||
isOfficial: true
|
||||
description: Odoo, formerly known as OpenERP, is a suite of open-source business apps written in Python and released under the AGPL license.
|
||||
documentation: https://hub.docker.com/_/odoo?tab=description
|
||||
@ -1,82 +0,0 @@
|
||||
captainVersion: 4
|
||||
services:
|
||||
$$cap_appname-redis:
|
||||
image: redis
|
||||
caproverExtra:
|
||||
notExposeAsWebApp: 'true'
|
||||
$$cap_appname-mongo:
|
||||
image: mongo
|
||||
volumes:
|
||||
- $$cap_appname-mongo-data:/data/db
|
||||
environment:
|
||||
MONGO_INITDB_ROOT_USERNAME: $$cap_db_user
|
||||
MONGO_INITDB_ROOT_PASSWORD: $$cap_db_pass
|
||||
caproverExtra:
|
||||
notExposeAsWebApp: 'true'
|
||||
$$cap_appname-mailhog:
|
||||
image: mailhog/mailhog
|
||||
caproverExtra:
|
||||
notExposeAsWebApp: 'true'
|
||||
$$cap_appname-api:
|
||||
image: ohmyform/api
|
||||
environment:
|
||||
CREATE_ADMIN: true
|
||||
ADMIN_EMAIL: $$cap_ohmyform_email
|
||||
ADMIN_USERNAME: $$cap_ohmyform_user
|
||||
ADMIN_PASSWORD: $$cap_ohmyform_pass
|
||||
MONGODB_URI: mongodb://$$cap_db_user:$$cap_db_pass@srv-captain--$$cap_appname-mongo:27017/$$cap_appname?authSource=admin
|
||||
MAILER_URI: smtp://srv-captain--$$cap_appname-mailhog:1025
|
||||
REDIS_URL: redis://$$cap_appname-redis
|
||||
SECRET_KEY: $$cap_gen_random_hex(64)
|
||||
PORT: 5000
|
||||
caproverExtra:
|
||||
containerHttpPort: '5000'
|
||||
$$cap_appname:
|
||||
image: ohmyform/ui
|
||||
environment:
|
||||
API_HOST: https://$$cap_appname-api.$$cap_root_domain/graphql
|
||||
HIDE_CONTRIB: true
|
||||
APP_NAME: $$cap_ohmyform_title
|
||||
PORT: 5000
|
||||
caproverExtra:
|
||||
containerHttpPort: '5000'
|
||||
caproverOneClickApp:
|
||||
variables:
|
||||
- id: $$cap_ohmyform_email
|
||||
label: Admin E-Mail
|
||||
description: E-Mail for the OhMyForm admin user
|
||||
validRegex: /.{1,}/
|
||||
- id: $$cap_ohmyform_user
|
||||
label: Admin user name
|
||||
description: User name for the OhMyForm admin user
|
||||
defaultValue: ohmyadmin
|
||||
validRegex: /.{1,}/
|
||||
- id: $$cap_ohmyform_pass
|
||||
label: Admin password
|
||||
description: Password for the OhMyForm admin user
|
||||
defaultValue: $$cap_gen_random_hex(64)
|
||||
validRegex: /.{1,}/
|
||||
- id: $$cap_db_user
|
||||
label: Database user
|
||||
defaultValue: ohmyform
|
||||
validRegex: /^([a-zA-Z0-9])+$/
|
||||
- id: $$cap_db_pass
|
||||
label: Database password
|
||||
defaultValue: $$cap_gen_random_hex(64)
|
||||
validRegex: /.{1,}/
|
||||
- id: $$cap_ohmyform_title
|
||||
label: Title
|
||||
description: Title for OhMyForm
|
||||
defaultValue: OhMyForm
|
||||
validRegex: /.{1,}/
|
||||
instructions:
|
||||
start: |-
|
||||
An open source alternative to TypeForm and Google Forms that can create stunning mobile-ready forms, surveys and questionnaires.
|
||||
With OhMyForm you'll get all the features you need to run, administer, analyze and distribute forms for free.
|
||||
More details: https://ohmyform.com/
|
||||
end: |-
|
||||
OhMyForm has been successfully deployed! Be sure to activate (or better yet, enforce) https access for $$cap_appname-api and $$cap_appname. You can then log in with user $$cap_ohmyform_user and password $$cap_ohmyform_pass at https://$$cap_appname.$$cap_root_domain
|
||||
displayName: OhMyForm
|
||||
isOfficial: true
|
||||
description: Create stunning embedable forms for recruiting, market research, surveys and more https://ohmyform.com/
|
||||
documentation: https://ohmyform.com/docs/
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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/
|
||||
@ -1,109 +0,0 @@
|
||||
captainVersion: 4
|
||||
services:
|
||||
$$cap_appname-redis:
|
||||
image: redis:5
|
||||
caproverExtra:
|
||||
notExposeAsWebApp: 'true'
|
||||
$$cap_appname-fakes3:
|
||||
image: lphoward/fake-s3
|
||||
volumes:
|
||||
- $$cap_appname-fakes3:/fakes3_root
|
||||
caproverExtra:
|
||||
notExposeAsWebApp: 'true'
|
||||
$$cap_appname-db:
|
||||
image: postgres:12.2
|
||||
volumes:
|
||||
- $$cap_appname-db-data:/var/lib/postgresql/data
|
||||
restart: always
|
||||
environment:
|
||||
POSTGRES_USER: $$cap_db_user
|
||||
POSTGRES_PASSWORD: $$cap_db_pass
|
||||
POSTGRES_DB: outline
|
||||
caproverExtra:
|
||||
notExposeAsWebApp: 'true'
|
||||
$$cap_appname-outline:
|
||||
depends_on:
|
||||
- $$cap_appname-fakes3
|
||||
- $$cap_appname-redis
|
||||
- $$cap_appname-db
|
||||
image: outlinewiki/outline:$$cap_outline_version
|
||||
environment:
|
||||
SECRET_KEY: $$cap_secret_key
|
||||
UTILS_SECRET: $$cap_utils_secret
|
||||
AWS_ACCESS_KEY_ID: get_a_key_from_aws
|
||||
AWS_SECRET_ACCESS_KEY: get_the_secret_of_above_key
|
||||
AWS_REGION: xx-xxxx-x
|
||||
AWS_S3_UPLOAD_BUCKET_URL: http://srv-captain--$$cap_appname-fakes3:4569
|
||||
AWS_S3_UPLOAD_BUCKET_NAME: bucket_name_here
|
||||
AWS_S3_UPLOAD_MAX_SIZE: '26214400'
|
||||
AWS_S3_ACL: private
|
||||
SLACK_KEY: $$cap_slack_key
|
||||
SLACK_SECRET: $$cap_slack_secret
|
||||
GOOGLE_CLIENT_ID: $$cap_google_client_id
|
||||
GOOGLE_CLIENT_SECRET: $$cap_google_client_secret
|
||||
FORCE_HTTPS: 'false'
|
||||
DEPLOYMENT: self
|
||||
ENABLE_UPDATES: 'false'
|
||||
SUBDOMAINS_ENABLED: 'false'
|
||||
WEBSOCKETS_ENABLED: 'false'
|
||||
DEBUG: cache,presenters,events
|
||||
URL: https://$$cap_appname-outline.$$cap_root_domain
|
||||
PORT: '80'
|
||||
REDIS_URL: redis://srv-captain--$$cap_appname-redis:6379
|
||||
DATABASE_URL_TEST: postgres://$$cap_db_user:$$cap_db_pass@srv-captain--$$cap_appname-db:5432/outline-test
|
||||
DATABASE_URL: postgres://$$cap_db_user:$$cap_db_pass@srv-captain--$$cap_appname-db:5432/outline
|
||||
caproverOneClickApp:
|
||||
variables:
|
||||
- id: $$cap_db_user
|
||||
label: Database user
|
||||
defaultValue: outlineuser
|
||||
validRegex: /^([a-zA-Z0-9])+$/
|
||||
- id: $$cap_db_pass
|
||||
label: Database password
|
||||
description: ''
|
||||
validRegex: /.{8,}/
|
||||
- id: $$cap_slack_key
|
||||
label: Slack Key
|
||||
description: 'IMPORTANT: You need to, at least, set one 3rd party login method, either Slack or Google'
|
||||
defaultValue: get_a_key_from_slack
|
||||
- id: $$cap_slack_secret
|
||||
label: Slack Secret
|
||||
description: ''
|
||||
defaultValue: get_the_secret_of_above_key
|
||||
- id: $$cap_google_client_id
|
||||
label: Google Client ID
|
||||
- id: $$cap_google_client_secret
|
||||
label: Google Client Secret
|
||||
description: ''
|
||||
- id: $$cap_secret_key
|
||||
label: SECRET_KEY
|
||||
description: 'Run this command to generate a key: openssl rand -hex 32'
|
||||
defaultValue: c63eaeed7ee7459098e2901ed87c8b70817428b85fbe3ef59cb6a79abb2bbf4a
|
||||
validRegex: /^([0-9a-f]){64}$/
|
||||
- id: $$cap_utils_secret
|
||||
label: UTILS_SECRET
|
||||
description: 'Run this command to generate a key: openssl rand -hex 32'
|
||||
defaultValue: c9b4d178130f53efc7419eaec9a2e764481269c9602c2ef2e541bdadc63b5bbf
|
||||
validRegex: /^([0-9a-f]){64}$/
|
||||
- id: $$cap_outline_version
|
||||
label: Outline Version
|
||||
defaultValue: version-0.41.0
|
||||
description: Check out their page for the valid tags https://hub.docker.com/r/outlinewiki/outline/tags
|
||||
validRegex: /^([^\s^\/])+$/
|
||||
instructions:
|
||||
start: Outline is an open, extensible, wiki for your team built using React and Node.js.
|
||||
end: >
|
||||
IMPORTANT: before you start using Outline, you need to
|
||||
|
||||
1) Enable HTTPS
|
||||
2) Force HTTPS
|
||||
3) Enable Websocket in $$cap_appname-outline.
|
||||
4) Run database migration `npm run sequelize:migrate` within the $$cap_appname-outline docker container.
|
||||
|
||||
You can customize more settings by environmental variables described here: https://github.com/outline/outline/blob/0deecfac446c37545e0787b3d32062e608a950ab/.env.sample
|
||||
|
||||
IMPORTANT: It will take up to 2 minutes for it to be ready. Before that, you might see a 502 error page.
|
||||
displayName: Outline
|
||||
isOfficial: true
|
||||
description: An open, extensible, wiki for your team built using React and Node.js.
|
||||
documentation: Taken from https://github.com/outline/outline/blob/master/docker-compose.yml
|
||||
@ -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
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user