adyya-flake/services/gts/gts.mod.nix
Ittihadyya 7bbf371287 Moved vscodium definition.
added caddyfile plugin to vscodium.
used nixfmt.
2024-11-22 14:34:14 +02:00

102 lines
3.5 KiB
Nix

{
aspartame.modules = [
(
{ pkgs, config, ... }:
{
services.gotosocial = {
enable = true;
package = pkgs.gts;
setupPostgresqlDB = false;
environmentFile = "${config.sops.templates."gts.env.secrets.yaml".path}";
settings = {
# # most of these are the defaults but i'm writing them here anyways
### General config
log-level = "info";
log-db-queries = "false";
log-client-ip = "true";
log-timestamp-format = "2006-01-02T15:04:05.000Z07:00";
application-name = "RunFromSocial";
landing-page-user = "root";
host = "gts.collective-conciousness.monster";
account-domain = "";
protocol = "https";
bind-address = "127.0.0.1";
port = 8080;
trusted-proxies = [
"127.0.0.1/32"
"::1"
];
### Database config - still have to set this up.
db-type = "postgres";
db-address = "10.24.1.9";
db-port = "5432";
# db-password = ""; # commented out because it is being passed through env files. # GTS_DB_PASSWORD
db-database = "gtsdb";
db-user = "gts";
db-tls-mode = "disable"; # will probably want to change this at some point ?
db-tls-ca-cert = "";
db-max-open-conns-multiplier = 8;
db-postgres-connection-string = "";
cache.memory-target = "500MiB";
### Web config
# web-template-base-dir = "/var/gts/web/template/";
# web-asset-base-dir = "/var/gts/web/assets/";
### Instance config
instance-languages = [
"en"
"fr"
"ro"
"zh"
];
instance-federation-mode = "allowlist";
instance-federation-spam-filter = false;
instance-expose-peers = false;
instance-expose-suspended = false;
instance-expose-suspended-web = false;
instance-expose-public-timeline = false;
instance-deliver-to-shared-inboxes = true;
instance-inject-mastodon-version = false;
### Accounts config
accounts-registration-open = false;
accounts-reason-required = true;
accounts-allow-custom-css = true;
accounts-custom-css-length = 10000;
### Media config
media-local-max-size = "1GiB";
media-remote-max-size = "50MiB";
media-description-min-chars = 36;
media-description-max-chars = 16200;
media-emoji-local-max-size = "128KiB"; # may need to increase this in the future.
media-emoji-remote-max-size = "256KiB";
media-ffmpeg-pool-size = 2;
media-remote-cache-days = 7;
media-cleanup-from = "01:00";
media-cleanup-every = "24h";
### Storage config
storage-backend = "local";
storage-local-base-path = "/var/gts/storage";
# ommited settings related to s3
### Statuses config
statuses-max-chars = 8000;
statuses-poll-max-options = 10;
statuses-poll-option-max-chars = 100;
statuses-media-max-files = 12;
### Syslog config
syslog-enabled = true;
syslog-protocol = "";
syslog-address = "";
};
};
}
)
];
}