summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfeld <feld@feld.me>2020-02-06 16:03:29 +0000
committerfeld <feld@feld.me>2020-02-06 16:03:29 +0000
commite12bf05f23c49212d2d75a32593c00dda5ead677 (patch)
treeec005f2455f4b09270f5acf358ab08e705904ef9
parent5499f172b2f05c4e1ffaa1e861852911131e1fe6 (diff)
parent6769ecd948c8bd69bc9ba7af7d291142dc062af1 (diff)
Merge branch 'fix/dymamic-docs' into 'develop'
Simplify in-database config docs See merge request pleroma/pleroma!2178
-rw-r--r--docs/admin/config.md84
-rw-r--r--docs/administration/CLI_tasks/config.md18
-rw-r--r--docs/configuration/cheatsheet.md3
3 files changed, 17 insertions, 88 deletions
diff --git a/docs/admin/config.md b/docs/admin/config.md
deleted file mode 100644
index b39a73961..000000000
--- a/docs/admin/config.md
+++ /dev/null
@@ -1,84 +0,0 @@
-# Configuring instance
-You can configure your instance from admin interface. You need account with admin rights and little change in config file, which will allow settings configuration from database.
-
-```elixir
-config :pleroma, configurable_from_database: true
-```
-
-## How it works
-Settings are stored in database and are applied in `runtime` after each change. Most of the settings take effect immediately, except some, which need instance reboot.
-
-## How to set it up
-You need to migrate your existing settings to the database. This task will migrate only added by user settings.
-For example you add settings to `prod.secret.exs` file, only these settings will be migrated to database. For release it will be `/etc/pleroma/config.exs` or `PLEROMA_CONFIG_PATH`.
-You can do this with mix task (all config files will remain untouched):
-
-```sh tab="OTP"
- ./bin/pleroma_ctl config migrate_to_db
-```
-
-```sh tab="From Source"
-mix pleroma.config migrate_to_db
-```
-
-Now you can change settings in admin interface. If `reboot time` settings were changed, pleroma must be rebooted.
-
-<span style="color:red">**ATTENTION**</span>
-
-**<span style="color:red">Be careful while changing the settings. Every inaccurate configuration change can break the federation or the instance load.</span>**
-
-*Compile time settings, which require instance reboot and can break instance loading:*
-- all settings inside these keys:
- - `:hackney_pools`
- - `:chat`
- - `Oban`
- - `:rate_limit`
- - `:markup`
- - `:streamer`
-- partially settings inside these keys:
- - `:seconds_valid` in `Pleroma.Captcha`
- - `:proxy_remote` in `Pleroma.Upload`
- - `:upload_limit` in `:instance`
- - `:digest` in `:email_notifications`
- - `:clean_expired_tokens` in `:oauth2`
- - `:enabled` in `Pleroma.ActivityExpiration`
- - `:enabled` in `Pleroma.ScheduledActivity`
- - `:enabled` in `:gopher`
-
-## How to dump settings from database to file
-
-*Adding `-d` flag will delete migrated settings from database table.*
-
-```sh tab="OTP"
- ./bin/pleroma_ctl config migrate_from_db [-d]
-```
-
-```sh tab="From Source"
-mix pleroma.config migrate_from_db [-d]
-```
-
-
-## How to completely remove it
-
-1. Truncate or delete all values from `config` table
-```sql
-TRUNCATE TABLE config;
-```
-2. If migrate_from_db task was runned, backup and delete `config/{env}.exported_from_db.exs`.
-
-For `prod` env:
-```bash
-cd /opt/pleroma
-cp config/prod.exported_from_db.exs config/exported_from_db.back
-rm -rf config/prod.exported_from_db.exs
-```
-*If you don't want to backup settings, you can skip step with `cp` command.*
-
-3. Set configurable_from_database to `false`.
-```elixir
-config :pleroma, configurable_from_database: false
-```
-4. Restart pleroma instance
-```bash
-sudo service pleroma restart
-```
diff --git a/docs/administration/CLI_tasks/config.md b/docs/administration/CLI_tasks/config.md
index 2af51c247..873775962 100644
--- a/docs/administration/CLI_tasks/config.md
+++ b/docs/administration/CLI_tasks/config.md
@@ -1,12 +1,16 @@
# Transfering the config to/from the database
-!!! danger
- This is a Work In Progress, not usable just yet.
-
{! backend/administration/CLI_tasks/general_cli_task_info.include !}
## Transfer config from file to DB.
+!!! note
+ You need to add the following to your config before executing this command:
+
+ ```elixir
+ config :pleroma, configurable_from_database: true
+ ```
+
```sh tab="OTP"
./bin/pleroma_ctl config migrate_to_db
```
@@ -18,7 +22,15 @@ mix pleroma.config migrate_to_db
## Transfer config from DB to `config/env.exported_from_db.secret.exs`
+!!! note
+ In-Database configuration will still be applied after executing this command unless you set the following in your config:
+
+ ```elixir
+ config :pleroma, configurable_from_database: false
+ ```
+
To delete transfered settings from database optional flag `-d` can be used. <env> is `prod` by default.
+
```sh tab="OTP"
./bin/pleroma_ctl config migrate_from_db [--env=<env>] [-d]
```
diff --git a/docs/configuration/cheatsheet.md b/docs/configuration/cheatsheet.md
index ed9049a8d..f30aedc01 100644
--- a/docs/configuration/cheatsheet.md
+++ b/docs/configuration/cheatsheet.md
@@ -856,4 +856,5 @@ config :auto_linker,
## :configurable_from_database
-Enable/disable configuration from database.
+
+Boolean, enables/disables in-database configuration. Read [Transfering the config to/from the database](../administration/CLI_tasks/config.md) for more information.