diff options
author | Maximilian Bosch <maximilian@mbosch.me> | 2024-04-08 16:10:47 +0200 |
---|---|---|
committer | Maximilian Bosch <maximilian@mbosch.me> | 2024-04-10 17:43:02 +0200 |
commit | a3d3cdf5d9fcfc086f7f83c4e9a4833f0e24e111 (patch) | |
tree | e8f853506ef865447695ef6a73c69815ae17c802 /nixos/modules/services/matrix | |
parent | ce4a55c9197da0b8d7eb162e618911c319bc9a4a (diff) |
nixos/matrix-synapse: don't use `services.postgresql.initialScript` in setup example
Closes #285688 This is misleading because `initialScript` will only be executed at the *very first* run of postgresql. I.e. when deploying synapse to a server with an existing postgresql, this won't work. We don't have a good way of automatically provisioning databases _declaratively_, so for now just explain what needs to be done here and leave it to the user how to include this into their deployment.
Diffstat (limited to 'nixos/modules/services/matrix')
-rw-r--r-- | nixos/modules/services/matrix/synapse.md | 29 |
1 files changed, 21 insertions, 8 deletions
diff --git a/nixos/modules/services/matrix/synapse.md b/nixos/modules/services/matrix/synapse.md index 7f6587ce09df8..0ce13550d5b22 100644 --- a/nixos/modules/services/matrix/synapse.md +++ b/nixos/modules/services/matrix/synapse.md @@ -18,7 +18,27 @@ around Matrix. [Synapse](https://github.com/element-hq/synapse) is the reference homeserver implementation of Matrix from the core development -team at matrix.org. The following configuration example will set up a +team at matrix.org. + +Before deploying synapse server, a postgresql database must be set up. +For that, please make sure that postgresql is running and the following +SQL statements to create a user & database called `matrix-synapse` were +executed before synapse starts up: + +```sql +CREATE ROLE "matrix-synapse"; +CREATE DATABASE "matrix-synapse" WITH OWNER "matrix-synapse" + TEMPLATE template0 + LC_COLLATE = "C" + LC_CTYPE = "C"; +``` + +Usually, it's sufficient to do this once manually before +continuing with the installation. + +Please make sure to set a different password. + +The following configuration example will set up a synapse server for the `example.org` domain, served from the host `myhostname.example.org`. For more information, please refer to the @@ -41,13 +61,6 @@ in { networking.firewall.allowedTCPPorts = [ 80 443 ]; services.postgresql.enable = true; - services.postgresql.initialScript = pkgs.writeText "synapse-init.sql" '' - CREATE ROLE "matrix-synapse" WITH LOGIN PASSWORD 'synapse'; - CREATE DATABASE "matrix-synapse" WITH OWNER "matrix-synapse" - TEMPLATE template0 - LC_COLLATE = "C" - LC_CTYPE = "C"; - ''; services.nginx = { enable = true; |