Docs: use `MIX_ENV=prod mix pleroma.instance gen`
[akkoma] / docs / administration / CLI_tasks / config.md
1 # Transfering the config to/from the database
2
3 {! backend/administration/CLI_tasks/general_cli_task_info.include !}
4
5 ## Transfer config from file to DB.
6
7 !!! note
8 You need to add the following to your config before executing this command:
9
10 ```elixir
11 config :pleroma, configurable_from_database: true
12 ```
13
14 === "OTP"
15
16 ```sh
17 ./bin/pleroma_ctl config migrate_to_db
18 ```
19
20 === "From Source"
21
22 ```sh
23 mix pleroma.config migrate_to_db
24 ```
25
26 ## Transfer config from DB to `config/env.exported_from_db.secret.exs`
27
28 !!! note
29 In-Database configuration will still be applied after executing this command unless you set the following in your config:
30
31 ```elixir
32 config :pleroma, configurable_from_database: false
33 ```
34
35 To delete transferred settings from database optional flag `-d` can be used. `<env>` is `prod` by default.
36
37 === "OTP"
38 ```sh
39 ./bin/pleroma_ctl config migrate_from_db [--env=<env>] [-d]
40 ```
41
42 === "From Source"
43 ```sh
44 mix pleroma.config migrate_from_db [--env=<env>] [-d]
45 ```
46
47 ## Dump all of the config settings defined in the database
48
49 === "OTP"
50
51 ```sh
52 ./bin/pleroma_ctl config dump
53 ```
54
55 === "From Source"
56
57 ```sh
58 mix pleroma.config dump
59 ```
60
61 ## List individual configuration groups in the database
62
63 === "OTP"
64
65 ```sh
66 ./bin/pleroma_ctl config groups
67 ```
68
69 === "From Source"
70
71 ```sh
72 mix pleroma.config groups
73 ```
74
75 ## Dump the saved configuration values for a specific group or key
76
77 e.g., this shows all the settings under `config :pleroma`
78
79 === "OTP"
80
81 ```sh
82 ./bin/pleroma_ctl config dump pleroma
83 ```
84
85 === "From Source"
86
87 ```sh
88 mix pleroma.config dump pleroma
89 ```
90
91 To get values under a specific key:
92
93 e.g., this shows all the settings under `config :pleroma, :instance`
94
95 === "OTP"
96
97 ```sh
98 ./bin/pleroma_ctl config dump pleroma instance
99 ```
100
101 === "From Source"
102
103 ```sh
104 mix pleroma.config dump pleroma instance
105 ```
106
107 ## Delete the saved configuration values for a specific group or key
108
109 e.g., this deletes all the settings under `config :tesla`
110
111 === "OTP"
112
113 ```sh
114 ./bin/pleroma_ctl config delete [--force] tesla
115 ```
116
117 === "From Source"
118
119 ```sh
120 mix pleroma.config delete [--force] tesla
121 ```
122
123 To delete values under a specific key:
124
125 e.g., this deletes all the settings under `config :phoenix, :stacktrace_depth`
126
127 === "OTP"
128
129 ```sh
130 ./bin/pleroma_ctl config delete [--force] phoenix stacktrace_depth
131 ```
132
133 === "From Source"
134
135 ```sh
136 mix pleroma.config delete [--force] phoenix stacktrace_depth
137 ```
138
139 ## Remove all settings from the database
140
141 This forcibly removes all saved values in the database.
142
143 === "OTP"
144
145 ```sh
146 ./bin/pleroma_ctl config [--force] reset
147 ```
148
149 === "From Source"
150
151 ```sh
152 mix pleroma.config [--force] reset
153 ```