version: '2' services: nextcloud: image: nextcloud:stable-apache depends_on: # Hopefully one day I'll upgrade to a rancher version that actually makes use of this. Here just for a future reminder. - mysql dns: - 1.1.1.1 - 1.0.0.1 environment: 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.container.hostname_override: container_name {{- if (.Values.HOST_LABEL)}} io.rancher.scheduler.affinity:host_label: ${HOST_LABEL} {{- end}} traefik.enable: true traefik.alias: cloudtest.williammiceli.systems traefik.frontend.rule: Host:cloudtest.williammiceli.systems traefik.port: 9500 traefik.acme: true traefik.backend: Nextcloud traefik.frontend.entryPoints: http,https traefik.docker.network: public networks: - default - nextcloud-nfs-net - public ports: - "${HOST_HTTP_PORT}:80" restart: on-failure volumes: - Application:/var/www/html - UserData:/var/www/html/data mysql: image: mysql:5 dns: - 1.1.1.1 - 1.0.0.1 environment: MYSQL_DATABASE: nextcloud MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASS} MYSQL_USER: nextcloud_user MYSQL_PASSWORD: ${DB_USER_PASS} labels: {{- if (.Values.HOST_LABEL)}} io.rancher.scheduler.affinity:host_label: ${HOST_LABEL} {{- end}} networks: - nextcloud-nfs-net restart: on-failure volumes: - Database:/var/lib/mysql networks: nextcloud-nfs-net: public: external: true volumes: Application: driver: rancher-nfs driver_opts: host: 10.0.10.21 export: /RancherCattleData/${DATA_DIR}/Application onRemove: retain Database: driver: rancher-nfs driver_opts: host: 10.0.10.21 export: /RancherCattleData/${DATA_DIR}/Database onRemove: retain UserData: driver: rancher-nfs driver_opts: host: 10.0.10.21 export: /RancherCattleData/${DATA_DIR}/UserData onRemove: retain