mirror of
https://github.com/gensokyo-zone/infrastructure.git
synced 2026-02-10 04:49:19 -08:00
53 lines
1.4 KiB
Nix
53 lines
1.4 KiB
Nix
{ config, pkgs, tf, lib, ... }: with lib;
|
|
|
|
{
|
|
deploy.tf.dns.records.services_fusionpbx = {
|
|
inherit (config.network.dns) zone;
|
|
domain = "pbx";
|
|
cname = { inherit (config.network.addresses.private) target; };
|
|
};
|
|
|
|
kw.secrets.variables = mapListToAttrs
|
|
(field:
|
|
nameValuePair "fusionpbx-${field}" {
|
|
path = "services/fusionpbx";
|
|
inherit field;
|
|
}) [ "username" "password" ];
|
|
|
|
secrets.files.fusionpbx_env = {
|
|
text = ''
|
|
USER_NAME=${tf.variables.fusionpbx-username.ref}
|
|
USER_PASSWORD=${tf.variables.fusionpbx-password.ref}
|
|
'';
|
|
owner = "fusionpbx";
|
|
group = "fusionpbx";
|
|
};
|
|
|
|
security.acme.certs.services_fusionpbx = {
|
|
domain = "pbx.${config.network.dns.domain}";
|
|
group = "fusionpbx";
|
|
dnsProvider = "rfc2136";
|
|
credentialsFile = config.secrets.files.dns_creds.path;
|
|
postRun = "systemctl restart nginx";
|
|
};
|
|
|
|
services.fusionpbx = {
|
|
enable = true;
|
|
openFirewall = true;
|
|
useLocalPostgreSQL = true;
|
|
environmentFile = config.secrets.files.fusionpbx_env.path;
|
|
hardphones = true;
|
|
useACMEHost = "services_fusionpbx";
|
|
domain = "pbx.${config.network.dns.domain}";
|
|
package = with pkgs; fusionpbxWithApps [ fusionpbx-apps.sms ];
|
|
freeSwitchPackage = with pkgs; freeswitch;
|
|
};
|
|
|
|
services.nginx.virtualHosts."altar.kittywit.ch" = {
|
|
locations = {
|
|
"app/sms/hook/" = {
|
|
proxyPass = "http://pbx.kittywit.ch/app/sms/hook";
|
|
};
|
|
};
|
|
};
|
|
}
|