71 lines
1.8 KiB
Nix
71 lines
1.8 KiB
Nix
{
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}:
|
|
|
|
let
|
|
# nextcloud-image = import ./nextcloud-image { inherit pkgs; };
|
|
nextcloud-base = {
|
|
image = "nextcloud:stable-apache";
|
|
hostname = "nextcloud";
|
|
volumes = [
|
|
"/ZFS/ZFS-primary/nextcloud/nc_data:/var/www/html:z"
|
|
"/ZFS/ZFS-primary/nextcloud/nc_php:/usr/local/etc/php"
|
|
"/ZFS/ZFS-primary/nextcloud/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 = [ "/ZFS/ZFS-primary/nextcloud/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";
|
|
};
|
|
};
|
|
}
|