nix-config/hosts/franz/arion/nextcloud/arion-compose.nix

61 lines
1.5 KiB
Nix
Raw Normal View History

2024-03-06 11:16:14 +01:00
{pkgs, ...}: {
project.name = "nextcloud";
networks.dmz = {
name = "dmz";
external = true;
};
networks.transport = {};
services = {
nextcloud.service = {
2024-03-31 22:05:29 +02:00
image = "nextcloud:28.0.4";
2024-03-06 11:16:14 +01:00
container_name = "nextcloud";
useHostStore = true;
labels = {
"traefik.enable" = "true";
"traefik.http.routers.nextcloud.entrypoints" = "websecure";
"traefik.http.routers.nextcloud.rule" = "Host(`nextcloud.ghoscht.com`)";
"traefik.docker.network" = "dmz";
"traefik.http.routers.nextcloud.tls" = "true";
"traefik.http.routers.nextcloud.tls.certresolver" = "letsencrypt";
};
volumes = [
2024-03-31 22:05:29 +02:00
"/storage/dataset/docker/nextcloud/nextcloud_data:/var/www/html"
2024-03-06 11:16:14 +01:00
];
2024-03-17 15:18:23 +01:00
hostname = "nextcloud.ghoscht.com";
2024-03-31 23:20:21 +02:00
environment = {
REDIS_HOST = "nextcloud-redis";
REDIS_PORT = 6379;
};
2024-03-06 11:16:14 +01:00
restart = "unless-stopped";
networks = [
"dmz"
"transport"
];
};
2024-03-17 15:18:23 +01:00
nextcloud-db.service = {
image = "mariadb:11.4.1-rc-jammy";
2024-03-06 11:16:14 +01:00
env_file = [
"/home/ghoscht/.docker/nextcloud/nextcloud.env"
];
2024-03-31 22:05:29 +02:00
volumes = [
"/storage/dataset/docker/nextcloud/nextcloud_db:/var/lib/mysql"
];
2024-03-06 11:16:14 +01:00
restart = "unless-stopped";
command = "--transaction-isolation=READ-COMMITTED --binlog-format=ROW";
networks = [
"transport"
];
};
2024-03-31 23:20:21 +02:00
nextcloud-redis.service = {
image = "redis:alpine3.19";
restart = "unless-stopped";
networks = [
"transport"
];
};
2024-03-06 11:16:14 +01:00
};
}