switched zabbix-server to podman

This commit is contained in:
mc-fucker 2023-01-20 10:36:33 +01:00
parent 8cf21efc5a
commit 55ea3a2a8e

View file

@ -1,9 +1,13 @@
{ pkgs, lib, ... }: { pkgs, lib, ... }:
let let
db = "zabbix"; db = "zabbix";
db_host = "10.88.0.1";
version = "latest"; version = "latest";
port = "8999"; port = "8999";
domain = "zbx.mc-fucker.cool"; domain = "zbx.mc-fucker.cool";
podman_dns = "--dns=100.100.100.100";
server_ip = "10.88.1.0";
web_ip = "10.88.1.1";
in in
{ {
services.postgresql = { services.postgresql = {
@ -22,34 +26,36 @@ in
settings = { settings = {
shared_preload_libraries = "timescaledb"; shared_preload_libraries = "timescaledb";
}; };
authentication = "host ${db} ${db} zabbix-server.mc-fucker.vpn.mc-fucker.cool md5"; authentication = "host ${db} ${db} 10.88.0.0/16 md5";
}; };
services.zabbixServer = { virtualisation.oci-containers.containers.zabbix-server = {
enable = true; image = "zabbix/zabbix-server-pgsql:alpine-6.2-latest";
database = { environment = {
createLocally = false; DB_SERVER_HOST = db_host;
socket = "/run/postgresql"; POSTGRES_USER = db;
passwordFile = /etc/nixos/keys/zabbix_db.key;
}; };
package = (pkgs.callPackages ../packages/zabbix/server.nix { postgresqlSupport = true; }).${version}; environmentFiles = [ /etc/nixos/keys/zabbix-env ];
extraOptions = [
podman_dns
"--ip=${server_ip}"
];
}; };
services.zabbixWeb = { virtualisation.oci-containers.containers.zabbix-web = {
enable = true; image = "zabbix/zabbix-web-nginx-pgsql:alpine-6.2-latest";
package = (pkgs.callPackages ../packages/zabbix/web.nix {}).${version}; environment = {
database = { DB_SERVER_HOST = db_host;
socket = "/run/postgresql"; POSTGRES_USER = db;
}; ZBX_SERVER_HOST = server_ip;
virtualHost = { PHP_TZ = "Europe/Berlin";
hostName = domain;
adminAddr = "noreply@mc-fucker.cool";
listen = [
{
port = (lib.strings.toInt port);
}
];
}; };
environmentFiles = [ /etc/nixos/keys/zabbix-env ];
extraOptions = [
podman_dns
"--ip=${web_ip}"
];
ports = [ "${port}:8080" ];
}; };
services.nginx.virtualHosts.${domain} = { services.nginx.virtualHosts.${domain} = {
@ -64,6 +70,7 @@ in
''; '';
}; };
networking.firewall.interfaces.podman0.allowedTCPPorts = [ 5432 ];
} }
# vim: set et ts=2 sw=2 ai: # vim: set et ts=2 sw=2 ai: