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";
|
2024-06-20 22:20:08 -04:00
|
|
|
volumes = [ "/zfs/media/docker/configs/grafana:/var/lib/grafana" ];
|
2024-05-27 16:08:29 -04:00
|
|
|
user = "998:998";
|
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 = [
|
2024-06-20 22:20:08 -04:00
|
|
|
"/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 = [
|
2024-06-20 22:20:08 -04:00
|
|
|
"/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";
|
|
|
|
user = "998:998";
|
|
|
|
environment = {
|
|
|
|
TZ = "Etc/EST";
|
|
|
|
};
|
|
|
|
volumes = [
|
2024-06-20 22:20:08 -04:00
|
|
|
"/zfs/media/docker/cloudflare.pem:/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:44:45 -04:00
|
|
|
user = "docker-service:docker-service";
|
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 21:33:35 -04:00
|
|
|
secrets."docker/cloud_flare_tunnel".owner = "docker-service";
|
|
|
|
secrets."docker/haproxy_cert" = {
|
2024-06-21 21:27:22 -04:00
|
|
|
owner = "docker-service";
|
|
|
|
path = "/zfs/media/docker/test_cloudflare.pem";
|
|
|
|
};
|
|
|
|
};
|
2024-05-27 16:08:29 -04:00
|
|
|
}
|