mirror of
https://github.com/Sea-Haven-Industries/forgejo.git
synced 2026-09-30 05:23:11 +00:00
fix(terraform): accept dumps that already contain data/forgejo.db
Today's archive has no gitea-db.sqlite3 at the root. Copy that file only when it is present.
This commit is contained in:
parent
30f4b54052
commit
2cc849024f
2 changed files with 14 additions and 11 deletions
19
README.md
19
README.md
|
|
@ -116,20 +116,21 @@ aws s3api restore-object --bucket forgejo-backups-328440206208 \
|
|||
Download and restore:
|
||||
|
||||
```bash
|
||||
aws s3 cp s3://forgejo-backups-328440206208/archive/<date>/forgejo-<date>.tar.gz /tmp/
|
||||
rm -rf /var/lib/forgejo/.restore && mkdir -p /var/lib/forgejo/.restore
|
||||
aws s3 cp s3://forgejo-backups-011934824531/archive/<date>/forgejo-<date>.tar.gz - --no-progress \
|
||||
| tar -xz -C /var/lib/forgejo/.restore
|
||||
systemctl stop forgejo
|
||||
mkdir -p /tmp/forgejo-restore && tar -xzf /tmp/forgejo-<date>.tar.gz -C /tmp/forgejo-restore
|
||||
cd /tmp/forgejo-restore
|
||||
cp app.ini /etc/forgejo/app.ini
|
||||
cp gitea-db.sqlite3 /var/lib/forgejo/data/forgejo.db
|
||||
cd /var/lib/forgejo/.restore
|
||||
[ -d data ] && cp -a data/. /var/lib/forgejo/data/
|
||||
rm -rf /var/lib/forgejo/data/repositories
|
||||
cp -a repos /var/lib/forgejo/data/repositories
|
||||
cp -a data/. /var/lib/forgejo/data/
|
||||
mkdir -p /var/lib/forgejo/data/repositories
|
||||
[ -d repos ] && cp -a repos/. /var/lib/forgejo/data/repositories/
|
||||
[ -f gitea-db.sqlite3 ] && cp gitea-db.sqlite3 /var/lib/forgejo/data/forgejo.db
|
||||
[ -d lfs ] && cp -a lfs/. /var/lib/forgejo/data/lfs/
|
||||
[ -d custom ] && cp -a custom/. /var/lib/forgejo/custom/
|
||||
chown -R forgejo:forgejo /var/lib/forgejo /etc/forgejo/app.ini
|
||||
chown -R forgejo:forgejo /var/lib/forgejo
|
||||
systemctl start forgejo
|
||||
rm -rf /tmp/forgejo-restore /tmp/forgejo-<date>.tar.gz
|
||||
rm -rf /var/lib/forgejo/.restore
|
||||
```
|
||||
|
||||
### Restore from GCS (disaster recovery)
|
||||
|
|
|
|||
|
|
@ -125,8 +125,10 @@ if [ ! -f /var/lib/forgejo/data/forgejo.db ]; then
|
|||
if [ -d "$RESTORE_DIR/repos" ]; then
|
||||
cp -a "$RESTORE_DIR"/repos/. /var/lib/forgejo/data/repositories/
|
||||
fi
|
||||
# Dump sqlite lives at the archive root, not under data/. Copy it last.
|
||||
# Older dumps keep sqlite at the archive root. Current dumps already have data/forgejo.db.
|
||||
if [ -f "$RESTORE_DIR/gitea-db.sqlite3" ]; then
|
||||
cp "$RESTORE_DIR/gitea-db.sqlite3" /var/lib/forgejo/data/forgejo.db
|
||||
fi
|
||||
if [ -d "$RESTORE_DIR/lfs" ]; then
|
||||
mkdir -p /var/lib/forgejo/data/lfs
|
||||
cp -a "$RESTORE_DIR"/lfs/. /var/lib/forgejo/data/lfs/
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue