chore: bootstrap Atay Makhzan ops repo
This commit is contained in:
Executable
+45
@@ -0,0 +1,45 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
STACK_DIR="${STACK_DIR:-/opt/gitea}"
|
||||
GITEA_CONTAINER="${GITEA_CONTAINER:-gitea}"
|
||||
DB_CONTAINER="${DB_CONTAINER:-gitea-db}"
|
||||
POSTGRES_USER="${POSTGRES_USER:-gitea}"
|
||||
POSTGRES_DB="${POSTGRES_DB:-gitea}"
|
||||
|
||||
cd "$STACK_DIR"
|
||||
TS="$(date -u +%Y%m%d-%H%M%S)"
|
||||
BK="$STACK_DIR/backups/$TS"
|
||||
mkdir -p "$BK"
|
||||
|
||||
cp docker-compose.yml "$BK/docker-compose.yml"
|
||||
if [ -f "$STACK_DIR/gitea-data/gitea/conf/app.ini" ]; then
|
||||
cp "$STACK_DIR/gitea-data/gitea/conf/app.ini" "$BK/app.ini"
|
||||
fi
|
||||
|
||||
{
|
||||
echo "backup_utc=$TS"
|
||||
echo "host=$(hostname)"
|
||||
echo "date=$(date -u --iso-8601=seconds)"
|
||||
echo "docker=$(docker --version)"
|
||||
echo "compose=$(docker compose version 2>/dev/null || true)"
|
||||
echo "gitea_version=$(docker exec -u git "$GITEA_CONTAINER" gitea --version 2>/dev/null || true)"
|
||||
docker ps --format '{{.Names}} | {{.Image}} | {{.Status}} | {{.Ports}}'
|
||||
} > "$BK/metadata.txt"
|
||||
|
||||
docker exec -u git "$GITEA_CONTAINER" mkdir -p /data/gitea/backup-tmp
|
||||
DUMP_NAME="gitea-dump-$TS.zip"
|
||||
docker exec -u git "$GITEA_CONTAINER" gitea dump \
|
||||
-c /data/gitea/conf/app.ini \
|
||||
-w /data/gitea \
|
||||
-f "/data/gitea/backup-tmp/$DUMP_NAME" \
|
||||
--quiet
|
||||
|
||||
cp "$STACK_DIR/gitea-data/gitea/backup-tmp/$DUMP_NAME" "$BK/$DUMP_NAME"
|
||||
rm -f "$STACK_DIR/gitea-data/gitea/backup-tmp/$DUMP_NAME"
|
||||
|
||||
docker exec "$DB_CONTAINER" pg_dump -U "$POSTGRES_USER" -d "$POSTGRES_DB" -Fc > "$BK/gitea-postgres-$TS.dump"
|
||||
sha256sum "$BK"/* > "$BK/SHA256SUMS"
|
||||
|
||||
echo "Backup created: $BK"
|
||||
du -sh "$BK" "$BK"/*
|
||||
Reference in New Issue
Block a user