Blame

e5fe93 theophile 2025-10-07 13:37:58
forgejo backup commands updates
1
# Backup & Restore
2
3
Cette page est dédier à la sauvegarde et restoration des services sur le serveur.
1d634d admin 2025-09-03 14:28:17
added initial page
4
5
## Services
8da001 admin 2025-09-03 14:29:02
added tip styling
6
> [!NOTE]
69cfe3 admin 2025-09-03 14:29:18
more styling
7
> As of _25/08/08_ → **20 GiB** approximatly. It should not grow very fast, since it is
8da001 admin 2025-09-03 14:29:02
added tip styling
8
> mostly configuration files and a text wiki.
1d634d admin 2025-09-03 14:28:17
added initial page
9
3aae9d theophile 2025-10-07 14:33:16
cleanup
10
**Large Media** is backed up seperatly when necessary:
1d634d admin 2025-09-03 14:28:17
added initial page
11
12
- jellyfin
13
- navidrome
14
64543b theophile 2025-10-07 15:53:14
miniflux backup and restore
15
:::warning
16
# Stop containers before making backups.
17
This is safer for data.
18
:::
19
3aae9d theophile 2025-10-07 14:33:16
cleanup
20
---
24f926 theophile 2025-10-07 14:28:22
test nested pages
21
aff08e theophile 2025-10-07 14:51:59
tested backup and restore
22
### Otterwiki ✅
1d634d admin 2025-09-03 14:28:17
added initial page
23
4ae2a9 admin 2025-09-03 18:11:23
change dokuwiki section to otterwiki
24
OtterWiki being a flatfile wiki, we can back it up by simply copying the
64543b theophile 2025-10-07 15:53:14
miniflux backup and restore
25
`/mnt/data/otterwiki` folder and restoring it.
1d634d admin 2025-09-03 14:28:17
added initial page
26
3aae9d theophile 2025-10-07 14:33:16
cleanup
27
---
28
aff08e theophile 2025-10-07 14:51:59
tested backup and restore
29
### Forgejo ✅
094334 theophile 2025-09-28 20:49:23
initial forgejo backup documentation
30
64543b theophile 2025-10-07 15:53:14
miniflux backup and restore
31
**Backup**
e5fe93 theophile 2025-10-07 13:37:58
forgejo backup commands updates
32
33
[Based on the documentation](https://forgejo.org/docs/latest/admin/upgrade/#backup) and [this analysis of gitea backups](https://codeberg.org/forgejo/forgejo/src/tag/v1.21.3-0/docs/content/administration/backup-and-restore.en-us.md), we can run
094334 theophile 2025-09-28 20:49:23
initial forgejo backup documentation
34
35
```bash
8c9c43 theophile 2025-10-07 15:53:50
cleanup
36
e5fe93 theophile 2025-10-07 13:37:58
forgejo backup commands updates
37
docker compose exec -u git forgejo forgejo dump --file /tmp/forgejo-dump.zip
8c9c43 theophile 2025-10-07 15:53:50
cleanup
38
094334 theophile 2025-09-28 20:49:23
initial forgejo backup documentation
39
```
8c9c43 theophile 2025-10-07 15:53:50
cleanup
40
e5fe93 theophile 2025-10-07 13:37:58
forgejo backup commands updates
41
Then copy out the file and rename it at the same time:
42
43
```bash
44
docker compose cp forgejo:/tmp/forgejo-dump.zip /mnt/data/backups/forgejo/forgejo-backup-$(date +%Y%m%d-%H%M%S).zip
45
```
46
47
Pour finir, on supprime l'archive du dossier /tmp dans le container:
48
49
```bash
50
docker compose exec forgejo rm /tmp/forgejo-dump.zip
51
```
52
64543b theophile 2025-10-07 15:53:14
miniflux backup and restore
53
**Restore**
e5fe93 theophile 2025-10-07 13:37:58
forgejo backup commands updates
54
e299e7 theophile 2025-10-07 14:27:18
forgejo restore
55
Move all relevant files to their location in the mounted volumes:
56
57
```bash
58
59
docker compose up
60
# Arreter un peu après. C'est pour générer la structure de dossiers.
61
unzip forgejo-dump-1610949662.zip
62
cd forgejo-dump-1610949662
63
mv app.ini $FORGEJO_DATA_DIR/gitea/conf/app.ini
64
mv data/* $FORGEJO_DATA_DIR/gitea/data/
65
mv log/* $FORGEJO_DATA_DIR/gitea/log/
66
mv repos/* $FORGEJO_DATA_DIR/git/repositories/
67
chown -R docker:docker $FORGEJO_DATA_DIR/
68
69
# Je garde les commandes ci-dessous comme archives. La db se trouve déjà dans data/.
70
# De fait, on peut s'arrêter là, et on a pas besoin du dump, car sqlite3 est en format single file.
71
72
# sqlite3
73
# sqlite3 $DATABASE_PATH <gitea-db.sql
74
75
# Commandes pour d'autres types de DB:
76
# mysql
77
# mysql --default-character-set=utf8mb4 -u$USER -p$PASS $DATABASE <gitea-db.sql
78
# postgres
79
# psql -U $USER -d $DATABASE < gitea-db.sql
80
81
```
e5fe93 theophile 2025-10-07 13:37:58
forgejo backup commands updates
82
3aae9d theophile 2025-10-07 14:33:16
cleanup
83
---
094334 theophile 2025-09-28 20:49:23
initial forgejo backup documentation
84
1d634d admin 2025-09-03 14:28:17
added initial page
85
### Jellyfin
86
87
[Backup and Restore → jellyfin.org](https://jellyfin.org/docs/general/administration/backup-and-restore)
88
669a6e theophile 2025-10-22 13:50:45
Jellyfin backup procedure
89
**Backup**
90
91
1. Stop the container completly
92
2. Copy the config folder → `/mnt/data/jellyfin/config`
93
94
Alternatively,
95
96
> To take a new Backup, enter the **Jellyfin Dashboard**, open the **Backups** tab and click on the **Create Backup** button. The popup will now ask you to select what data you want to backup.
97
>
98
> - **Database**. Always enabled. Will contain all data from the jellyfin.db or used database provider.
99
> - **Metadata**. The contents of the metadata folder and depending on your selected options may contain metadata images.
100
> - **Subtitles**. All extracted subtitles including downloaded ones.
101
> - **Trickplay**. All trickplay data that is stored not alongside media.
102
>
103
>The Backup system will check for at least 4GB of free space in the backup folder where backups a written to. However this can easily not be enough if you also backup Subtitles and Trickplay so ensure you have enough free space there. The Backup folder is located within your Jellyfin data directory which is located in
104
4546d2 theophile 2025-11-26 11:22:41
link to discussion on ignoring metadata folder
105
[Jellyfin Docker Backup Without Metadata](https://forum.jellyfin.org/t-jellyfin-docker-backup-without-metadata) → we can apparently safely ignore the `metadata` folder, which is the largest folder in `config`.
106
669a6e theophile 2025-10-22 13:50:45
Jellyfin backup procedure
107
**Restore**
108
109
> To restore from a Backup you can either use the webUI by navigating to the same view as for the step above and clicking on the restore button in the list of backups, or you can start jellyfin with the `--restore-archive PATH_TO_BACKUP_ZIP` argument. Note that when you start a restore from the webUI, you server will immediately restart for this process to take place and will be unavailable for that time.
1d634d admin 2025-09-03 14:28:17
added initial page
110
3aae9d theophile 2025-10-07 14:33:16
cleanup
111
---
112
1d634d admin 2025-09-03 14:28:17
added initial page
113
### Kavita
114
115
[Backups → wiki.kavitareader.com](https://wiki.kavitareader.com/guides/admin-settings/tasks/#kavita-backup)
116
117
Backups are already generated, in `/mnt/data/kavita/config/backups`.
118
3aae9d theophile 2025-10-07 14:33:16
cleanup
119
---
120
1d634d admin 2025-09-03 14:28:17
added initial page
121
### Navidrome
122
123
[Automated Backup → navidrome.org](https://www.navidrome.org/docs/usage/backup/)
124
c885e2 theophile 2025-10-12 23:16:17
updated readeck section, structure and markup cleanup
125
**Backup**
9d5404 theophile 2025-10-10 16:01:27
navidrome instructions
126
1d634d admin 2025-09-03 14:28:17
added initial page
127
Backup can be automated via config file or env variables. Location is
128
`/mnt/data/navidrome/backup`.
129
9d5404 theophile 2025-10-10 16:01:27
navidrome instructions
130
Alternatively, we can also directly start a backup from inside the container:
131
132
```bash
133
sudo docker compose run <service_name> backup create
134
# service_name is usually `navidrome`
135
```
136
137
We can also prune old backups with:
138
139
```bash
140
sudo docker compose run <service_name> backup prune
141
# service_name is usually `navidrome`
142
```
c885e2 theophile 2025-10-12 23:16:17
updated readeck section, structure and markup cleanup
143
**Restore**
9d5404 theophile 2025-10-10 16:01:27
navidrome instructions
144
145
When you restore a backup, the existing data in the database is wiped and the data in the backup gets copied into the database.
146
147
Note: YOU MUST BE SURE TO RUN THIS COMMAND WHILE THE NAVIDROME APP IS NOT RUNNING/LIVE.
148
149
Restore a backup by running the navidrome backup restore command.
150
:::warning
151
Attention
152
Restoring a backup should ONLY be done when the service is NOT running. You’ve been warned.
153
:::
154
3aae9d theophile 2025-10-07 14:33:16
cleanup
155
---
156
6518e9 theophile 2025-10-07 16:10:26
miniflux check ✅
157
### Miniflux ✅
1d634d admin 2025-09-03 14:28:17
added initial page
158
64543b theophile 2025-10-07 15:53:14
miniflux backup and restore
159
**Backups**
160
1d634d admin 2025-09-03 14:28:17
added initial page
161
[FAQ → miniflux.app](https://miniflux.app/faq.html#backup)
162
163
[postgresql dump restore → postgresql.org](https://www.postgresql.org/docs/current/backup-dump.html)
164
64543b theophile 2025-10-07 15:53:14
miniflux backup and restore
165
Miniflux stores all it's data in a PostgreSQL db.
166
167
We can dump it with:
168
169
```bash
170
docker compose exec -T db pg_dump -U miniflux miniflux > miniflux_backup.sql
171
```
172
173
**Restore**
174
175
Start the db service:
1d634d admin 2025-09-03 14:28:17
added initial page
176
177
```bash
64543b theophile 2025-10-07 15:53:14
miniflux backup and restore
178
docker compose up -d db
1d634d admin 2025-09-03 14:28:17
added initial page
179
```
180
64543b theophile 2025-10-07 15:53:14
miniflux backup and restore
181
Then run the dump restoration command:
182
183
```bash
184
cat ./miniflux_backup.sql | podman-compose exec -T db psql -U miniflux miniflux
185
```
186
187
Then start the miniflux service:
188
189
```bash
190
docker compose up -d miniflux
191
```
1d634d admin 2025-09-03 14:28:17
added initial page
192
3aae9d theophile 2025-10-07 14:33:16
cleanup
193
---
194
c885e2 theophile 2025-10-12 23:16:17
updated readeck section, structure and markup cleanup
195
### Readeck ✅
1d634d admin 2025-09-03 14:28:17
added initial page
196
197
[Backups → readeck.org](https://readeck.org/en/docs/backups)
198
c885e2 theophile 2025-10-12 23:16:17
updated readeck section, structure and markup cleanup
199
**Backup**
200
1d634d admin 2025-09-03 14:28:17
added initial page
201
```bash
c885e2 theophile 2025-10-12 23:16:17
updated readeck section, structure and markup cleanup
202
docker compose exec app readeck export -config /readeck/config.toml /readeck/readeck_backup_"$(date +%Y%m%dT%H%M%S)".zip
1d634d admin 2025-09-03 14:28:17
added initial page
203
```
204
c885e2 theophile 2025-10-12 23:16:17
updated readeck section, structure and markup cleanup
205
**Restore**
1d634d admin 2025-09-03 14:28:17
added initial page
206
c885e2 theophile 2025-10-12 23:16:17
updated readeck section, structure and markup cleanup
207
To import:
1d634d admin 2025-09-03 14:28:17
added initial page
208
c885e2 theophile 2025-10-12 23:16:17
updated readeck section, structure and markup cleanup
209
```bash
210
docker compose exec app readeck import -config /readeck/config.toml /readeck/readeck_backup_"$(date +%Y%m%dT%H%M%S)".zip
211
```
5d7331 theophile 2025-10-07 18:01:31
readeck warning and instructions
212
3aae9d theophile 2025-10-07 14:33:16
cleanup
213
---
214
c885e2 theophile 2025-10-12 23:16:17
updated readeck section, structure and markup cleanup
215
### Caddy ✅
1d634d admin 2025-09-03 14:28:17
added initial page
216
217
It is sufficient to backup the `/mnt/data/caddy`. The most important folders
218
inside are:
219
220
- `./Caddyfile`
221
- `./html/`
222
223
To restore, the both should be in the same folder, for the Caddyfile contains
224
the paths to the different root folders for the websites hosted.
225
3aae9d theophile 2025-10-07 14:33:16
cleanup
226
---
227
5f0d87 theophile 2025-10-04 11:59:42
openwebui backup instructions
228
### OpenWebUI
229
230
We do not backup the `ollama` models. We only handle the `openwebui` data.
231
232
233
- [Backing Up Your Instance - openwebUI docs](https://docs.openwebui.com/tutorials/maintenance/backups/#scripting-a-backup-job)
234
235
236
**Dir structure**:
237
```
238
├── audit.log
239
├── cache/
240
├── uploads/
241
├── vector_db/
242
└── webui.db
243
```
244
1d65de theophile 2025-10-04 12:00:32
format improvement to openwebui section
245
1. Cold backup approach - Stops the container before backup for data integrity
246
2. Copies the entire `/webui` folder including:
247
- webui.db (main database with chats, users, settings)
248
- uploads/ (uploaded files)
249
- cache/ (cached data)
250
- vector_db/ (RAG/Knowledge embeddings)
5f0d87 theophile 2025-10-04 11:59:42
openwebui backup instructions
251
3aae9d theophile 2025-10-07 14:33:16
cleanup
252
---
5f0d87 theophile 2025-10-04 11:59:42
openwebui backup instructions
253
9d5404 theophile 2025-10-10 16:01:27
navidrome instructions
254
### Medama
255
256
n.a.
257
c885e2 theophile 2025-10-12 23:16:17
updated readeck section, structure and markup cleanup
258
259
---
260
261
### Paperless-ngx
262
263
n.a.
264
265
9d5404 theophile 2025-10-10 16:01:27
navidrome instructions
266
---
267
1d634d admin 2025-09-03 14:28:17
added initial page
268
## Missing or broken installs
269
270
- archivebox
271
- bookstack
272
- etherpad
273
- synapse