37 lines
787 B
Vue
37 lines
787 B
Vue
|
<template>
|
||
|
{
|
||
|
services.gotosocial = {
|
||
|
enable = true;
|
||
|
setupPostgresqlDB = true;
|
||
|
settings = {
|
||
|
application-name = "My GoToSocial";
|
||
|
host = "gotosocial.example.com";
|
||
|
protocol = "https";
|
||
|
bind-address = "127.0.0.1";
|
||
|
port = 8080;
|
||
|
};
|
||
|
};
|
||
|
}
|
||
|
{
|
||
|
networking.firewall.allowedTCPPorts = [ 80 443 ];
|
||
|
services.nginx = {
|
||
|
enable = true;
|
||
|
clientMaxBodySize = "40M";
|
||
|
virtualHosts = with config.services.gotosocial.settings; {
|
||
|
"${host}" = {
|
||
|
enableACME = true;
|
||
|
forceSSL = true;
|
||
|
locations = {
|
||
|
"/" = {
|
||
|
recommendedProxySettings = true;
|
||
|
proxyWebsockets = true;
|
||
|
proxyPass = "http://${bind-address}:${toString port}";
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
}
|
||
|
</template>
|
||
|
|