diff --git a/hosts/midas/services/default.nix b/hosts/midas/services/default.nix index 026ace80..a121aa50 100644 --- a/hosts/midas/services/default.nix +++ b/hosts/midas/services/default.nix @@ -6,6 +6,7 @@ forgejo.enable = true; icecast.enable = true; jellyfin.enable = true; + mastodon.enable = true; matrix-synapse.enable = true; mysql.enable = true; nextcloud.enable = true; diff --git a/modules/system/services/server/default.nix b/modules/system/services/server/default.nix index f55ecc5a..5f8d385a 100644 --- a/modules/system/services/server/default.nix +++ b/modules/system/services/server/default.nix @@ -7,6 +7,7 @@ ./icecast ./jellyfin ./mailserver + ./mastodon ./matrix ./minecraft ./mysql diff --git a/modules/system/services/server/forgejo/default.nix b/modules/system/services/server/forgejo/default.nix index 91284ecc..716d078f 100644 --- a/modules/system/services/server/forgejo/default.nix +++ b/modules/system/services/server/forgejo/default.nix @@ -23,7 +23,7 @@ }; service = { REGISTER_EMAIL_CONFIRM = true; - DISABLE_REGISTRATION = true; + DISABLE_REGISTRATION = false; }; ui.DEFAULT_THEME = "forgejo-dark"; }; diff --git a/modules/system/services/server/mastodon/default.nix b/modules/system/services/server/mastodon/default.nix new file mode 100644 index 00000000..7a8786b2 --- /dev/null +++ b/modules/system/services/server/mastodon/default.nix @@ -0,0 +1,20 @@ +{ config, lib, pkgs, ... }: +{ + config = lib.mkIf config.services.mastodon.enable { + services.mastodon = { + localDomain = "social.nixfox.ca"; + streamingProcesses = 4; + configureNginx = true; + smtp = { + createLocally = false; + host = "mx.nixfox.ca"; + port = 587; + authenticate = true; + fromAddress = "NixFox Mastodon "; + user = "noreply@nixfox.ca"; + passwordFile = pkgs.writeText "smtp_pass.txt" config.secrets.mailPass.nixfoxNoReply; + }; + }; + environment.persistence."/persist".directories = [ "/var/lib/mastodon" ]; + }; +}