diff --git a/home-manager/homeserver/containers.nix b/home-manager/homeserver/containers.nix index 61358a7..8e6e78f 100644 --- a/home-manager/homeserver/containers.nix +++ b/home-manager/homeserver/containers.nix @@ -21,7 +21,7 @@ imports = [ ./containers/media.nix - ./containers/monitoring.nix + ./containers/metrics.nix ./containers/caddy.nix ./containers/work_tools.nix ./containers/nextcloud.nix diff --git a/home-manager/homeserver/containers/caddy.nix b/home-manager/homeserver/containers/caddy.nix index 73d9824..0884341 100644 --- a/home-manager/homeserver/containers/caddy.nix +++ b/home-manager/homeserver/containers/caddy.nix @@ -22,6 +22,7 @@ "/home/cianh/caddy/config:/etc/caddy" "/home/cianh/caddy/data:/data:Z" "/home/cianh/caddy/placeholder_site:/var/www/site:Z" + "/home/cianh/caddy/logs:/var/log/caddy" "/home/cianh/blog:/var/www/blog:Z" "/home/cianh/Nextcloud:/var/www/nextcloud:Z" ]; diff --git a/home-manager/homeserver/containers/metrics.nix b/home-manager/homeserver/containers/metrics.nix new file mode 100644 index 0000000..1bf94dc --- /dev/null +++ b/home-manager/homeserver/containers/metrics.nix @@ -0,0 +1,29 @@ +{ + inputs, + outputs, + lib, + config, + pkgs, + unstablePkgs, + ... +}: { + services.podman = { + networks = { + metrics-net = {}; + }; + containers = { + goaccess = { + image = "allinurl/goaccess:latest"; + command = "/var/log/caddy/access.log -o /var/www/goaccess/index.html --log-format=CADDY --tz=Europe/Dublin --anonymize-ip --real-time-html --ws-url=wss://metrics.example.com/ws --port=7890"; + autoUpdate = "registry"; + network = [ + "metrics-net" + ]; + volumes = [ + "/home/cianh/caddy/logs:/var/log/caddy" + "/home/cianh/goaccess/data:/var/www/goaccess" + ]; + }; + }; + }; +} diff --git a/home-manager/homeserver/containers/monitoring.nix b/home-manager/homeserver/containers/monitoring.nix deleted file mode 100644 index d870784..0000000 --- a/home-manager/homeserver/containers/monitoring.nix +++ /dev/null @@ -1,37 +0,0 @@ -{ - inputs, - outputs, - lib, - config, - pkgs, - unstablePkgs, - ... -}: { - services.podman = { - networks = { - grafana-net = {}; - }; - containers = { - grafana = { - image = "docker.io/grafana/grafana:latest"; - autoUpdate = "registry"; - network = ["grafana-net"]; - user = "1000:1000"; - volumes = [ - "/home/cianh/grafana:/var/lib/grafana:Z" - ]; - }; - prometheus = { - image = "docker.io/prom/prometheus:latest"; - autoUpdate = "registry"; - network = [ - "grafana-net" - "proxy-net" - ]; - volumes = [ - "/home/cianh/prometheus/:/etc/prometheus/" - ]; - }; - }; - }; -}