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