51 lines
1.3 KiB
YAML
51 lines
1.3 KiB
YAML
services:
|
|
frontend:
|
|
build:
|
|
context: ./Dialectic.Frontend
|
|
dockerfile: Dockerfile
|
|
ports:
|
|
- "${FRONTEND_PORT:-3000}:3000"
|
|
environment:
|
|
- NODE_ENV=development
|
|
- REACT_APP_BACKEND_HOST=${BACKEND_URL:-http://localhost:8000}
|
|
stdin_open: true
|
|
tty: true
|
|
|
|
backend:
|
|
build:
|
|
context: ./Dialectic.Backend
|
|
dockerfile: Dockerfile
|
|
ports:
|
|
- "${BACKEND_PORT:-8000}:8000"
|
|
volumes:
|
|
- dialectic_config:/app/config
|
|
environment:
|
|
- ENV_MODE=prod
|
|
- ENCRYPTION_KEY=${ENCRYPTION_KEY:-BgS9_9K2UMYxiYnP-BE63UEdi7a6PHaaZ6rQZQnSx54=}
|
|
- CONFIG_PATH=/app/config/dialectic.yaml
|
|
depends_on:
|
|
db:
|
|
condition: service_healthy
|
|
command: uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload
|
|
|
|
db:
|
|
image: mysql:8.0
|
|
restart: always
|
|
environment:
|
|
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-rootpassword}
|
|
MYSQL_DATABASE: ${MYSQL_DATABASE:-dialectic}
|
|
MYSQL_USER: ${MYSQL_USER:-dialectic}
|
|
MYSQL_PASSWORD: ${MYSQL_PASSWORD:-dialectic}
|
|
ports:
|
|
- "${DB_PORT:-3306}:3306"
|
|
volumes:
|
|
- mysql_data:/var/lib/mysql
|
|
- ./init.sql:/docker-entrypoint-initdb.d/init.sql
|
|
healthcheck:
|
|
test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
|
|
timeout: 20s
|
|
retries: 10
|
|
|
|
volumes:
|
|
mysql_data:
|
|
dialectic_config: |