Migrate Wallabag to container deployment

This commit is contained in:
2025-04-28 17:06:22 +02:00
parent 90b38fcf08
commit 42df5964f1
8 changed files with 38 additions and 33 deletions

View File

@@ -44,9 +44,31 @@
ports = [ "127.0.0.1:9090:8080" ];
volumes = [ "/vault/opodsync:/var/www/server/data" ];
};
# Wallabag
wallabag = {
image = "wallabag/wallabag@sha256:a87160e4445e11f9bcec0f4b201c31e1eb0d201d7bcd1aac421e8f3c2b8f553c";
environmentFiles = [ config.age.secrets.wallabag.path ];
dependsOn = [ "postgresql" ];
extraOptions = [ "--pod=wallabag-pod" ];
};
# Wallabag database
postgresql = {
image = "postgres:16.8@sha256:e95b0cb95f719e0ce156c2bc5545c89fbd98a1a692845a5331ddc79ea61f1b1e";
environmentFiles = [ config.age.secrets.wallabag-postgres.path ];
extraOptions = [ "--pod=wallabag-pod" ];
volumes = [ "/var/lib/postgresql-wallabag:/var/lib/postgresql/data" ];
};
};
};
};
# Allow networking between Wallabag and Postgresql
systemd.services.create-wallabag-pod = {
serviceConfig.Type = "oneshot";
wantedBy = [ "podman-postgresql.service" ];
script = with pkgs; ''
${podman}/bin/podman pod exists wallabag-pod || ${podman}/bin/podman pod create -n wallabag-pod -p '127.0.0.1:8090:80'
'';
};
# Start services after ZFS mount
systemd.services.podman-mqtt2prometheus.unitConfig.RequiresMountsFor = [ /vault/mqtt2prometheus ];