40 lines
953 B
Nix
40 lines
953 B
Nix
{
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
service_configs,
|
|
...
|
|
}:
|
|
{
|
|
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;
|
|
}
|
|
];
|
|
};
|
|
|
|
services.caddy.virtualHosts."${service_configs.firefox_syncserver.domain}".extraConfig = ''
|
|
reverse_proxy :${builtins.toString service_configs.ports.private.firefox_syncserver.port}
|
|
'';
|
|
}
|