#!/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."