Files
database_render/docker-compose.yml
2025-08-05 17:26:59 +08:00

75 lines
1.6 KiB
YAML

version: '3.8'
services:
# Database Render Application
app:
build:
context: .
dockerfile: Dockerfile
ports:
- "8080:8080"
volumes:
- ./config:/app/config
- ./data:/app/data
- ./logs:/app/logs
environment:
- CONFIG_FILE=/app/config/config.yaml
depends_on:
- mysql
- postgres
restart: unless-stopped
networks:
- app-network
# MySQL Database
mysql:
image: mysql:8.0
container_name: mysql-db
environment:
MYSQL_ROOT_PASSWORD: rootpassword
MYSQL_DATABASE: database_render
MYSQL_USER: appuser
MYSQL_PASSWORD: apppassword
ports:
- "3306:3306"
volumes:
- mysql-data:/var/lib/mysql
- ./config/schema.example.sql:/docker-entrypoint-initdb.d/01-schema.sql
restart: unless-stopped
networks:
- app-network
# PostgreSQL Database
postgres:
image: postgres:15-alpine
container_name: postgres-db
environment:
POSTGRES_DB: database_render
POSTGRES_USER: appuser
POSTGRES_PASSWORD: apppassword
ports:
- "5432:5432"
volumes:
- postgres-data:/var/lib/postgresql/data
- ./config/schema.example.sql:/docker-entrypoint-initdb.d/01-schema.sql
restart: unless-stopped
networks:
- app-network
# SQLite Database (for development)
sqlite-dev:
image: alpine:latest
container_name: sqlite-dev
volumes:
- ./data:/data
command: tail -f /dev/null
networks:
- app-network
volumes:
mysql-data:
postgres-data:
networks:
app-network:
driver: bridge