From e81cbdcedfdb9dbcd1e605d24096b4fd8d2728c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20Fra=C3=9F?= Date: Mon, 18 Dec 2023 00:18:34 +0100 Subject: [PATCH] [mod] role:hedgedoc:postgresql-Anbindung und mehr Parameter --- ansible/roles/hedgedoc/defaults/main.json | 15 ++++++++--- .../roles/hedgedoc/templates/config.json.j2 | 26 +++++++++++++++++-- 2 files changed, 36 insertions(+), 5 deletions(-) diff --git a/ansible/roles/hedgedoc/defaults/main.json b/ansible/roles/hedgedoc/defaults/main.json index a1c03ed..438eb14 100644 --- a/ansible/roles/hedgedoc/defaults/main.json +++ b/ansible/roles/hedgedoc/defaults/main.json @@ -2,8 +2,14 @@ "var_hedgedoc_user_name": "hedgedoc", "var_hedgedoc_directory": "/opt/hedgedoc", "var_hedgedoc_version": "1.9.9", - "var_hedgedoc_session_secret": "session_secret", - "var_hedgedoc_database_path": "/var/hedgedoc/data.sqlite", + "var_hedgedoc_session_secret": "REPLACE_ME", + "var_hedgedoc_database_kind": "sqlite", + "var_hedgedoc_database_data_sqlite_path": "/var/hedgedoc/data.sqlite", + "var_hedgedoc_database_data_postgresql_host": "localhost", + "var_hedgedoc_database_data_postgresql_port": 5432, + "var_hedgedoc_database_data_postgresql_username": "hedgedoc_user", + "var_hedgedoc_database_data_postgresql_password": "REPLACE_ME", + "var_hedgedoc_database_data_postgresql_schema": "hedgedoc", "var_hedgedoc_domain": "hedgedoc.example.org", "var_hedgedoc_oauth2_enable": false, "var_hedgedoc_oauth2_provider_name": "external auth", @@ -11,5 +17,8 @@ "var_hedgedoc_oauth2_client_secret": "REPLACE_ME", "var_hedgedoc_oauth2_user_profile_url": "https://auth.example.org/profile", "var_hedgedoc_oauth2_token_url": "https://auth.example.org/token", - "var_hedgedoc_oauth2_authorization_url": "https://auth.example.org/authorization" + "var_hedgedoc_oauth2_authorization_url": "https://auth.example.org/authorization", + "var_hedgedoc_guest_allow_create": false, + "var_hedgedoc_guest_allow_change": false, + "var_hedgedoc_free_names_mode": "authed" } diff --git a/ansible/roles/hedgedoc/templates/config.json.j2 b/ansible/roles/hedgedoc/templates/config.json.j2 index a1b9b2d..6c953c5 100644 --- a/ansible/roles/hedgedoc/templates/config.json.j2 +++ b/ansible/roles/hedgedoc/templates/config.json.j2 @@ -1,10 +1,22 @@ { "production": { "loglevel": "error", +{% if var_hedgedoc_database_kind == 'sqlite' %} "db": { "dialect": "sqlite", "storage": "{{var_hedgedoc_database_path}}" }, +{% endif %} +{% if var_hedgedoc_database_kind == 'postgresql' %} + "db": { + "dialect": "postgres", + "host": "{{var_hedgedoc_database_data_postgresql_host}}", + "port": {{var_hedgedoc_database_data_postgresql_port | to_json}}, + "username": "{{var_hedgedoc_database_data_postgresql_username}}", + "password": "{{var_hedgedoc_database_data_postgresql_password}}", + "database": "{{var_hedgedoc_database_data_postgresql_schema}}" + }, +{% endif %} "sessionSecret": "{{var_hedgedoc_session_secret}}", "host": "localhost", "allowOrigin": [ @@ -32,10 +44,20 @@ "email": true, "allowEmailRegister": true, {% endif %} - "allowAnonymous": false, - "allowAnonymousEdits": true, + "allowAnonymous": {{var_hedgedoc_guest_allow_create | to_json}}, + "allowAnonymousEdits": {{var_hedgedoc_guest_allow_edit | to_json}}, +{% if var_hedgedoc_free_names_mode == 'never' %} + "allowFreeURL": false, + "requireFreeURLAuthentication": false, +{% endif %} +{% if var_hedgedoc_free_names_mode == 'authed' %} "allowFreeURL": true, "requireFreeURLAuthentication": true, +{% endif %} +{% if var_hedgedoc_free_names_mode == 'always' %} + "allowFreeURL": true, + "requireFreeURLAuthentication": false, +{% endif %} "defaultPermission": "editable" } }