feat: add Docker support with deployment scripts and database backup functionality
This commit is contained in:
32
scripts/vps-backup-db.sh
Executable file
32
scripts/vps-backup-db.sh
Executable file
@@ -0,0 +1,32 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
SSH_USER="${SSH_USER:-syntaxbullet}"
|
||||
VPS_HOST="${VPS_HOST:-srv1.bayerischer-mittelstandspreis.de}"
|
||||
VPS_PORT="${VPS_PORT:-22}"
|
||||
SSH_KEY="${SSH_KEY:-$HOME/.ssh/bmp-vps-deploy}"
|
||||
APP_ROOT="${APP_ROOT:-/var/www/bmp-website}"
|
||||
APP_DOMAIN="${APP_DOMAIN:-srv1.bayerischer-mittelstandspreis.de}"
|
||||
|
||||
SSH_TARGET="$SSH_USER@$VPS_HOST"
|
||||
COMPOSE_FILE="$APP_ROOT/current/deploy/vps/docker-compose.yml"
|
||||
|
||||
ssh -i "$SSH_KEY" -p "$VPS_PORT" "$SSH_TARGET" "
|
||||
set -e
|
||||
backup_dir='$APP_ROOT/backups'
|
||||
backup_file=\"\$backup_dir/content-\$(date +%Y%m%d-%H%M%S).db\"
|
||||
|
||||
sudo install -d -o '$SSH_USER' -g '$SSH_USER' \"\$backup_dir\"
|
||||
|
||||
restart_app() {
|
||||
APP_ROOT='$APP_ROOT' APP_DOMAIN='$APP_DOMAIN' sudo docker compose -f '$COMPOSE_FILE' up -d app >/dev/null
|
||||
}
|
||||
|
||||
trap restart_app EXIT
|
||||
APP_ROOT='$APP_ROOT' APP_DOMAIN='$APP_DOMAIN' sudo docker compose -f '$COMPOSE_FILE' stop app >/dev/null
|
||||
cp -p '$APP_ROOT/shared/content.db' \"\$backup_file\"
|
||||
restart_app
|
||||
trap - EXIT
|
||||
|
||||
ls -lh \"\$backup_file\"
|
||||
"
|
||||
Reference in New Issue
Block a user