commit 34fea301c4528af7aa3b4252ac94821a613db91d
parent 8a3c51c29d0c8e9394080186562fca9639817c7a
Author: MTRNord <mtrnord1@gmail.com>
Date: Fri, 27 Oct 2023 20:46:42 +0200
Prepare personal discourse space
Diffstat:
2 files changed, 80 insertions(+), 0 deletions(-)
diff --git a/nixos/common/lib/personal_discourse.nix b/nixos/common/lib/personal_discourse.nix
@@ -0,0 +1,79 @@
+{ inputs, lib, pkgs, config, ... }:
+{
+ services.discourse = {
+ package = inputs.nixpkgs-discourse.legacyPackages.${pkgs.system}.discourse;
+ enable = true;
+ database = {
+ host = "postgres.internal.midnightthoughts.space";
+ passwordFile = config.sops.secrets."discourse/db_password".path;
+ };
+ backendSettings = {
+ db_port = 5000;
+ };
+ secretKeyBaseFile = config.sops.secrets."discourse/secret_key_base".path;
+ mail = {
+ outgoing = {
+ port = 465;
+ serverAddress = "mail.nordgedanken.dev";
+ username = "support@miki.community";
+ passwordFile = config.sops.secrets."discourse/mail_password".path;
+ authentication = "login";
+ forceTLS = true;
+ };
+ incoming.enable = false;
+ contactEmailAddress = "support@miki.community";
+ };
+ redis = {
+ host = "localhost";
+ };
+ hostname = "personal.midnightthoughts.space";
+ plugins = with config.services.discourse.package.plugins; [
+ discourse-github
+ discourse-solved
+ discourse-docs
+ discourse-calendar
+ discourse-github
+ discourse-assign
+ discourse-solved
+ discourse-chat-integration
+ discourse-data-explorer
+ pkgs.discourse-footnote
+ pkgs.discourse-gamification
+ pkgs.discourse-cakeday
+ pkgs.discourse-templates
+ #pkgs.discourse-spoiler-alert
+ ];
+ siteSettings = {
+ required = {
+ title = "MTRNords personal space";
+ contact_email = "support@miki.community";
+ notification_email = "noreply@forum.miki.community";
+ };
+ login = {
+ login_required = true;
+ must_approve_users = true;
+ enable_local_logins = true;
+ enable_local_logins_via_email = true;
+ allow_new_registrations = false;
+ };
+ spam = {
+ notify_mods_when_user_silenced = true;
+ };
+ legal = {
+ tos_url = "https://docs.draupnir.midnightthoughts.space/docs/code_of_conduct/";
+ };
+ plugins = {
+ calendar_enabled = true;
+ chat_enabled = false;
+ };
+ };
+ admin = {
+ username = "MTRNord";
+ fullName = "Marcel";
+ email = "mtrnord@nordgedanken.dev";
+ passwordFile = config.sops.secrets."discourse/admin_password".path;
+ };
+ };
+
+ systemd.services.discourse.environment = { UNICORN_WORKERS = "8"; };
+}
diff --git a/nixos/worker-2/configuration.nix b/nixos/worker-2/configuration.nix
@@ -34,6 +34,7 @@ in
../common/lib/fail2ban.nix
../common/lib/podman.nix
../common/lib/pdns.nix
+ ../common/lib/personal_discourse.nix
./kubernetes.nix
];