Transfering the config to/from the database¶
Every command should be ran as the akkoma
user from it's home directory. For example if you are superuser, you would have to wrap the command in su akkoma -s $SHELL -lc "$COMMAND"
.
From source note about MIX_ENV
The mix
command should be prefixed with the name of environment your Akkoma server is running in, usually it's MIX_ENV=prod
Transfer config from file to DB.¶
Note
You need to add the following to your config before executing this command:
config :pleroma, configurable_from_database: true
./bin/pleroma_ctl config migrate_to_db
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:
config :pleroma, configurable_from_database: false
Options:
<path>
- where to save migrated config. E.g.--path=/tmp
. If file saved into non standart folder, you must manually copy file into directory where Pleroma can read it. For OTP install path will bePLEROMA_CONFIG_PATH
or/etc/akkoma
. For installation from source -config
directory in the akkoma folder.<env>
- environment, for which is migrated config. By default isprod
.- To delete transferred settings from database optional flag
-d
can be used
./bin/pleroma_ctl config migrate_from_db [--env=<env>] [-d] [--path=<path>]
mix pleroma.config migrate_from_db [--env=<env>] [-d] [--path=<path>]
Dump all of the config settings defined in the database¶
./bin/pleroma_ctl config dump
mix pleroma.config dump
List individual configuration groups in the database¶
./bin/pleroma_ctl config groups
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
./bin/pleroma_ctl config dump pleroma
mix pleroma.config dump pleroma
To get values under a specific key:
e.g., this shows all the settings under config :pleroma, :instance
./bin/pleroma_ctl config dump pleroma instance
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
./bin/pleroma_ctl config delete [--force] tesla
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
./bin/pleroma_ctl config delete [--force] phoenix stacktrace_depth
mix pleroma.config delete [--force] phoenix stacktrace_depth
Remove all settings from the database¶
This forcibly removes all saved values in the database.
./bin/pleroma_ctl config [--force] reset
mix pleroma.config [--force] reset
Dumping specific configuration values to JSON¶
If you want to bulk-modify configuration values (for example, for MRF modifications), it may be easier to dump the values to JSON and then modify them in a text editor.
./bin/pleroma_ctl config dump_to_file group key path
# For example, to dump the MRF simple configuration:
./bin/pleroma_ctl config dump_to_file pleroma mrf_simple /tmp/mrf_simple.json
mix pleroma.config dump_to_file group key path
# For example, to dump the MRF simple configuration:
mix pleroma.config dump_to_file pleroma mrf_simple /tmp/mrf_simple.json
Loading specific configuration values from JSON¶
Note: This will overwrite any existing value in the database, and can cause crashes if you do not have exactly the correct formatting.
Once you have modified the JSON file, you can load it back into the database.
./bin/pleroma_ctl config load_from_file path
# For example, to load the MRF simple configuration:
./bin/pleroma_ctl config load_from_file /tmp/mrf_simple.json
mix pleroma.config load_from_file path
# For example, to load the MRF simple configuration:
mix pleroma.config load_from_file /tmp/mrf_simple.json
NOTE an instance reboot is needed for many changes to take effect,
you may want to visit /api/v1/pleroma/admin/restart
on your instance
to soft-restart the instance.