diff --git a/systems/palatine-hill/docker/default.nix b/systems/palatine-hill/docker/default.nix index 18eea61..dd380ab 100644 --- a/systems/palatine-hill/docker/default.nix +++ b/systems/palatine-hill/docker/default.nix @@ -8,19 +8,17 @@ { imports = [ ./archiveteam.nix + ./firefly.nix ./minecraft.nix ./nextcloud.nix ./postgres.nix + ./restic.nix ./unifi.nix ]; virtualisation.oci-containers.backend = "docker"; virtualisation.docker.daemon.settings.data-root = "/var/lib/docker2"; - # "restic-grafana-1 grafana/grafana:latest" - # "restic-prometheus-1 prom/prometheus:latest" - # "restic-restserver-1 restic/rest-server:latest" - # "firefly-iii-fidi-1 fireflyiii/data-importer:latest" # "firefly-iii-app-1 fireflyiii/core:latest" diff --git a/systems/palatine-hill/docker/firefly.nix b/systems/palatine-hill/docker/firefly.nix new file mode 100644 index 0000000..8afa629 --- /dev/null +++ b/systems/palatine-hill/docker/firefly.nix @@ -0,0 +1,24 @@ +{ ... }: + +{ + virtualisation.oci-containers.containers = { + firefly = { + image = "fireflyiii/core:latest"; + extraOptions = [ + "--restart=always" + "--network=firefly-iii_default" + "--network=postgres-net" + ]; + environmentFiles = [ "/ZFS/ZFS-primary/docker/firefly-iii/.env" ]; + ports = [ "4188:8080" ]; + volumes = [ "/ZFS/ZFS-primary/docker/firefly-iii/app/upload:/var/www/html/storage/upload" ]; + }; + fidi = { + image = "fireflyiii/data-importer:latest"; + extraOptions = [ "--restart=always" ]; + environmentFiles = [ "/ZFS/ZFS-primary/docker/firefly-iii/.fidi.env" ]; + ports = [ "4187:8080" ]; + depends_on = [ "firefly" ]; + }; + }; +} diff --git a/systems/palatine-hill/docker/restic.nix b/systems/palatine-hill/docker/restic.nix new file mode 100644 index 0000000..3c1aefe --- /dev/null +++ b/systems/palatine-hill/docker/restic.nix @@ -0,0 +1,34 @@ +{ ... }: + +{ + virtualisation.oci-containers.containers = { + restic = { + image = "restic/rest-server:latest"; + volumes = [ "/ZFS/ZFS-primary/backups/restic:/data" ]; + environment = { + OPTIONS = "--prometheus --htpasswd-file /data/.htpasswd"; + }; + ports = [ "8010:8000" ]; + extraOptions = [ + "--restart=always" + "--network=restic_restic" + ]; + }; + + grafana = { + image = "grafana/grafana:latest"; + extraOptions = [ + "--restart=always" + "--network=haproxy-net" + ]; + volumes = [ + "grafanadata:/var/lib/grafana" + "/ZFS/ZFS-primary/docker/restic/dashboards:/dashboards" + "/ZFS/ZFS-primary/docker/restic/grafana.ini:/etc/grafana/grafana.ini" + ]; + environment = { + GF_USERS_DEFAULT_THEME = "dark"; + }; + }; + }; +}