diff --git a/system/hosts/mcp/containers.nix b/system/hosts/mcp/containers.nix index 351fb10..f9e96f3 100644 --- a/system/hosts/mcp/containers.nix +++ b/system/hosts/mcp/containers.nix @@ -4,11 +4,13 @@ # Additional configuration imports = [ + ./containers/grafana.nix ./containers/nextcloud.nix ./containers/prometheus.nix - ./containers/searxng.nix - ./containers/synapse.nix ./containers/public-homepage.nix + ./containers/searxng.nix + ./containers/shared-postgres.nix + ./containers/synapse.nix ]; # Enable common container config files in /etc/containers @@ -120,19 +122,6 @@ # GUID = "993"; # }; }; - # Shared Postgres Database - db = { - image = "docker.io/postgres:16-alpine"; - autoStart = true; - volumes = [ - # TODO: move to faster storage? - "/tank/db:/var/lib/postgresql/data" - ]; - environment = {}; - extraOptions = [ - "-l=traefik.enable=false" - ]; - }; deluge = { image = "linuxserver/deluge:latest"; autoStart = true; @@ -379,31 +368,6 @@ "/tank/config/valkey:/usr/local/etc/valkey" ]; }; - grafana = { - image = "grafana/grafana-enterprise"; - autoStart = true; - dependsOn = [ - "db" - ]; - extraOptions = [ - "-l=traefik.enable=true" - "-l=traefik.http.routers.grafana.rule=${localHostRule "grafana"}" - "-l=traefik.http.services.grafana.loadbalancer.server.port=3000" - "-l=homepage.group=Infra" - "-l=homepage.name=Grafana" - "-l=homepage.icon=grafana.png" - "-l=homepage.href=https://grafana.${domain}" - "-l=homepage.description=Database visualization" - "-l=homepage.widget.type=grafana" - "-l=homepage.widget.url=http://grafana:3000" - ]; - volumes = [ - "grafana-storage:/var/lib/grafana" - ]; - environment = { - GF_SERVER_ROOT_URL = "https://grafna.havenisms.com"; - }; - }; gitea = { image = "gitea/gitea:latest-rootless"; autoStart = true; diff --git a/system/hosts/mcp/containers/grafana.nix b/system/hosts/mcp/containers/grafana.nix new file mode 100644 index 0000000..2a05687 --- /dev/null +++ b/system/hosts/mcp/containers/grafana.nix @@ -0,0 +1,33 @@ +{ ... }: +{ + + imports = [ + ./shared-postgres.nix + ]; + + virtulisation.oci-containers.grafana = { + image = "grafana/grafana-enterprise"; + autoStart = true; + dependsOn = [ + "db" + ]; + extraOptions = [ + "-l=traefik.enable=true" + "-l=traefik.http.routers.grafana.rule=${localHostRule "grafana"}" + "-l=traefik.http.services.grafana.loadbalancer.server.port=3000" + "-l=homepage.group=Infra" + "-l=homepage.name=Grafana" + "-l=homepage.icon=grafana.png" + "-l=homepage.href=https://grafana.${domain}" + "-l=homepage.description=Database visualization" + "-l=homepage.widget.type=grafana" + "-l=homepage.widget.url=http://grafana.havenisms.com:3000" + ]; + volumes = [ + "grafana-storage:/var/lib/grafana" + ]; + environment = { + GF_SERVER_ROOT_URL = "https://grafna.havenisms.com"; + }; + }; +} diff --git a/system/hosts/mcp/containers/shared-postgres.nix b/system/hosts/mcp/containers/shared-postgres.nix new file mode 100644 index 0000000..00befc8 --- /dev/null +++ b/system/hosts/mcp/containers/shared-postgres.nix @@ -0,0 +1,16 @@ +# Shared Postgres Database +{ ... }: +{ + virtualisation.oci-containers.db = { + image = "docker.io/postgres:16-alpine"; + autoStart = true; + volumes = [ + # TODO: move to faster storage? + "/tank/db:/var/lib/postgresql/data" + ]; + environment = {}; + extraOptions = [ + "-l=traefik.enable=false" + ]; + }; +}