Add grafana

Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
This commit is contained in:
2025-04-07 21:51:34 +01:00
parent b3dd72de22
commit dc5a91ebf7
14 changed files with 533 additions and 9 deletions

View File

@@ -11,8 +11,11 @@
docker-authelia = import ./docker/authelia { inherit pkgs; };
docker-base = import ./docker/base { inherit pkgs; };
docker-grafana = import ./docker/grafana { inherit pkgs; };
docker-grafana-image-renderer = import ./docker/grafana-image-renderer { inherit pkgs; };
docker-ntfy = import ./docker/ntfy { inherit pkgs; };
docker-postgresql = import ./docker/postgresql { inherit pkgs; };
docker-prometheus = import ./docker/prometheus { inherit pkgs; };
docker-redis = import ./docker/redis { inherit pkgs; };
docker-traefik = import ./docker/traefik { inherit pkgs; };
docker-whoami = import ./docker/whoami { inherit pkgs; };

View File

@@ -0,0 +1,19 @@
{ pkgs, ... }:
pkgs.dockerTools.buildImage {
name = "grafana-image-renderer";
fromImage = import ../base { inherit pkgs; };
copyToRoot = pkgs.buildEnv {
name = "root";
paths = with pkgs; [ grafana-image-renderer ];
pathsToLink = [ "/bin" ];
};
config = {
Entrypoint = [ "/bin/grafana-image-renderer" ];
Cmd = [ "server" ];
ExposedPorts = {
"8081/tcp" = { };
};
};
}

View File

@@ -0,0 +1,32 @@
{ pkgs, ... }:
pkgs.dockerTools.buildImage {
name = "grafana";
fromImage = import ../base { inherit pkgs; };
copyToRoot = pkgs.buildEnv {
name = "root";
paths = with pkgs; [ grafana ];
pathsToLink = [ "/bin" ];
};
runAsRoot = ''
${pkgs.dockerTools.shadowSetup}
mkdir -p /etc/grafana/conf
cp -r ${pkgs.grafana}/share/grafana/conf/defaults.ini /etc/grafana/conf/defaults.ini
cp -r ${pkgs.grafana}/share/grafana/public /etc/grafana/public
'';
config = {
Entrypoint = [ "/bin/grafana" ];
Cmd = [
"server"
"--homepath"
"/etc/grafana"
"--config"
"/etc/grafana/grafana.ini"
];
ExposedPorts = {
"3000/tcp" = { };
};
};
}

View File

@@ -0,0 +1,18 @@
{ pkgs, ... }:
pkgs.dockerTools.buildImage {
name = "prometheus";
fromImage = import ../base { inherit pkgs; };
copyToRoot = pkgs.buildEnv {
name = "root";
paths = with pkgs; [ prometheus ];
pathsToLink = [ "/bin" ];
};
config = {
Entrypoint = [ "/bin/prometheus" ];
ExposedPorts = {
"9090/tcp" = { };
};
};
}