update
Some checks are pending
🪞 Mirror to Codeberg / codeberg (push) Waiting to run

This commit is contained in:
Adrian Altner 2026-04-03 13:17:23 +02:00
parent 01db90151a
commit 89113060ea
8 changed files with 37 additions and 68 deletions

View file

@ -1,14 +1,12 @@
#!/usr/bin/env bash
set -euo pipefail
VAULT_BLOG='/Users/adrian/Obsidian/Web/adrian-altner-com/content/blog'
VAULT_PHOTOS='/Users/adrian/Obsidian/Web/adrian-altner-com/content/photos'
VAULT_CONTENT='/Users/adrian/Obsidian/Web/adrian-altner-com/content'
VPS="${1:-hetzner}"
REMOTE_BRANCH="${2:-main}"
REMOTE_BASE='/opt/websites/www.adrian-altner.com'
REMOTE_BLOG="${REMOTE_BASE}/src/content/blog"
REMOTE_PHOTOS="${REMOTE_BASE}/src/content/photos"
REMOTE_BASE='/opt/websites/adrian-altner.com'
REMOTE_CONTENT="${REMOTE_BASE}/src/content"
# --- 1. Sync vault to VPS ---
ssh "$VPS" "
@ -18,17 +16,9 @@ ssh "$VPS" "
git checkout '$REMOTE_BRANCH'
git reset --hard 'origin/$REMOTE_BRANCH'
git clean -fd -e .env -e .env.production
mkdir -p '$REMOTE_BLOG'
mkdir -p '$REMOTE_PHOTOS'
mkdir -p '$REMOTE_CONTENT'
"
rsync -az --delete \
--include='*/' \
--include='*.md' \
--include='*.mdx' \
--exclude='*' \
"$VAULT_BLOG/" "$VPS:$REMOTE_BLOG/"
rsync -az --delete \
--include='*/' \
--include='*.md' \
@ -40,15 +30,18 @@ rsync -az --delete \
--include='*.json' \
--exclude='.DS_Store' \
--exclude='*' \
"$VAULT_PHOTOS/" "$VPS:$REMOTE_PHOTOS/"
"$VAULT_CONTENT/" "$VPS:$REMOTE_CONTENT/"
# --- 2. Build + cleanup ---
ssh "$VPS" "
set -euo pipefail
cd '$REMOTE_BASE'
podman-compose -f compose.yml up --build -d --force-recreate
podman image prune -af
podman builder prune -af
sudo podman build -t localhost/adrian-altner.com:latest .
sudo systemctl restart podman-compose@adrian-altner.com.service
sudo podman container prune -f 2>/dev/null || true
sudo podman image prune --external -f 2>/dev/null || true
sudo podman image prune -f 2>/dev/null || true
sudo podman builder prune -af 2>/dev/null || true
"
echo "Redeploy done via $VPS (branch: $REMOTE_BRANCH)."
@ -64,4 +57,4 @@ if [[ -n "$WEBMENTION_APP_TOKEN" ]]; then
echo "Webmentions triggered."
else
echo "No WEBMENTION_APP_TOKEN in .env.production — skipping webmentions."
fi
fi