36 lines
787 B
Vue
36 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>
|
|
|