Kansho/scripts/backup-postgres.sh
Lars 07479f6a9f
Some checks failed
Deploy Development / deploy (push) Successful in 44s
Test Suite / backend-sqlite (push) Failing after 2s
Test Suite / frontend-build (push) Successful in 23s
Add Compose, Gitea deploy, and Postgres dual-backend on develop.
Use host ports 3006/8005 and 3096/8096 so Kansho does not collide with Bookstack on 3005 or the sister products.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-07 12:15:08 +02:00

26 lines
893 B
Bash

#!/bin/sh
# Postgres dump + note for the media volume. Run on the Pi next to Compose.
# Usage: ./scripts/backup-postgres.sh [prod|dev]
set -e
ENV_NAME="${1:-prod}"
STAMP=$(date -u +%Y%m%d-%H%M%S)
BACKUP_ROOT="${KANSHO_PG_BACKUP_DIR:-$HOME/backups/kansho}"
mkdir -p "$BACKUP_ROOT"
if [ "$ENV_NAME" = "dev" ]; then
APP_DIR="${KANSHO_DEV_DIR:-/home/lars/docker/kansho-dev}"
COMPOSE="docker compose -f docker-compose.dev-env.yml"
DB_USER="${DB_USER:-kansho_dev}"
DB_NAME="${DB_NAME:-kansho_dev}"
else
APP_DIR="${KANSHO_PROD_DIR:-/home/lars/docker/kansho}"
COMPOSE="docker compose"
DB_USER="${DB_USER:-kansho}"
DB_NAME="${DB_NAME:-kansho}"
fi
cd "$APP_DIR"
$COMPOSE exec -T postgres pg_dump -U "$DB_USER" "$DB_NAME" > "$BACKUP_ROOT/kansho-$ENV_NAME-$STAMP.sql"
echo "Wrote $BACKUP_ROOT/kansho-$ENV_NAME-$STAMP.sql"
echo "Copy the media volume separately; see docs/DEPLOYMENT.md."