From 6150b653aa6d3a8ce6a4daeba33bd9ac0143ec65 Mon Sep 17 00:00:00 2001 From: Menno van Leeuwen Date: Fri, 14 Mar 2025 01:15:55 +0100 Subject: [PATCH] feat: configure Nextcloud and MariaDB services in docker-compose --- .../services/nextcloud/docker-compose.yml.j2 | 36 +++++++++++++------ 1 file changed, 26 insertions(+), 10 deletions(-) diff --git a/config/ansible/tasks/servers/services/nextcloud/docker-compose.yml.j2 b/config/ansible/tasks/servers/services/nextcloud/docker-compose.yml.j2 index ad597d1..eed03c0 100644 --- a/config/ansible/tasks/servers/services/nextcloud/docker-compose.yml.j2 +++ b/config/ansible/tasks/servers/services/nextcloud/docker-compose.yml.j2 @@ -1,18 +1,34 @@ services: - nextcloud-aio-mastercontainer: - image: nextcloud/all-in-one:latest - init: true - restart: always - container_name: nextcloud-aio-mastercontainer # This line is not allowed to be changed as otherwise AIO will not work correctly + db: + image: mariadb:10.5 + command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW + restart: unless-stopped volumes: - - /mnt/object_storage/services/nextcloud:/mnt/docker-aio-config # This line is not allowed to be changed as otherwise the built-in backup solution will not work - - /var/run/docker.sock:/var/run/docker.sock:ro # May be changed on macOS, Windows or docker rootless. See the applicable documentation. If adjusting, don't forget to also set 'WATCHTOWER_DOCKER_SOCKET_PATH'! - ports: - - 8080:8080 + - {{nextcloud_data_dir}}/nextcloud-db:/var/lib/mysql + environment: + - MYSQL_ROOT_PASSWORD={{ lookup('community.general.onepassword', 'x5jporz6fguqsm4dmwrb6juua4', vault='j7nmhqlsjmp2r6umly5t75hzb4', field='MYSQL_ROOT_PASSWORD') }} + - MYSQL_PASSWORD={{ lookup('community.general.onepassword', 'x5jporz6fguqsm4dmwrb6juua4', vault='j7nmhqlsjmp2r6umly5t75hzb4', field='MYSQL_PASSWORD') }} + - MYSQL_DATABASE=nextcloud + - MYSQL_USER=nextcloud + + nextcloud: + image: nextcloud + restart: unless-stopped + depends_on: + - db + links: + - db + volumes: + - {{nextcloud_data_dir}}/nextcloud-data:/var/www/html/data + environment: + - MYSQL_PASSWORD={{ lookup('community.general.onepassword', 'x5jporz6fguqsm4dmwrb6juua4', vault='j7nmhqlsjmp2r6umly5t75hzb4', field='MYSQL_PASSWORD') }} + - MYSQL_DATABASE=nextcloud + - MYSQL_USER=nextcloud + - MYSQL_HOST=db networks: - caddy_network networks: caddy_network: external: true - name: caddy_default \ No newline at end of file + name: caddy_default