Added Nextcloud

This commit is contained in:
Mike Wilson
2023-02-20 21:13:06 -05:00
parent 2993485d5a
commit 7d4e2075a1
4 changed files with 80 additions and 2 deletions

View File

@@ -15,3 +15,4 @@
- qbittorrent - qbittorrent
- overseerr - overseerr
- ntfy - ntfy
- nextcloud

View File

@@ -0,0 +1,22 @@
- name: Create install directory
file:
path: "{{ install_directory }}/{{ role_name }}"
state: directory
owner: "{{ docker_user }}"
mode: "{{ docker_compose_directory_mask }}"
become: true
- name: Copy docker-compose file to destination
template:
src: docker-compose.yml
dest: "{{ install_directory }}/{{ role_name }}/docker-compose.yml"
owner: "{{ docker_user }}"
mode: "{{ docker_compose_file_mask }}"
validate: docker-compose -f %s config
become: true
- name: Start docker container
community.docker.docker_compose:
project_src: "{{ install_directory }}/{{ role_name }}"
pull: true
remove_orphans: yes

View File

@@ -0,0 +1,55 @@
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.routers.nextcloud.middlewares: lan-whitelist@file
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"

View File

@@ -10,6 +10,8 @@ entryPoints:
web-secure: web-secure:
address: :443 address: :443
http: http:
middlewares:
- secure-headers@file
tls: tls:
certResolver: letsencrypt certResolver: letsencrypt
domains: domains:
@@ -17,8 +19,6 @@ entryPoints:
- sans: "*.{{ personal_domain }}" - sans: "*.{{ personal_domain }}"
- main: "local.{{ personal_domain }}" - main: "local.{{ personal_domain }}"
- sans: "*.local.{{ personal_domain }}" - sans: "*.local.{{ personal_domain }}"
middlewares:
- secure-headers@file
traefik: traefik:
address: :8080 address: :8080