55 lines
1.4 KiB
YAML
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"
|
|
- "{{ media_storage_mnt }}/nextcloud:/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"
|