forked from mirrors/akkoma
Merge branch 'fix/dymamic-docs' into 'develop'
Simplify in-database config docs See merge request pleroma/pleroma!2178
This commit is contained in:
commit
e12bf05f23
3 changed files with 17 additions and 88 deletions
|
@ -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
|
|
||||||
```
|
|
|
@ -1,12 +1,16 @@
|
||||||
# Transfering the config to/from the database
|
# 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 !}
|
{! backend/administration/CLI_tasks/general_cli_task_info.include !}
|
||||||
|
|
||||||
## Transfer config from file to DB.
|
## 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"
|
```sh tab="OTP"
|
||||||
./bin/pleroma_ctl config migrate_to_db
|
./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`
|
## 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.
|
To delete transfered settings from database optional flag `-d` can be used. <env> is `prod` by default.
|
||||||
|
|
||||||
```sh tab="OTP"
|
```sh tab="OTP"
|
||||||
./bin/pleroma_ctl config migrate_from_db [--env=<env>] [-d]
|
./bin/pleroma_ctl config migrate_from_db [--env=<env>] [-d]
|
||||||
```
|
```
|
||||||
|
|
|
@ -856,4 +856,5 @@ config :auto_linker,
|
||||||
|
|
||||||
|
|
||||||
## :configurable_from_database
|
## :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.
|
||||||
|
|
Loading…
Reference in a new issue