diff --git a/templates/NextCloud/0/docker-compose.yml b/templates/NextCloud/0/docker-compose.yml index 1cb599f..45c96b3 100644 --- a/templates/NextCloud/0/docker-compose.yml +++ b/templates/NextCloud/0/docker-compose.yml @@ -1,45 +1,40 @@ version: '2' services: nextcloud: - image: nextcloud:12-apache - volumes_from: - - nextcloud-data - ports: - - ${NEXTCLOUD_PORT}:80 - depends_on: - - mariadb - labels: - io.rancher.sidekicks: nextcloud-data - io.rancher.container.hostname_override: container_name - - nextcloud-data: - image: nextcloud:12-apache - entrypoint: - - /bin/true - volumes: - - /var/www/html - labels: - io.rancher.container.start_once: 'true' - io.rancher.container.hostname_override: container_name - - mariadb: - image: mariadb:10 + image: nextcloud:stable-apache environment: - MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASS} - MYSQL_DATABASE: ${MYSQL_DATABASE} - MYSQL_USER: ${MYSQL_USER} - MYSQL_PASSWORD: ${MYSQL_PASS} + MYSQL_HOST: mysql + MYSQL_DATABASE: nextcloud + MYSQL_USER: nextcloud_user + MYSQL_PASSWORD: ${DB_USER_PASS} + NEXTCLOUD_ADMIN_USER: ${NC_ADMIN} + NEXTCLOUD_ADMIN_PASSWORD: ${NC_ADMIN_PASS} labels: - io.rancher.sidekicks: mariadb-data - io.rancher.container.hostname_override: container_name - - mariadb-data: - image: mariadb:10 - entrypoint: - - /bin/true + # io.rancher.container.hostname_override: container_name +{{- if (.Values.HOST_LABEL)}} + io.rancher.scheduler.affinity:host_label: ${HOST_LABEL} +{{- end}} + networks: + - nextcloud-net + ports: + - "${HOST_HTTP_PORT}:80" + restart: on-failure volumes: - - /var/lib/mysql - tty: true + - ${STORAGE_BASE_DIR}${APP_DIR}:/var/www/html + - ${STORAGE_BASE_DIR}${DATA_DIR}:/var/www/html/data + mysql: + image: mysql + environment: + MYSQL_DATABASE: nextcloud + MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASS} + MYSQL_USER: nextcloud_user + MYSQL_PASSWORD: ${DB_USER_PASS} labels: - io.rancher.container.start_once: 'true' - io.rancher.container.hostname_override: container_name \ No newline at end of file +{{- if (.Values.HOST_LABEL)}} + io.rancher.scheduler.affinity:host_label: ${HOST_LABEL} +{{- end}} + networks: + - nextcloud-net + restart: on-failure + volumes: + - ${STORAGE_BASE_DIR}${DB_DIR}:/var/lib/mysql \ No newline at end of file diff --git a/templates/NextCloud/0/rancher-compose.yml b/templates/NextCloud/0/rancher-compose.yml index 82e80c4..1dea6aa 100644 --- a/templates/NextCloud/0/rancher-compose.yml +++ b/templates/NextCloud/0/rancher-compose.yml @@ -1,6 +1,6 @@ version: '2' catalog: - name: NextCloud + name: Nextcloud version: latest # description: # minimum_rancher_version: @@ -8,44 +8,70 @@ catalog: # upgrade_from: questions: - - variable: NEXTCLOUD_PORT - label: Port - default: 80 - required: true - type: int + - variable: HOST_LABEL + label: "Host Label Key/Value Pair" + description: | + The Label Key/Value pair on the host which containers should be deployed + default: "host.id=0000" + required: false + type: string - - variable: MYSQL_ROOT_PASS - label: MySQL root password + - variable: HOST_HTTP_PORT + label: Port + description: | + The HTTP port to access the web interface on. + default: "9000" + required: true + type: string + + - variable: STORAGE_BASE_DIR + label: "Base Storage Directory" + description: | + The base path of where persistent storage should be kept at. + default: "/RancherStorage/Nextcloud" + required: true + type: string + + - variable: APP_DIR + label: "Application Files Directory" + description: | + The folder for persistent logo files. + default: "/Nextcloud" + required: true + type: string + + - variable: DATA_DIR + label: "User Data Directory" + description: | + The folder for persistent user data. + default: "/UserData" + required: true + type: string + + - variable: DB_DIR + label: "Database Directory" + description: | + The folder for persistent database files. + default: "/Database" + required: true + type: string + + - variable: DB_ROOT_PASS + label: "MySQL Root Password" + description: | + A secure password to be used by the "root" MySQL user. required: true type: password - - variable: MYSQL_DATABASE - default: nextcloud - label: MySQL Database - required: true - type: string - - - variable: MYSQL_USER - default: nextcloud - label: MySQL User - required: true - type: string - - - variable: MYSQL_PASS - label: MySQL Pass + - variable: DB_USER_PASS + label: "MySQL User Password" + description: | + A secure password to be used by the "nextcloud_user" MySQL user. required: true type: password services: nextcloud: scale: 1 - start_on_create: true - nextcloud-data: - scale: 1 - start_on_create: true - mariadb: - scale: 1 - start_on_create: true - mariadb-data: - scale: 1 - start_on_create: true \ No newline at end of file + mysql: + scale: 1 \ No newline at end of file