update for pc server
This commit is contained in:
@@ -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..."
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user