2024-03-05 20:59:17 +01:00
|
|
|
{pkgs, ...}: {
|
|
|
|
project.name = "push";
|
|
|
|
|
|
|
|
networks.dmz = {
|
|
|
|
name = "dmz";
|
|
|
|
external = true;
|
|
|
|
};
|
|
|
|
|
|
|
|
services = {
|
|
|
|
ntfy.service = {
|
2024-03-31 22:05:29 +02:00
|
|
|
image = "binwiederhier/ntfy:v2.10.0";
|
2024-03-05 20:59:17 +01:00
|
|
|
container_name = "ntfy";
|
|
|
|
user = "1000:1000";
|
|
|
|
command = "serve";
|
|
|
|
useHostStore = true;
|
|
|
|
labels = {
|
|
|
|
"traefik.enable" = "true";
|
2024-05-06 19:49:27 +02:00
|
|
|
|
|
|
|
"traefik.http.routers.ntfy.service" = "ntfy";
|
|
|
|
"traefik.http.services.ntfy.loadbalancer.server.port" = "80";
|
2024-03-05 20:59:17 +01:00
|
|
|
"traefik.http.routers.ntfy.entrypoints" = "websecure";
|
|
|
|
"traefik.http.routers.ntfy.rule" = "Host(`push.ghoscht.com`)";
|
|
|
|
"traefik.http.routers.ntfy.tls" = "true";
|
|
|
|
"traefik.http.routers.ntfy.tls.certresolver" = "letsencrypt";
|
2024-05-06 19:49:27 +02:00
|
|
|
|
|
|
|
"traefik.http.routers.ntfy-external.service" = "ntfy-external";
|
|
|
|
"traefik.http.services.ntfy-external.loadbalancer.server.port" = "80";
|
|
|
|
"traefik.http.routers.ntfy-external.rule" = "Host(`push.ghoscht.com`)";
|
|
|
|
"traefik.http.routers.ntfy-external.entrypoints" = "websecure-external";
|
|
|
|
"traefik.http.routers.ntfy-external.tls" = "true";
|
|
|
|
"traefik.http.routers.ntfy-external.tls.certresolver" = "letsencrypt";
|
2024-03-05 20:59:17 +01:00
|
|
|
};
|
|
|
|
volumes = [
|
|
|
|
"/home/ghoscht/.docker/push/ntfy_data/server.yml:/etc/ntfy/server.yml"
|
2024-06-14 13:05:19 +02:00
|
|
|
"/storage/dataset/docker/push/ntfy_data:/etc/ntfy/data"
|
2024-03-05 20:59:17 +01:00
|
|
|
];
|
|
|
|
environment = {
|
|
|
|
TZ = "Europe/Berlin";
|
|
|
|
};
|
|
|
|
restart = "always";
|
|
|
|
networks = [
|
|
|
|
"dmz"
|
|
|
|
];
|
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|