70 lines
1.9 KiB
Nix
Raw Normal View History

2024-06-21 21:27:22 -04:00
{ config, ... }:
2024-05-27 16:08:29 -04:00
{
virtualisation.oci-containers.containers = {
grafana = {
image = "grafana/grafana-enterprise";
volumes = [ "/zfs/media/docker/configs/grafana:/var/lib/grafana" ];
2024-06-21 22:02:56 -04:00
user = "600:600";
2024-05-27 16:30:26 -04:00
extraOptions = [ "--network=web" ];
2024-05-27 16:08:29 -04:00
autoStart = true;
};
dnd_file_server = {
image = "ubuntu/apache2:latest";
volumes = [
"/zfs/media/docker/templates/file_server/sites/:/etc/apache2/sites-enabled/"
2024-06-21 10:31:06 -04:00
"/zfs/storage/main/Table_Top/:/data"
2024-05-27 16:08:29 -04:00
];
2024-05-27 16:30:26 -04:00
extraOptions = [ "--network=web" ];
2024-05-27 16:08:29 -04:00
autoStart = true;
};
arch_mirror = {
image = "ubuntu/apache2:latest";
volumes = [
"/zfs/media/docker/templates/file_server/sites/:/etc/apache2/sites-enabled/"
2024-06-20 23:29:47 -04:00
"/zfs/media/mirror/:/data"
2024-05-27 16:08:29 -04:00
];
ports = [ "800:80" ];
2024-05-27 16:30:26 -04:00
extraOptions = [ "--network=web" ];
2024-05-27 16:08:29 -04:00
autoStart = true;
};
haproxy = {
image = "haproxy:latest";
2024-06-21 22:02:56 -04:00
user = "600:600";
2024-05-27 16:08:29 -04:00
environment = {
TZ = "Etc/EST";
};
volumes = [
2024-06-21 22:02:56 -04:00
"${config.sops.secrets."docker/haproxy_cert".path}:/etc/ssl/certs/cloudflare.pem"
2024-06-21 21:27:22 -04:00
"/root/nix-dotfiles/systems/jeeves/docker/haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfg"
2024-05-27 16:08:29 -04:00
];
dependsOn = [
"grafana"
"arch_mirror"
"dnd_file_server"
];
2024-05-27 16:30:26 -04:00
extraOptions = [ "--network=web" ];
2024-05-27 16:08:29 -04:00
autoStart = true;
};
cloud_flare_tunnel = {
image = "cloudflare/cloudflared:latest";
2024-06-21 21:48:40 -04:00
user = "600:600";
2024-05-27 16:11:08 -04:00
cmd = [
"tunnel"
"run"
];
2024-06-21 21:33:35 -04:00
environmentFiles = [ config.sops.secrets."docker/cloud_flare_tunnel".path ];
2024-05-27 16:08:29 -04:00
dependsOn = [ "haproxy" ];
2024-05-27 16:30:26 -04:00
extraOptions = [ "--network=web" ];
2024-05-27 16:08:29 -04:00
autoStart = true;
};
};
2024-06-21 21:27:22 -04:00
sops = {
defaultSopsFile = ../secrets.yaml;
2024-06-21 22:02:56 -04:00
secrets = {
"docker/cloud_flare_tunnel".owner = "docker-service";
"docker/haproxy_cert".owner = "docker-service";
2024-06-21 21:27:22 -04:00
};
};
2024-05-27 16:08:29 -04:00
}