98 lines
4.2 KiB
YAML
98 lines
4.2 KiB
YAML
captainVersion: 4
|
|
services:
|
|
$$cap_appname-db:
|
|
documentation: Taken from https://hub.docker.com/_/mariadb
|
|
image: mariadb:$$cap_mariadb_version
|
|
volumes:
|
|
- $$cap_appname-db-data:/var/lib/mysql
|
|
restart: always
|
|
environment:
|
|
MYSQL_ROOT_PASSWORD: $$cap_db_pass
|
|
MYSQL_DATABASE: nextcloud
|
|
MYSQL_USER: $$cap_db_user
|
|
MYSQL_PASSWORD: $$cap_db_pass
|
|
caproverExtra:
|
|
notExposeAsWebApp: 'true'
|
|
$$cap_appname:
|
|
depends_on:
|
|
- $$cap_appname-db
|
|
documentation: Taken from https://hub.docker.com/_/nextcloud
|
|
image: nextcloud:$$cap_nextcloud_version
|
|
volumes:
|
|
- $$cap_appname-data:/var/www/html
|
|
restart: always
|
|
environment:
|
|
OVERWRITEPROTOCOL: $$cap_http_https_cors
|
|
MYSQL_DATABASE: nextcloud
|
|
MYSQL_USER: $$cap_db_user
|
|
MYSQL_PASSWORD: $$cap_db_pass
|
|
MYSQL_HOST: srv-captain--$$cap_appname-db
|
|
NEXTCLOUD_ADMIN_USER: $$cap_admin_user
|
|
NEXTCLOUD_ADMIN_PASSWORD: $$cap_admin_pass
|
|
NEXTCLOUD_TRUSTED_DOMAINS: $$cap_appname.$$cap_root_domain
|
|
$$cap_appname-cron:
|
|
depends_on:
|
|
- $$cap_appname-db
|
|
- $$cap_appname
|
|
documentation: https://github.com/nextcloud/docker/blob/master/.examples/docker-compose/insecure/mariadb-cron-redis/apache/docker-compose.yml
|
|
restart: always
|
|
volumes:
|
|
- $$cap_appname-data:/var/www/html
|
|
caproverExtra:
|
|
dockerfileLines:
|
|
- FROM nextcloud:$$cap_nextcloud_version
|
|
- 'ENTRYPOINT [ "/cron.sh" ] '
|
|
notExposeAsWebApp: 'true'
|
|
caproverOneClickApp:
|
|
variables:
|
|
- id: $$cap_nextcloud_version
|
|
label: NextCloud Version
|
|
defaultValue: 19.0.0
|
|
description: >-
|
|
Check out their Docker page for the valid tags https://hub.docker.com/r/library/nextcloud/tags/
|
|
|
|
|
|
Do not use fpm versions.
|
|
validRegex: /^([^\s^\/])+$/
|
|
- id: $$cap_mariadb_version
|
|
label: MariaDB (database) version
|
|
defaultValue: 10.5.3
|
|
description: Check out their Docker page for the valid tags https://hub.docker.com/_/mariadb?tab=tags
|
|
validRegex: /^([^\s^\/])+$/
|
|
- id: $$cap_db_pass
|
|
label: database password
|
|
description: Password for the database user and root using mysql.
|
|
validRegex: /.{1,}/
|
|
- id: $$cap_db_user
|
|
label: database user
|
|
defaultValue: nextcloud
|
|
description: Username for the database using mysql.
|
|
validRegex: /^([a-zA-Z0-9])+$/
|
|
- id: $$cap_admin_user
|
|
label: admin name
|
|
defaultValue: admin
|
|
description: Name of the Nextcloud admin user.
|
|
validRegex: /^([a-zA-Z0-9\@\.])+$/
|
|
- id: $$cap_admin_pass
|
|
label: admin password
|
|
description: Password for the Nextcloud admin user.
|
|
validRegex: /.{1,}/
|
|
- id: $$cap_http_https_cors
|
|
label: Protocol of proxy
|
|
defaultValue: https
|
|
description: Choose either http or https. cors configuration to login are set by the docker image, if you do not set this same as your proxy configuration, login will fail
|
|
validRegex: /^http[s]?$/
|
|
instructions:
|
|
start: A safe home for all your data. Access & share your files, calendars, contacts, mail & more from any device, on your terms. http://Nextcloud.com
|
|
end: >-
|
|
NextCloud is deployed and will be available on few minutes as $$cap_appname.
|
|
|
|
If you set the cors sections to https, please enable https on your app. If you do not activate it you will have an error.
|
|
|
|
|
|
For better performances and compliance, you can add "add_header Strict-Transport-Security "max-age=15552000; includeSubDomains" always;" below "proxy_set_header X-Forwarded-Proto $scheme;" into the nginx configuration.
|
|
displayName: nextcloud
|
|
isOfficial: true
|
|
description: Nextcloud is a suite of client-server software for creating and using file hosting services
|
|
documentation: Taken from https://hub.docker.com/_/nextcloud
|