- added DynamicSupervisor, which starts Pleroma deps and restarts config dependent deps - added pleroma installer, where user can configure database credentials and pleroma config. Settings are saved into file and in database - added versioning for in database config. New version is created from changes which are passed to config update/delete endpoint. Every version contains backup with all changes added through update. Versioning supports rollbacks with N steps. With a rollback, all versions that come after the version on which the rollback was made are deleted.
3.2 KiB
Transfering the config to/from the database
{! 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
```
=== "OTP"
```sh
./bin/pleroma_ctl config migrate_to_db
```
=== "From Source"
```sh
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 transferred settings from database optional flag -d
can be used. <env>
is prod
by default.
=== "OTP"
sh ./bin/pleroma_ctl config migrate_from_db [--env=<env>] [-d]
=== "From Source"
sh mix pleroma.config migrate_from_db [--env=<env>] [-d]
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
```
Dump the saved configuration values for a specific group or key
e.g., this shows all the settings under config :pleroma
=== "OTP"
```sh
./bin/pleroma_ctl config dump pleroma
```
=== "From Source"
```sh
mix pleroma.config dump pleroma
```
To get values under a specific key:
e.g., this shows all the settings under config :pleroma, :instance
=== "OTP"
```sh
./bin/pleroma_ctl config dump pleroma instance
```
=== "From Source"
```sh
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
./bin/pleroma_ctl config delete [--force] tesla
```
=== "From Source"
```sh
mix pleroma.config delete [--force] tesla
```
To delete values under a specific key:
e.g., this deletes all the settings under config :phoenix, :stacktrace_depth
=== "OTP"
```sh
./bin/pleroma_ctl config delete [--force] phoenix stacktrace_depth
```
=== "From Source"
```sh
mix pleroma.config delete [--force] phoenix stacktrace_depth
```
Remove all settings from the database
This forcibly removes all saved values in the database.
=== "OTP"
```sh
./bin/pleroma_ctl config [--force] reset
```
=== "From Source"
```sh
mix pleroma.config [--force] reset
Rollback config version
!!! note You need to add the following to your config before executing this command:
```elixir
config :pleroma, configurable_from_database: true
```
Rollback will restore last backup by default. If you want to restore older version use -s
parameter.
=== "OTP"
sh ./bin/pleroma_ctl config rollback [-s 2]
=== "From Source"
sh mix pleroma.config rollback [-s 2]