From 4d2895664e52736b35aca3495c148bf81c49cda4 Mon Sep 17 00:00:00 2001 From: magdo Date: Tue, 25 Nov 2025 00:14:58 +0100 Subject: [PATCH] save --- SerpentRace_Docker/Dockerfile_frontend | 4 +- .../pgadmin_servers_deployment.json | 14 +++++++ SerpentRace_Docker/docker-compose.deploy.yml | 41 +++++++++++++++++++ create-deployment.bat | 23 +++++++++++ 4 files changed, 80 insertions(+), 2 deletions(-) create mode 100644 SerpentRace_Docker/deployment/pgadmin_servers_deployment.json diff --git a/SerpentRace_Docker/Dockerfile_frontend b/SerpentRace_Docker/Dockerfile_frontend index 1c96d193..a2a6fb87 100644 --- a/SerpentRace_Docker/Dockerfile_frontend +++ b/SerpentRace_Docker/Dockerfile_frontend @@ -7,8 +7,8 @@ WORKDIR /app # Copy package files COPY package.json package-lock.json* ./ -# Install dependencies -RUN npm ci --only=production +# Install dependencies (including devDependencies needed for build) +RUN npm ci # Copy source code COPY . . diff --git a/SerpentRace_Docker/deployment/pgadmin_servers_deployment.json b/SerpentRace_Docker/deployment/pgadmin_servers_deployment.json new file mode 100644 index 00000000..a77d806e --- /dev/null +++ b/SerpentRace_Docker/deployment/pgadmin_servers_deployment.json @@ -0,0 +1,14 @@ +{ + "Servers": { + "1": { + "Name": "SerpentRace Production", + "Group": "Servers", + "Host": "postgres", + "Port": 5432, + "MaintenanceDB": "serpentrace", + "Username": "postgres", + "SSLMode": "prefer", + "Comment": "SerpentRace Production Database" + } + } +} diff --git a/SerpentRace_Docker/docker-compose.deploy.yml b/SerpentRace_Docker/docker-compose.deploy.yml index 7a5d8e2f..0e2e6af9 100644 --- a/SerpentRace_Docker/docker-compose.deploy.yml +++ b/SerpentRace_Docker/docker-compose.deploy.yml @@ -132,6 +132,45 @@ services: timeout: 5s retries: 5 + +# Redis Commander for internal administration + redis-commander: + image: rediscommander/redis-commander:latest + container_name: serpentrace-redis-commander-dev + restart: unless-stopped + ports: + - "8081:8081" + environment: + - REDIS_HOSTS=local:redis:6379 + depends_on: + redis: + condition: service_healthy + networks: + - serpentrace-network + + # Database administration tool for internal administration + pgadmin: + image: dpage/pgadmin4:latest + container_name: serpentrace-pgadmin + restart: unless-stopped + ports: + - "5050:80" + environment: + PGADMIN_DEFAULT_EMAIL: admin@serpentrace.dev + PGADMIN_DEFAULT_PASSWORD: admin + PGADMIN_CONFIG_SERVER_MODE: 'False' + PGADMIN_CONFIG_MASTER_PASSWORD_REQUIRED: 'False' + PGADMIN_CONFIG_WTF_CSRF_ENABLED: 'False' + volumes: + - pgadmin_data:/var/lib/pgadmin + - ./deployment/pgadmin_servers_deployment.json:/pgadmin4/servers.json:ro + depends_on: + postgres: + condition: service_healthy + networks: + - serpentrace-network + + volumes: postgres_data: driver: local @@ -141,6 +180,8 @@ volumes: driver: local backend_logs: driver: local + pgadmin_data: + driver: local networks: serpentrace-network: diff --git a/create-deployment.bat b/create-deployment.bat index 9b63e50b..736d1e39 100644 --- a/create-deployment.bat +++ b/create-deployment.bat @@ -116,6 +116,28 @@ git show main:SerpentRace_Docker/deployment/load-images.sh > SerpentRace_Docker\ echo [INFO] Copying SQL schema... git show main:SerpentRace_Docker/deployment/sql_schema_only.sql > SerpentRace_Docker\deployment\sql_schema_only.sql 2>nul +echo [INFO] Copying pgAdmin configuration... +git show main:SerpentRace_Docker/deployment/pgadmin_servers_deployment.json > SerpentRace_Docker\deployment\pgadmin_servers_deployment.json 2>nul +if %errorlevel% neq 0 ( + echo [WARN] pgadmin_servers_deployment.json not found in main, creating default... + ( + echo { + echo "Servers": { + echo "1": { + echo "Name": "SerpentRace Production", + echo "Group": "Servers", + echo "Host": "postgres", + echo "Port": 5432, + echo "MaintenanceDB": "serpentrace", + echo "Username": "postgres", + echo "SSLMode": "prefer", + echo "Comment": "SerpentRace Production Database" + echo } + echo } + echo } + ) > SerpentRace_Docker\deployment\pgadmin_servers_deployment.json +) + echo. echo [INFO] Step 3/7: Building Docker images from main branch... @@ -218,6 +240,7 @@ REM Create deployment info file echo - load-images.sh echo - README.md echo - sql_schema_only.sql + echo - pgadmin_servers_deployment.json echo. echo To deploy: echo 1. Copy the entire SerpentRace_Docker/deployment folder to your server