From aeb38a714afb3219c9bbc175e117461b1eb724bf Mon Sep 17 00:00:00 2001 From: Jannis Braun <151788261+TheZwiss@users.noreply.github.com> Date: Sun, 1 Mar 2026 01:22:03 +0100 Subject: [PATCH] rename project from Opencord to Backspace in deployment config - docker-compose: use external volume/network with backspace naming - deploy.sh: add --remote/-r flag for off-network deploys, update remote path - Dockerfile: update DB_PATH to backspace.db --- Dockerfile | 4 ++-- deploy.sh | 26 +++++++++++++++++++++----- docker-compose.yml | 22 ++++++++++++++-------- 3 files changed, 37 insertions(+), 15 deletions(-) diff --git a/Dockerfile b/Dockerfile index 7466baee..36e8d566 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ # ============================================================ -# Opencord — Multi-stage Docker build +# Backspace — Multi-stage Docker build # ============================================================ # Stage 1: Install dependencies and build frontend @@ -70,7 +70,7 @@ RUN mkdir -p /app/data/uploads ENV NODE_ENV=production ENV PORT=3000 ENV HOST=0.0.0.0 -ENV DB_PATH=/app/data/opencord.db +ENV DB_PATH=/app/data/backspace.db ENV UPLOAD_DIR=/app/data/uploads EXPOSE 3000 diff --git a/deploy.sh b/deploy.sh index a954310a..fd4833dd 100755 --- a/deploy.sh +++ b/deploy.sh @@ -2,13 +2,29 @@ cd "$(dirname "$0")" # Configuration -PI_IP="192.168.1.10" +LOCAL_IP="192.168.1.10" +REMOTE_HOST="nova.ddns.net" PI_USER="youruser" -REMOTE_PATH="~/opencord" +REMOTE_PATH="~/backspace" + +# Host selection: --remote / -r | --local / -l | auto-detect (default) +if [[ "$1" == "--remote" || "$1" == "-r" ]]; then + PI_HOST="$REMOTE_HOST" +elif [[ "$1" == "--local" || "$1" == "-l" ]]; then + PI_HOST="$LOCAL_IP" +else + if ping -c1 -W2 "$LOCAL_IP" &>/dev/null; then + PI_HOST="$LOCAL_IP" + else + PI_HOST="$REMOTE_HOST" + fi +fi + +echo "🎯 Target: $PI_USER@$PI_HOST" # 0. Ensure remote directory exists echo "📁 Preparing remote directory on Pi..." -ssh "$PI_USER@$PI_IP" "mkdir -p $REMOTE_PATH" +ssh "$PI_USER@$PI_HOST" "mkdir -p $REMOTE_PATH" # 1. Sync files via rsync echo "🚀 Syncing files to Pi..." @@ -20,10 +36,10 @@ rsync -avz --delete \ --exclude='packages/web/dist' \ --exclude='data' \ --exclude='.DS_Store' \ - ./ "$PI_USER@$PI_IP:$REMOTE_PATH" + ./ "$PI_USER@$PI_HOST:$REMOTE_PATH" # 2. Trigger Docker Compose directly on the Pi via SSH echo "🚢 Triggering build and deploy on Pi hardware..." -ssh "$PI_USER@$PI_IP" "cd $REMOTE_PATH && docker compose up -d --build" +ssh "$PI_USER@$PI_HOST" "cd $REMOTE_PATH && docker compose up -d --build" echo "✅ Deployment command sent to Pi!" diff --git a/docker-compose.yml b/docker-compose.yml index 7bab48b5..e553d8b1 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,20 +1,20 @@ -version: "3.8" - services: - opencord: + backspace: build: . - container_name: opencord + container_name: backspace restart: unless-stopped ports: - "${PORT:-3000}:${PORT:-3000}" volumes: - - opencord-data:/app/data + - backspace-data:/app/data env_file: - .env environment: - NODE_ENV=production - - DB_PATH=/app/data/opencord.db + - DB_PATH=/app/data/backspace.db - UPLOAD_DIR=/app/data/uploads + networks: + - backspace-net healthcheck: test: ["CMD", "node", "-e", "fetch('http://localhost:${PORT:-3000}/api/health').then(r => r.ok ? process.exit(0) : process.exit(1)).catch(() => process.exit(1))"] interval: 30s @@ -23,5 +23,11 @@ services: start_period: 10s volumes: - opencord-data: - driver: local + backspace-data: + name: backspace-data + external: true + +networks: + backspace-net: + name: backspace-net + external: true