From fc2264331bd4ffac4f9f0ff2200c2dd61c2bb871 Mon Sep 17 00:00:00 2001 From: Joey Hafner Date: Sat, 1 Feb 2025 01:05:27 -0800 Subject: [PATCH] Feature: Init stack.nix for nextcloud. --- homelab/stacks/nextcloud/.env | 1 - homelab/stacks/nextcloud/docker-compose.yml | 10 +++++----- homelab/stacks/nextcloud/stack.nix | 21 +++++++++++++++++++++ 3 files changed, 26 insertions(+), 6 deletions(-) delete mode 100644 homelab/stacks/nextcloud/.env create mode 100644 homelab/stacks/nextcloud/stack.nix diff --git a/homelab/stacks/nextcloud/.env b/homelab/stacks/nextcloud/.env deleted file mode 100644 index 6d657930..00000000 --- a/homelab/stacks/nextcloud/.env +++ /dev/null @@ -1 +0,0 @@ -DOCKER_DATA=/mnt/iscsi/barbarian/nextcloud \ No newline at end of file diff --git a/homelab/stacks/nextcloud/docker-compose.yml b/homelab/stacks/nextcloud/docker-compose.yml index 9c609024..d5229a9b 100644 --- a/homelab/stacks/nextcloud/docker-compose.yml +++ b/homelab/stacks/nextcloud/docker-compose.yml @@ -18,8 +18,8 @@ services: - web - nextcloud volumes: - - $DOCKER_DATA/config:/config - - $DOCKER_DATA/data:/data + - $APPDATA/config:/config + - $APPDATA/data:/data mariadb: image: lscr.io/linuxserver/mariadb:latest @@ -33,10 +33,10 @@ services: MYSQL_DATABASE: "nextcloud" MYSQL_USER: "ncuser" env_file: - - path: ./mariadb.secrets + - path: /run/secrets/nextcloud/mariadb required: true volumes: - - $DOCKER_DATA/mariadb:/config + - $APPDATA/mariadb:/config redis: image: redis:latest @@ -44,7 +44,7 @@ services: networks: - nextcloud volumes: - - $DOCKER_DATA/redis:/data + - $APPDATA/redis:/data networks: web: diff --git a/homelab/stacks/nextcloud/stack.nix b/homelab/stacks/nextcloud/stack.nix new file mode 100644 index 00000000..e1068ed8 --- /dev/null +++ b/homelab/stacks/nextcloud/stack.nix @@ -0,0 +1,21 @@ +{ sys, ... }: let stack = "nextcloud"; in { + home-manager.users."${sys.username}".home.file = { + "${stack}" = { + enable = true; + recursive = true; + source = ./.; + target = "stacks/${stack}/"; + }; + "${stack}/.env" = { + enable = true; + text = ''APPDATA=${sys.dataDirs.appdata}/${stack}''; + target = "stacks/${stack}/.env"; + }; + }; + sops.secrets."${stack}/mariadb" = { + sopsFile = ./mariadb.secrets; + key = ""; + mode = "0440"; + owner = sys.username; + }; +} \ No newline at end of file