ahuston-0 b18438924b
add ffdl, foundry, haproxy, glances, and zfs vars
Signed-off-by: ahuston-0 <aliceghuston@gmail.com>
2024-08-17 22:17:09 -04:00

69 lines
1.8 KiB
Nix

{ config, ... }:
let
vars = import ../vars.nix;
nextcloud_path = vars.primary_nextcloud;
# nextcloud-image = import ./nextcloud-image { inherit pkgs; };
nextcloud-base = {
image = "nextcloud:stable-apache";
hostname = "nextcloud";
volumes = [
"${nextcloud_path}/nc_data:/var/www/html:z"
"${nextcloud_path}/nc_php:/usr/local/etc/php"
"${nextcloud_path}/nc_prehooks:/docker-entrypoint-hooks.d/before-starting"
];
extraOptions = [
"--restart=unless-stopped"
"--network=haproxy-net"
"--network=postgres-net"
"--network=nextcloud_default"
];
dependsOn = [ "redis" ];
environmentFiles = [ config.sops.secrets."docker/nextcloud".path ];
};
in
{
virtualisation.oci-containers.containers = {
nextcloud = nextcloud-base // {
ports = [ "9999:80" ];
};
nextcloud-cron = nextcloud-base // {
entrypoint = "/cron.sh";
dependsOn = [
"redis"
"nextcloud"
];
};
redis = {
image = "redis:latest";
extraOptions = [ "--restart=unless-stopped" ];
volumes = [ "${config.sops.secrets."docker/redis".path}:/usr/local/etc/redis/redis.conf" ];
cmd = [
"redis-server"
config.sops.secrets."docker/redis".path
];
};
go-vod = {
image = "radialapps/go-vod";
dependsOn = [ "nextcloud" ];
environment = {
NEXTCLOUD_HOST = "https://nextcloud.alicehuston.xyz";
};
volumes = [ "${nextcloud_path}/nc_data:/var/www/html:ro" ];
extraOptions = [
"--restart=always"
"--device=/dev/dri:/dev/dri"
];
};
};
sops = {
defaultSopsFile = ../secrets.yaml;
secrets = {
"docker/redis".owner = "docker-service";
"docker/nextcloud".owner = "docker-service";
};
};
}