Merge branch 'develop' into issue/1383
This commit is contained in:
commit
6813c0302c
79 changed files with 1053 additions and 374 deletions
|
|
@ -665,11 +665,9 @@ Note: Available `:permission_group` is currently moderator and admin. 404 is ret
|
|||
- 404 Not Found `"Not found"`
|
||||
- On success: 200 OK `{}`
|
||||
|
||||
## `GET /api/pleroma/admin/config/migrate_from_db`
|
||||
## `GET /api/pleroma/admin/restart`
|
||||
|
||||
### Run mix task pleroma.config migrate_from_db
|
||||
|
||||
Copies all settings from database to `config/{env}.exported_from_db.secret.exs` with deletion from the table. Where `{env}` is the environment in which `pleroma` is running.
|
||||
### Restarts pleroma application
|
||||
|
||||
- Params: none
|
||||
- Response:
|
||||
|
|
@ -691,7 +689,6 @@ Copies all settings from database to `config/{env}.exported_from_db.secret.exs`
|
|||
- Response:
|
||||
- On failure:
|
||||
- 400 Bad Request `"To use this endpoint you need to enable configuration from database."`
|
||||
- 400 Bad Request `"To use configuration from database migrate your settings to database."`
|
||||
|
||||
```json
|
||||
{
|
||||
|
|
|
|||
|
|
@ -101,7 +101,7 @@ The `type` value is `move`. Has an additional field:
|
|||
|
||||
- `target`: new account
|
||||
|
||||
### EmojiReaction Notification
|
||||
### EmojiReact Notification
|
||||
|
||||
The `type` value is `pleroma:emoji_reaction`. Has these fields:
|
||||
|
||||
|
|
|
|||
|
|
@ -1,79 +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. These settings are needed in `compile time`, that's why settings are duplicated to the file.
|
||||
|
||||
File with duplicated settings is located in `config/{env}.exported_from_db.exs` if pleroma is runned from source. For prod env it will be `config/prod.exported_from_db.exs`.
|
||||
|
||||
For releases: `/etc/pleroma/prod.exported_from_db.secret.exs` or `PLEROMA_CONFIG_PATH/prod.exported_from_db.exs`.
|
||||
|
||||
## 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. After each save, settings from database are duplicated to the `config/{env}.exported_from_db.exs` file.
|
||||
|
||||
<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`
|
||||
- partially settings inside these keys:
|
||||
- `:seconds_valid` in `Pleroma.Captcha`
|
||||
- `:proxy_remote` in `Pleroma.Upload`
|
||||
- `:upload_limit` in `:instance`
|
||||
|
||||
## 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. 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
|
||||
|
||||
!!! 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`
|
||||
|
||||
To delete transfered settings from database optional flag `-d` can be used. <env> is `prod` by default.
|
||||
!!! 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]
|
||||
```
|
||||
|
|
|
|||
|
|
@ -69,6 +69,7 @@ You shouldn't edit the base config directly to avoid breakages and merge conflic
|
|||
* `account_field_name_length`: An account field name maximum length (default: `512`).
|
||||
* `account_field_value_length`: An account field value maximum length (default: `2048`).
|
||||
* `external_user_synchronization`: Enabling following/followers counters synchronization for external users.
|
||||
* `cleanup_attachments`: Remove attachments along with statuses. Does not affect duplicate files and attachments without status. Enabling this will increase load to database when deleting statuses on larger instances.
|
||||
|
||||
## Federation
|
||||
### MRF policies
|
||||
|
|
@ -864,4 +865,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.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue