Rows without a cover (cover_url NULL or N/A) show a + button.
Clicking it opens a modal to enter a URL which is saved via new
PATCH /api/records/{id}/cover_url endpoint. cover_image is cleared
so n8n picks it up on the next backfill run.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
34 lines
1.4 KiB
Bash
34 lines
1.4 KiB
Bash
#!/bin/bash
|
|
# Einmal Passwort eingeben, alle Dateien übertragen, dann neu bauen.
|
|
# Aufruf: bash scripts/deploy.sh
|
|
|
|
set -e
|
|
|
|
HOST="root@192.168.30.135"
|
|
REMOTE="/opt/nginx_filebot"
|
|
SOCKET="/tmp/ssh-filebot-$$"
|
|
|
|
echo "Verbinde mit $HOST …"
|
|
ssh -MNf -o ControlPath="$SOCKET" -o ControlPersist=60 "$HOST"
|
|
|
|
scp_remote() {
|
|
scp -o ControlPath="$SOCKET" "$1" "$HOST:$REMOTE/$2"
|
|
}
|
|
|
|
echo "Übertrage Dateien …"
|
|
scp_remote "api/main.py" "api/main.py"
|
|
scp_remote "frontend/src/types.ts" "frontend/src/types.ts"
|
|
scp_remote "frontend/src/api.ts" "frontend/src/api.ts"
|
|
scp_remote "frontend/src/utils/coverUrl.ts" "frontend/src/utils/coverUrl.ts"
|
|
scp_remote "frontend/src/components/CoverImage.vue" "frontend/src/components/CoverImage.vue"
|
|
scp_remote "frontend/src/components/DataTable.vue" "frontend/src/components/DataTable.vue"
|
|
scp_remote "frontend/src/components/MobileCards.vue" "frontend/src/components/MobileCards.vue"
|
|
scp_remote "frontend/src/components/CoverUrlModal.vue" "frontend/src/components/CoverUrlModal.vue"
|
|
scp_remote "frontend/src/App.vue" "frontend/src/App.vue"
|
|
|
|
echo "Baue Docker-Container neu …"
|
|
ssh -o ControlPath="$SOCKET" "$HOST" "cd $REMOTE && docker compose up -d --build"
|
|
|
|
ssh -O exit -o ControlPath="$SOCKET" "$HOST" 2>/dev/null || true
|
|
echo "Fertig."
|