mirror of
https://github.com/Sea-Haven-Industries/forgejo.git
synced 2026-09-30 06:33: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:
|
Download and restore:
|
||||||
|
|
||||||
```bash
|
```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
|
systemctl stop forgejo
|
||||||
mkdir -p /tmp/forgejo-restore && tar -xzf /tmp/forgejo-<date>.tar.gz -C /tmp/forgejo-restore
|
cd /var/lib/forgejo/.restore
|
||||||
cd /tmp/forgejo-restore
|
[ -d data ] && cp -a data/. /var/lib/forgejo/data/
|
||||||
cp app.ini /etc/forgejo/app.ini
|
|
||||||
cp gitea-db.sqlite3 /var/lib/forgejo/data/forgejo.db
|
|
||||||
rm -rf /var/lib/forgejo/data/repositories
|
rm -rf /var/lib/forgejo/data/repositories
|
||||||
cp -a repos /var/lib/forgejo/data/repositories
|
mkdir -p /var/lib/forgejo/data/repositories
|
||||||
cp -a data/. /var/lib/forgejo/data/
|
[ -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 lfs ] && cp -a lfs/. /var/lib/forgejo/data/lfs/
|
||||||
[ -d custom ] && cp -a custom/. /var/lib/forgejo/custom/
|
[ -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
|
systemctl start forgejo
|
||||||
rm -rf /tmp/forgejo-restore /tmp/forgejo-<date>.tar.gz
|
rm -rf /var/lib/forgejo/.restore
|
||||||
```
|
```
|
||||||
|
|
||||||
### Restore from GCS (disaster recovery)
|
### Restore from GCS (disaster recovery)
|
||||||
|
|
|
||||||
|
|
@ -125,8 +125,10 @@ if [ ! -f /var/lib/forgejo/data/forgejo.db ]; then
|
||||||
if [ -d "$RESTORE_DIR/repos" ]; then
|
if [ -d "$RESTORE_DIR/repos" ]; then
|
||||||
cp -a "$RESTORE_DIR"/repos/. /var/lib/forgejo/data/repositories/
|
cp -a "$RESTORE_DIR"/repos/. /var/lib/forgejo/data/repositories/
|
||||||
fi
|
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
|
cp "$RESTORE_DIR/gitea-db.sqlite3" /var/lib/forgejo/data/forgejo.db
|
||||||
|
fi
|
||||||
if [ -d "$RESTORE_DIR/lfs" ]; then
|
if [ -d "$RESTORE_DIR/lfs" ]; then
|
||||||
mkdir -p /var/lib/forgejo/data/lfs
|
mkdir -p /var/lib/forgejo/data/lfs
|
||||||
cp -a "$RESTORE_DIR"/lfs/. /var/lib/forgejo/data/lfs/
|
cp -a "$RESTORE_DIR"/lfs/. /var/lib/forgejo/data/lfs/
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue