CodeRED-Astra/docker-compose.yml

74 lines
No EOL
1.9 KiB
YAML

# docker-compose.yml
version: '3.8'
services:
web-app:
build:
context: ./web-app
restart: always
ports:
- "80:3000"
environment:
# The connection string remains the same, but points to the 'mysql' service
- DATABASE_URL=mysql://${MYSQL_USER}:${MYSQL_PASSWORD}@mysql:3306/${MYSQL_DATABASE}
- RUST_ENGINE_URL=http://rust-engine:8000
- GEMINI_API_KEY=${GEMINI_API_KEY}
depends_on:
- mysql # <-- Updated dependency
- rust-engine
rust-engine:
build:
context: ./rust-engine
restart: always
environment:
- DATABASE_URL=mysql://${MYSQL_USER}:${MYSQL_PASSWORD}@mysql:3306/${MYSQL_DATABASE}
- ASTRA_STORAGE=/app/storage
- DEMO_DATA_DIR=/app/demo-data
- QDRANT_URL=http://qdrant:6333
- GEMINI_API_KEY=${GEMINI_API_KEY}
volumes:
- rust-storage:/app/storage
- ./rust-engine/demo-data:/app/demo-data:ro
depends_on:
- mysql
- qdrant
# --- Key Changes are in this section ---
mysql: # <-- Renamed service for clarity
image: mysql:8.0 # <-- CHANGED: Using the official MySQL 8.0 image
restart: always
environment:
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
- MYSQL_DATABASE=${MYSQL_DATABASE}
- MYSQL_USER=${MYSQL_USER}
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
volumes:
- mysql-data:/var/lib/mysql
phpmyadmin:
image: phpmyadmin/phpmyadmin
restart: always
ports:
# CHANGED: Binds port 8080 to localhost ONLY.
- "127.0.0.1:8080:80"
environment:
- PMA_HOST=mysql
depends_on:
- mysql
qdrant:
image: qdrant/qdrant:latest
restart: unless-stopped
ports:
- "127.0.0.1:6333:6333"
volumes:
- qdrant-data:/qdrant/storage
environment:
- QDRANT__SERVICE__GRPC_PORT=6334
# expose to rust-engine via service name 'qdrant'
volumes:
mysql-data: # Renamed volume for clarity (optional but good practice)
qdrant-data:
rust-storage: