{ ... }: { networking.firewall.interfaces.wg0.allowedTCPPorts = [ 8080 ]; services.gotosocial = { enable = true; settings = { application-name = "gotosocial"; host = "fedi.ellie.town"; protocol = "https"; bind-address = "10.10.0.2"; port = 8080; trusted-proxies = [ "10.10.0.1/32" ]; db-type = "sqlite"; db-address = "/var/lib/gotosocial/database.sqlite"; storage-backend = "local"; storage-local-base-path = "/var/lib/gotosocial/storage"; letsencrypt-enabled = false; accounts-registration-open = false; accounts-approval-required = true; accounts-reason-required = false; accounts-allow-custom-css = false; instance-languages = [ "en" ]; instance-expose-public-timeline = false; instance-expose-peers = false; instance-deliver-to-shared-inboxes = true; instance-federation-mode = "blocklist"; media-image-strip-metadata = true; media-local-max-size = "40MiB"; media-remote-max-size = "40MiB"; media-cleanup-from = "00:00"; media-cleanup-every = "24h"; smtp-host = ""; }; }; }