2023-12-27 23:15:32 +00:00
# Transferring the config to/from the database
2019-10-03 11:12:57 +00:00
2019-12-09 01:07:16 +00:00
{! backend/administration/CLI_tasks/general_cli_task_info.include !}
2019-10-03 11:12:57 +00:00
## Transfer config from file to DB.
2020-02-06 12:00:33 +00:00
!!! note
You need to add the following to your config before executing this command:
```elixir
config :pleroma, configurable_from_database: true
```
2020-08-15 06:49:12 +00:00
=== "OTP"
2019-10-03 11:12:57 +00:00
2020-08-15 06:49:12 +00:00
```sh
./bin/pleroma_ctl config migrate_to_db
```
=== "From Source"
2019-12-09 01:07:16 +00:00
2020-08-15 06:49:12 +00:00
```sh
mix pleroma.config migrate_to_db
```
2019-12-09 01:07:16 +00:00
2019-10-03 11:12:57 +00:00
## Transfer config from DB to `config/env.exported_from_db.secret.exs`
2020-02-06 12:00:33 +00:00
!!! 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
```
2021-03-23 11:23:37 +00:00
Options:
2023-12-27 23:15:32 +00:00
- `<path>` - where to save migrated config. E.g. `--path=/tmp` . If file saved into non-standard folder, you must manually copy file into directory where Pleroma can read it. For OTP install path will be `PLEROMA_CONFIG_PATH` or `/etc/pleroma` . For installation from source - `config` directory in the pleroma folder.
2021-03-23 11:23:37 +00:00
- `<env>` - environment, for which is migrated config. By default is `prod` .
- To delete transferred settings from database optional flag `-d` can be used
2020-02-06 12:00:33 +00:00
2020-08-15 06:49:12 +00:00
=== "OTP"
```sh
2021-03-23 11:23:37 +00:00
./bin/pleroma_ctl config migrate_from_db [--env=< env > ] [-d] [--path=< path > ]
2020-08-15 06:49:12 +00:00
```
2019-12-09 01:07:16 +00:00
2020-08-15 06:49:12 +00:00
=== "From Source"
```sh
2021-03-23 11:23:37 +00:00
mix pleroma.config migrate_from_db [--env=< env > ] [-d] [--path=< path > ]
2020-08-15 06:49:12 +00:00
```
2020-11-25 23:49:36 +00:00
## Dump all of the config settings defined in the database
=== "OTP"
```sh
./bin/pleroma_ctl config dump
```
=== "From Source"
```sh
mix pleroma.config dump
```
## List individual configuration groups in the database
=== "OTP"
```sh
./bin/pleroma_ctl config groups
```
=== "From Source"
```sh
mix pleroma.config groups
```
2020-11-28 18:19:00 +00:00
## Dump the saved configuration values for a specific group or key
2020-11-25 23:49:36 +00:00
2020-11-28 18:19:00 +00:00
e.g., this shows all the settings under `config :pleroma`
2020-11-25 23:49:36 +00:00
=== "OTP"
```sh
2020-11-28 18:19:00 +00:00
./bin/pleroma_ctl config dump pleroma
2020-11-25 23:49:36 +00:00
```
=== "From Source"
```sh
2020-11-28 18:19:00 +00:00
mix pleroma.config dump pleroma
2020-11-25 23:49:36 +00:00
```
2020-11-25 23:51:31 +00:00
2020-11-28 18:19:00 +00:00
To get values under a specific key:
2020-11-25 23:51:31 +00:00
2020-11-28 18:19:00 +00:00
e.g., this shows all the settings under `config :pleroma, :instance`
2020-11-25 23:51:31 +00:00
=== "OTP"
```sh
2020-11-28 18:19:00 +00:00
./bin/pleroma_ctl config dump pleroma instance
2020-11-25 23:51:31 +00:00
```
=== "From Source"
```sh
2020-11-28 18:19:00 +00:00
mix pleroma.config dump pleroma instance
```
## Delete the saved configuration values for a specific group or key
e.g., this deletes all the settings under `config :tesla`
=== "OTP"
```sh
2020-12-02 22:24:32 +00:00
./bin/pleroma_ctl config delete [--force] tesla
2020-11-28 18:19:00 +00:00
```
=== "From Source"
```sh
2020-12-02 22:24:32 +00:00
mix pleroma.config delete [--force] tesla
2020-11-28 18:19:00 +00:00
```
To delete values under a specific key:
e.g., this deletes all the settings under `config :phoenix, :stacktrace_depth`
=== "OTP"
```sh
2020-12-02 22:24:32 +00:00
./bin/pleroma_ctl config delete [--force] phoenix stacktrace_depth
2020-11-28 18:19:00 +00:00
```
=== "From Source"
```sh
2020-12-02 22:24:32 +00:00
mix pleroma.config delete [--force] phoenix stacktrace_depth
2020-11-25 23:51:31 +00:00
```
## Remove all settings from the database
This forcibly removes all saved values in the database.
=== "OTP"
```sh
2020-12-02 22:24:32 +00:00
./bin/pleroma_ctl config [--force] reset
2020-11-25 23:51:31 +00:00
```
=== "From Source"
```sh
2020-12-02 22:24:32 +00:00
mix pleroma.config [--force] reset
2024-07-17 17:51:56 +00:00
```
## Remove invalid MRF modules from the database
This forcibly removes any enabled MRF that does not exist and will fix the ability of the instance to start.
=== "OTP"
```sh
./bin/pleroma_ctl config fix_mrf_policies
2020-11-25 23:51:31 +00:00
```
2024-07-17 17:51:56 +00:00
=== "From Source"
```sh
mix pleroma.config fix_mrf_policies
```