diff --git a/public/v2/apps/nextcloud.json b/public/v2/apps/nextcloud.json index e472f19..7fffdbc 100644 --- a/public/v2/apps/nextcloud.json +++ b/public/v2/apps/nextcloud.json @@ -1,31 +1,85 @@ { "captainVersion": "2", "documentation": "Taken from https://hub.docker.com/_/nextcloud", - "displayName": "", + "displayName": "nextcloud", "description": "Nextcloud is a suite of client-server software for creating and using file hosting services", "dockerCompose": { "version": "3.3", "services": { + "$$cap_appname-db": { + "documentation": "Taken from https://hub.docker.com/_/mariadb", + "image": "mariadb:$$cap_mariadb_version", + "notExposeAsWebApp": "true", + "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" + } + }, "$$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": {} + "environment": { + "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" + } } } }, "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 available as $$cap_appname" + "end": "NextCloud is deployed and will be available on few minutes as $$cap_appname" }, "variables": [{ "id": "$$cap_nextcloud_version", "label": "NextCloud Version", - "defaultValue": "15", - "description": "Check out their Docker page for the valid tags https://hub.docker.com/r/library/nextcloud/tags/", + "defaultValue": "18.0.4", + "description": "Check out their Docker page for the valid tags https://hub.docker.com/r/library/nextcloud/tags/\n\n 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,}/" }] - -} \ No newline at end of file +}