Files
infrastructure/ansible/roles/nextcloud/templates/docker-compose.yml

55 lines
1.4 KiB
YAML

version: "{{ docker_compose_version }}"
networks:
traefik:
external: true
db:
external: false
services:
nextcloud:
container_name: nextcloud
image: lscr.io/linuxserver/nextcloud:latest
restart: unless-stopped
networks:
- traefik
- db
environment:
PUID: "{{ service_user.uid }}"
PGID: "{{ service_user.uid }}"
TZ: "{{ timezone }}"
volumes:
- "{{ data_dir }}/{{ role_name }}/config:/config"
- "{{ data_dir }}/{{ role_name }}/data:/data"
labels:
traefik.enable: true
traefik.http.routers.nextcloud.rule: "Host(`{{ role_name }}.{{ personal_domain }}`)"
traefik.http.services.nextcloud.loadbalancer.server.port: 443
traefik.http.services.nextcloud.loadbalancer.server.scheme: https
mariadb:
container_name: mariadb
image: lscr.io/linuxserver/mariadb:latest
restart: unless-stopped
networks:
- db
environment:
- PUID={{ service_user.uid }}
- PGID={{ service_user.uid }}
- TZ={{ timezone }}
- MYSQL_DATABASE={{ role_name }}
- MYSQL_USER={{ role_name }}
- MYSQL_PASSWORD={{ role_name }}
- MYSQL_ROOT_PASSWORD={{ role_name }}
volumes:
- "{{ data_dir }}/mariadb/{{ role_name }}:/config"
redis:
image: redis:7-alpine
restart: unless-stopped
networks:
- db
volumes:
- "{{ data_dir }}/redis/{{ role_name }}:/data"