migrate gotosocial from aspartame to fructose. changes include: changing database address, adding record to Caddyfile and updating the firewall rules.
Some checks are pending
/ Check formatting (push) Waiting to run

This commit is contained in:
Ittihadyya 2024-12-21 19:03:19 +02:00
parent a4169ccaa9
commit ec6eba2a3c
4 changed files with 24 additions and 21 deletions

View file

@ -8,10 +8,10 @@
networking.firewall.interfaces.wg0 = { networking.firewall.interfaces.wg0 = {
# TODO: set up prometheus authentication, perhaps with a certificate. not *that* urgent because it's only on the wireguard netwrok, maybe it's not even needed at all -e # TODO: set up prometheus authentication, perhaps with a certificate. not *that* urgent because it's only on the wireguard netwrok, maybe it's not even needed at all -e
allowedTCPPorts = [ allowedTCPPorts = [
6703 6703 # prometheus node exporter
]; ];
allowedUDPPorts = [ allowedUDPPorts = [
6703 6703 # prometheus node exporter
]; ];
}; };
} }
@ -22,7 +22,8 @@
networking.firewall = { networking.firewall = {
allowedUDPPorts = []; allowedUDPPorts = [];
allowedTCPPorts = [ allowedTCPPorts = [
3000 # forgejo http 3000 # forgejo web
8080 # gotosocial web
222 # forgejo ssh 222 # forgejo ssh
]; ];
}; };
@ -34,13 +35,13 @@
networking.firewall = { networking.firewall = {
allowedTCPPorts = [ allowedTCPPorts = [
64738 # murmur tcp 64738 # murmur tcp
6700 # grafana 6700 # grafana web
6750 # prometheus 6750 # prometheus
]; ];
allowedUDPPorts = [ allowedUDPPorts = [
64738 # murmur udp 64738 # murmur udp
6700 # grafana 6700 # grafana web
6750 # prometheus 6750 # prometheus data ap
]; ];
}; };
} }

View file

@ -38,7 +38,7 @@ https://gts.collective-conciousness.monster {
encode zstd gzip encode zstd gzip
# The actual proxy configuration to port 8080 (unless you've chosen another port number) # The actual proxy configuration to port 8080 (unless you've chosen another port number)
reverse_proxy 127.0.0.1:8080 { reverse_proxy 10.24.1.9:8080 {
# Flush immediately, to prevent buffered response to the client # Flush immediately, to prevent buffered response to the client
flush_interval -1 flush_interval -1
} }

View file

@ -1,5 +1,5 @@
{ {
aspartame.modules = [ fructose.modules = [
( (
{ {
pkgs, pkgs,
@ -24,16 +24,17 @@
host = "gts.collective-conciousness.monster"; host = "gts.collective-conciousness.monster";
account-domain = ""; account-domain = "";
protocol = "https"; protocol = "https";
bind-address = "127.0.0.1"; bind-address = "0.0.0.0";
port = 8080; port = 8080;
trusted-proxies = [ trusted-proxies = [
"10.24.1.16/32"
"127.0.0.1/32" "127.0.0.1/32"
"::1" "::1"
]; ];
### Database config - still have to set this up. ### Database config - still have to set this up.
db-type = "postgres"; db-type = "postgres";
db-address = "10.24.1.9"; db-address = "127.0.0.1";
db-port = "5432"; db-port = "5432";
# db-password = ""; # commented out because it is being passed through env files. # GTS_DB_PASSWORD # db-password = ""; # commented out because it is being passed through env files. # GTS_DB_PASSWORD
db-database = "gtsdb"; db-database = "gtsdb";
@ -84,7 +85,7 @@
### Storage config ### Storage config
storage-backend = "local"; storage-backend = "local";
storage-local-base-path = "/var/gts/storage"; storage-local-base-path = "/var/services/gts/storage";
# ommited settings related to s3 # ommited settings related to s3
### Statuses config ### Statuses config

View file

@ -20,16 +20,8 @@
sops.secrets.remote-build-ssh-privkey = {}; sops.secrets.remote-build-ssh-privkey = {};
} }
]; ];
aspartame.modules = [ /* aspartame.modules = [
( ]; */
{config, ...}: {
sops.secrets.gts_db_pass = {};
sops.templates."gts.env.secrets.yaml".content = ''
GTS_DB_PASSWORD=${config.sops.placeholder."gts_db_pass"}
'';
}
)
];
sucrose.modules = [ sucrose.modules = [
( (
{config, ...}: { {config, ...}: {
@ -93,6 +85,15 @@
''; '';
} }
) )
(
{config, ...}: {
sops.secrets.gts_db_pass = {};
sops.secrets.gts_db_pass.owner = "gotosocial";
sops.templates."gts.env.secrets.yaml".content = ''
GTS_DB_PASSWORD=${config.sops.placeholder."gts_db_pass"}
'';
}
)
]; ];
personal.modules = [ personal.modules = [
( (