{ me, pkgs, auxiliaryPkgs, ... }: let inherit (pkgs) miniflux dockerTools; inherit (auxiliaryPkgs) common; minifluxDir = "/srv/miniflux"; minifluxLocalPort = 9149; minifluxImage = dockerTools.streamLayeredImage { name = "miniflux"; tag = miniflux.version; fromImage = common.alpine.base; contents = [ miniflux ]; }; in { foundation.service.miniflux = { miniflux = { image = minifluxImage; ports = [ minifluxLocalPort ]; environment = { PORT = toString minifluxLocalPort; BASE_URL = "https://${me.tailscale.domain}/miniflux/"; CREATE_ADMIN = "1"; ADMIN_USERNAME = "mel"; ADMIN_PASSWORD = "X98ji!9aoJNfCB"; DATABASE_URL = "postgres://miniflux:miniflux@db/miniflux?sslmode=disable"; RUN_MIGRATIONS = "1"; }; entrypoint = "${miniflux}/bin/miniflux"; workdir = "/etc/miniflux"; }; db = { fullImage = common.postgres17; volumes = [ [ "${minifluxDir}/pgdata" "/var/lib/postgresql/data" ] ]; environment = { "POSTGRES_DATABASE" = "miniflux"; "POSTGRES_USER" = "miniflux"; "POSTGRES_PASSWORD" = "miniflux"; }; }; }; services.nginx.virtualHosts.tailnet.locations = { "/miniflux" = { return = "301 $scheme://$host$request_uri/"; }; "/miniflux/" = { proxyPass = "http://127.0.0.1:${toString minifluxLocalPort}/miniflux/"; recommendedProxySettings = true; }; }; }