2022-07-30 22:36:06 +00:00
|
|
|
let
|
2022-07-31 13:10:28 +00:00
|
|
|
secret = import ../../secret/container/webserver;
|
2022-07-31 10:41:00 +00:00
|
|
|
custom-config = import ./config.nix { inherit secret; };
|
2022-07-30 22:36:06 +00:00
|
|
|
in
|
|
|
|
{
|
|
|
|
virtualisation.arion.projects.webserver.settings = {
|
|
|
|
services = {
|
2022-11-27 16:59:57 +00:00
|
|
|
cloudflared = {
|
2022-07-30 22:52:43 +00:00
|
|
|
service = {
|
2022-11-27 16:59:57 +00:00
|
|
|
image = "cloudflare/cloudflared:latest";
|
|
|
|
container_name = "cloudflared";
|
2022-08-02 19:05:58 +00:00
|
|
|
restart = "unless-stopped";
|
2022-11-27 16:59:57 +00:00
|
|
|
command = [ "tunnel" "--no-autoupdate" "run" "--token" secret.container.webserver.cloudflared.config.token ];
|
|
|
|
extra_hosts = [
|
|
|
|
"host.docker.internal:host-gateway"
|
2022-07-30 22:52:43 +00:00
|
|
|
];
|
2022-08-04 22:40:11 +00:00
|
|
|
labels = {
|
|
|
|
"com.centurylinklabs.watchtower.enable" = "true";
|
|
|
|
};
|
2022-07-30 22:52:43 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2022-11-27 16:59:57 +00:00
|
|
|
mosquitto = {
|
2022-11-19 17:02:18 +00:00
|
|
|
service = {
|
2022-11-27 16:59:57 +00:00
|
|
|
image = "eclipse-mosquitto:2";
|
|
|
|
container_name = "mosquitto";
|
2022-11-19 17:02:18 +00:00
|
|
|
restart = "unless-stopped";
|
2022-11-27 16:59:57 +00:00
|
|
|
ports = [ "1883:1883" ];
|
|
|
|
user = "nobody";
|
|
|
|
volumes = [
|
|
|
|
"/etc/container-webserver/mosquitto:/mosquitto/config:ro"
|
|
|
|
];
|
2022-11-19 17:02:18 +00:00
|
|
|
labels = {
|
|
|
|
"com.centurylinklabs.watchtower.enable" = "true";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2022-07-31 10:55:19 +00:00
|
|
|
nifoc-pw-docs = {
|
|
|
|
service = {
|
|
|
|
image = "ghcr.io/nifoc/nifoc.pw-docs:master";
|
2022-11-19 18:09:40 +00:00
|
|
|
container_name = "nifoc-pw-docs";
|
2022-08-02 19:05:58 +00:00
|
|
|
restart = "unless-stopped";
|
2022-07-31 10:55:19 +00:00
|
|
|
labels = {
|
2022-08-04 22:40:11 +00:00
|
|
|
"com.centurylinklabs.watchtower.enable" = "true";
|
2022-07-31 10:55:19 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
2022-07-31 13:10:28 +00:00
|
|
|
|
2022-07-31 14:40:01 +00:00
|
|
|
weewx = {
|
|
|
|
service = {
|
|
|
|
image = "ghcr.io/nifoc/weewx-docker:master";
|
2022-11-19 18:09:40 +00:00
|
|
|
container_name = "weewx";
|
2022-08-02 19:05:58 +00:00
|
|
|
restart = "unless-stopped";
|
2022-11-27 16:51:03 +00:00
|
|
|
depends_on = [ "mosquitto" ];
|
2022-07-31 14:40:01 +00:00
|
|
|
environment = {
|
|
|
|
"TZ" = "Europe/Berlin";
|
|
|
|
};
|
|
|
|
volumes = [
|
|
|
|
"/etc/container-webserver/weewx:/data"
|
|
|
|
];
|
|
|
|
labels = secret.container.webserver.weewx.labels;
|
|
|
|
};
|
|
|
|
};
|
2022-07-30 22:36:06 +00:00
|
|
|
};
|
|
|
|
};
|
2022-07-31 10:34:06 +00:00
|
|
|
} // custom-config
|