grafana setup
This commit is contained in:
@@ -3,6 +3,27 @@ let
|
||||
serverCfg = config.syscfg.server;
|
||||
version = "latest";
|
||||
|
||||
influxSource = pkgs.writers.writeYAML "influx.yaml" {
|
||||
apiVersion = 1;
|
||||
datasources = [
|
||||
{
|
||||
name = "InfluxDB 3 SQL";
|
||||
type = "influxdb";
|
||||
access = "proxy";
|
||||
url = "http://influx-db";
|
||||
jsonData = {
|
||||
version = "SQL";
|
||||
dbName = "telegraf";
|
||||
httpMode = "POST";
|
||||
};
|
||||
secureJsonData = {
|
||||
token = "\${INFLUXDB_TOKEN}";
|
||||
};
|
||||
isDefault = true;
|
||||
editable = true;
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
in {
|
||||
requires = {
|
||||
@@ -41,7 +62,7 @@ in {
|
||||
};
|
||||
};
|
||||
|
||||
ui = builder.mkContainer {
|
||||
ui = if(containerCfg.extra?explorer) then builder.mkContainer {
|
||||
tmpfs = true;
|
||||
authentik = true;
|
||||
subdomain = containerCfg.subdomain;
|
||||
@@ -59,6 +80,44 @@ in {
|
||||
"${serverCfg.path.config}/influxdb/:/app-root/config:rw"
|
||||
];
|
||||
};
|
||||
} else {
|
||||
tmpfs = true;
|
||||
authentik = true;
|
||||
subdomain = containerCfg.subdomain;
|
||||
image = "grafana/grafana:${version}";
|
||||
port = 3000;
|
||||
extraEnv = {
|
||||
GF_DEFAULT_INSTANCE_NAME = serverCfg.domain;
|
||||
GF_SECURITY_ADMIN_USER = "\${DEFAULT_ADMIN_USERNAME}";
|
||||
GF_SECURITY_ADMIN_PASSWORD = "\${DEFAULT_ADMIN_PASSWORD}";
|
||||
GF_SECURITY_ADMIN_EMAIL = "\${DEFAULT_ADMIN_EMAIL}";
|
||||
GF_SECURITY_COOKIE_SECURE = "true";
|
||||
GF_USERS_ALLOW_SIGN_UP = "false";
|
||||
GF_USERS_AUTO_ASSIGN_ORG = "true";
|
||||
GF_USERS_AUTO_ASSIGN_ORG_ROLE = "true";
|
||||
GF_AUTH_PROXY_ENABLED = "true";
|
||||
GF_AUTH_PROXY_HEADER_NAME = "X-authentik-username";
|
||||
GF_AUTH_PROXY_HEADER_PROPERTY = "username";
|
||||
GF_AUTH_PROXY_AUTO_SIGN_UP = "true";
|
||||
GF_DATABASE_TYPE = "postgres";
|
||||
GF_DATABASE_HOST = "${builder.host}";
|
||||
GF_DATABASE_NAME = "influx_db";
|
||||
GF_DATABASE_USER = "influx_user";
|
||||
GF_ANALYTICS_REPORTING_ENABLED = "false";
|
||||
GF_CHECK_FOR_UPDATED = "false";
|
||||
GF_LIVE_HA_ENGINE = "redis";
|
||||
GF_LIVE_HA_ENGINE_ADRESS = "${builder.host}:6379";
|
||||
|
||||
DEFAULT_INFLUX_SERVER = "http://${builder.host}:8181";
|
||||
};
|
||||
overrides = {
|
||||
environmentFiles = [ config.sops.secrets."INFLUX".path config.sops.secrets."CUSTOM".path ] ;
|
||||
|
||||
volumes = [
|
||||
"${serverCfg.path.data}/influxdb/ui:/var/lib/grafana:rw"
|
||||
"${influxSource}:/etc/grafana/provisioning/datasources/influx.yaml:ro"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user