From cc836f667f562b80aa0f529a01f1405bb418e0be Mon Sep 17 00:00:00 2001 From: mahmamdouh Date: Mon, 24 Nov 2025 20:58:54 +0100 Subject: [PATCH] update for pc server --- asf-cloud-server/testarena/deploy.sh | 35 ++++++++----------- asf-cloud-server/testarena/docker-compose.yml | 13 +++++-- 2 files changed, 26 insertions(+), 22 deletions(-) diff --git a/asf-cloud-server/testarena/deploy.sh b/asf-cloud-server/testarena/deploy.sh index 051917a..679c471 100644 --- a/asf-cloud-server/testarena/deploy.sh +++ b/asf-cloud-server/testarena/deploy.sh @@ -7,12 +7,17 @@ set -e # Exit on error echo "Starting deployment..." -# Check for required commands -if ! command -v npm &> /dev/null; then - echo "Error: npm is not installed. Please install Node.js and npm." - exit 1 -fi +# Function to run docker-compose with correct permissions +run_compose() { + if groups | grep -q '\bdocker\b'; then + docker-compose "$@" + else + echo "User not in docker group, using sudo for docker-compose..." + sudo docker-compose "$@" + fi +} +# Check for docker-compose if ! command -v docker-compose &> /dev/null; then echo "Error: docker-compose is not installed." exit 1 @@ -22,12 +27,9 @@ fi echo "Pulling latest changes from git..." git pull -# 2. Build Frontend -echo "Building frontend..." -cd frontend -npm install -npm run build -cd .. +# 2. Build Frontend using Docker (No local Node.js required) +echo "Building frontend using Docker..." +run_compose run --rm frontend-builder # 3. Deploy Frontend echo "Deploying frontend to /var/www/testarena..." @@ -48,15 +50,8 @@ fi # 4. Restart Backend echo "Restarting backend services..." -# Use sudo for docker-compose if needed -if groups | grep -q '\bdocker\b'; then - docker-compose down - docker-compose up -d --build -else - echo "User not in docker group, using sudo..." - sudo docker-compose down - sudo docker-compose up -d --build -fi +run_compose down +run_compose up -d --build # 5. Reload Nginx (Optional, if config changed) echo "Reloading Nginx..." diff --git a/asf-cloud-server/testarena/docker-compose.yml b/asf-cloud-server/testarena/docker-compose.yml index 2c4a5af..205b009 100644 --- a/asf-cloud-server/testarena/docker-compose.yml +++ b/asf-cloud-server/testarena/docker-compose.yml @@ -24,12 +24,21 @@ services: environment: - DATABASE_URL=postgresql://user:password@db/testarena - SCRIPTS_DIR=/app/scripts - depends_on: - - db networks: - app-network restart: always + frontend-builder: + image: node:18-alpine + working_dir: /app + volumes: + - ./frontend:/app + command: sh -c "npm install && npm run build" + profiles: + - tools + networks: + - app-network + networks: app-network: driver: bridge