{ config, ... }: let inherit (import ./lib.nix config) mkContainer localHostRule terakoda; in { virtualisation.oci-containers.containers = { dm-companion-pocketbase = let hostName = "dm-pocketbase"; in mkContainer { inherit hostName; image = "docker.havenisms.com/lazy-dm/pocketbase"; port = 8080; volumes = [ "dm-companion:/pb/pb_data" "/tank/web/dm.terakoda.com/pb_migrations:/pb/pb_migrations:ro" ]; environment = { }; extraLabels = { "traefik.http.routers.${hostName}-api.rule" = "PathPrefix(`/api`) && ${localHostRule "dm" terakoda}"; "traefik.http.routers.${hostName}-api.service" = "${hostName}"; }; }; dm-companion = mkContainer { image = "nginx:alpine"; hostName = "dm"; domain = terakoda; port = 80; dependsOn = [ "dm-companion-pocketbase" ]; volumes = [ "/tank/web/dm.terakoda.com/dist:/usr/share/nginx/html:ro" ]; }; }; }