dotfiles/container/webserver/default.nix
2023-01-22 13:47:36 +01:00

60 lines
1.6 KiB
Nix

let
secret = import ../../secret/container/webserver;
custom-config = import ./config.nix { inherit secret; };
in
{
virtualisation.arion.projects.webserver.settings = {
services = {
mosquitto = {
service = {
image = "eclipse-mosquitto:2";
container_name = "mosquitto";
restart = "unless-stopped";
ports = [ "1883:1883" ];
user = "nobody";
volumes = [
"/etc/container-webserver/mosquitto:/mosquitto/config:ro"
];
labels = {
"com.centurylinklabs.watchtower.enable" = "true";
};
};
};
weewx = {
service = {
image = "ghcr.io/nifoc/weewx-docker:master";
container_name = "weewx";
restart = "unless-stopped";
depends_on = [ "mosquitto" ];
ports = [ "127.0.0.1:8000:8000" ];
environment = {
"TZ" = "Europe/Berlin";
};
volumes = [
"/etc/container-webserver/weewx:/data"
];
inherit (secret.container.webserver.weewx) labels;
};
};
nitter = {
service = {
image = "zedeus/nitter:latest";
container_name = "nitter";
restart = "unless-stopped";
ports = [ "127.0.0.1:8001:8080" ];
environment = {
"TZ" = "Europe/Berlin";
};
volumes = [
"/etc/container-webserver/nitter/nitter.conf:/src/nitter.conf"
];
labels = {
"com.centurylinklabs.watchtower.enable" = "true";
};
};
};
};
};
} // custom-config