40 lines
973 B
Nix
40 lines
973 B
Nix
{ pkgs, lib, ... }:
|
|
|
|
let
|
|
mastodon = pkgs.mastodon.override {
|
|
version = import ./mastodon/version.nix;
|
|
srcOverride = pkgs.callPackage ./mastodon/source.nix {};
|
|
dependenciesDir = ./mastodon;
|
|
yarnSha256 = import ./mastodon/yarn-sha256.nix;
|
|
};
|
|
in
|
|
{
|
|
services = {
|
|
mastodon = {
|
|
enable = true;
|
|
package = mastodon;
|
|
configureNginx = true;
|
|
localDomain = "test.toot.cat";
|
|
|
|
smtp.fromAddress = "server2022@toot.cat";
|
|
|
|
extraConfig = {
|
|
MAX_TOOT_CHARS = "1000000";
|
|
};
|
|
};
|
|
|
|
postgresqlBackup = {
|
|
enable = false;
|
|
databases = [ "mastodon" ];
|
|
};
|
|
};
|
|
|
|
networking.firewall.allowedTCPPorts = [ 80 443 ];
|
|
|
|
security.acme = {
|
|
acceptTerms = true;
|
|
defaults.email = "tc.certbot.2022@wooz.dev";
|
|
defaults.server = "https://acme-staging-v02.api.letsencrypt.org/directory"; # letsencrypt staging environment, so we don't hit rate limits
|
|
};
|
|
}
|