diff --git a/pkgs/servers/web-apps/discourse/default.nix b/pkgs/servers/web-apps/discourse/default.nix index 91ec15f1557..c032c79b1cc 100644 --- a/pkgs/servers/web-apps/discourse/default.nix +++ b/pkgs/servers/web-apps/discourse/default.nix @@ -265,6 +265,11 @@ let # Make sure the notification email setting applies ./notification_email.patch + + # Change the path to the public directory reported by Discourse + # to its real path instead of the symlink in the store, since + # the store path won't be matched by any nginx rules + ./public_dir_path.patch ]; postPatch = '' diff --git a/pkgs/servers/web-apps/discourse/public_dir_path.patch b/pkgs/servers/web-apps/discourse/public_dir_path.patch new file mode 100644 index 00000000000..0c6579736e2 --- /dev/null +++ b/pkgs/servers/web-apps/discourse/public_dir_path.patch @@ -0,0 +1,13 @@ +diff --git a/lib/file_store/local_store.rb b/lib/file_store/local_store.rb +index 25649532c0..614e062dc1 100644 +--- a/lib/file_store/local_store.rb ++++ b/lib/file_store/local_store.rb +@@ -88,7 +88,7 @@ module FileStore + end + + def public_dir +- File.join(Rails.root, "public") ++ "/run/discourse/public" + end + + def tombstone_dir