wolf.r: add netbox docker-compose

This commit is contained in:
makefu 2019-06-13 20:17:45 +02:00
parent 30a90e48b9
commit 27f3c2cd53
No known key found for this signature in database
GPG Key ID: 36F7711F3FC0F225
2 changed files with 41 additions and 0 deletions

View File

@ -43,6 +43,8 @@ in
## write collectd statistics to wolf.shack
<stockholm/krebs/2configs/collectd-base.nix>
{ services.influxdb.enable = true; }
<stockholm/krebs/2configs/shack/netbox.nix>
];
# use your own binary cache, fallback use cache.nixos.org (which is used by
# apt-cacher-ng in first place)

View File

@ -0,0 +1,39 @@
{ pkgs, ... }:
{
environment.systemPackages = [ pkgs.docker-compose ];
virtualisation.docker.enable = true;
services.nginx = {
enable = true;
virtualHosts."netbox.shack".locations."/".proxyPass = "http://localhost:18080";
};
# we store the netbox config there:
# state = [ "/var/lib/netbox" ];
systemd.services.backup-netbox = {
after = [ "netbox-docker-compose.service" ];
startAt = "daily";
path = with pkgs; [ docker-compose docker gzip coreutils ];
script = ''
cd /var/lib/netbox
mkdir -p backup
docker-compose exec -T -upostgres postgres pg_dumpall \
| gzip > backup/netdata_$(date -Iseconds).dump.gz
'';
};
systemd.services.netbox-docker-compose = {
wantedBy = [ "multi-user.target" ];
after = [ "network-online.target" "docker.service" ];
environment.VERSION = "v2.5.13";
serviceConfig = {
WorkingDirectory = "/var/lib/netbox";
# TODO: grep -q NAPALM_SECRET env/netbox.env
# TODO: grep -q NAPALM_SECRET netbox-netprod-importer/switches.yml
ExecStartPre = "${pkgs.docker-compose}/bin/docker-compose pull";
ExecStart = "${pkgs.docker-compose}/bin/docker-compose up";
Restart = "always";
RestartSec = "10";
StartLimitIntervalSec = 60;
StartLimitBurst = 3;
};
};
}