Files
Personal-Rancher-Catalog/templates/Nextcloud/0/docker-compose.yml

86 lines
2.3 KiB
YAML

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
io.rancher.container.pull_image: always
{{- 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:
io.rancher.container.pull_image: always
{{- 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