{ config, lib, pkgs, service_configs, ... }: { imports = [ (lib.mkCaddyReverseProxy { domain = service_configs.firefox_syncserver.domain; port = service_configs.ports.private.firefox_syncserver.port; }) ]; services.firefox-syncserver = { enable = true; database = { type = "postgresql"; createLocally = false; user = "firefox_syncserver"; }; secrets = config.age.secrets.firefox-syncserver-env.path; settings.port = service_configs.ports.private.firefox_syncserver.port; singleNode = { enable = true; hostname = service_configs.firefox_syncserver.domain; url = "https://${service_configs.firefox_syncserver.domain}"; capacity = 1; }; }; services.postgresql = { ensureDatabases = [ "firefox_syncserver" ]; ensureUsers = [ { name = "firefox_syncserver"; ensureDBOwnership = true; } ]; }; }