doc-forge-remark/docker-compose.yml

81 lines
1.8 KiB
YAML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

version: "3.8"
services:
# === MySQL ===
mysql:
image: mysql:8.0
container_name: doc-forge-mysql
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: root123
MYSQL_DATABASE: doc_forge
MYSQL_USER: docforge
MYSQL_PASSWORD: docforge123
ports:
- "3306:3306"
volumes:
- mysql_data:/var/lib/mysql
- ./init.sql:/docker-entrypoint-initdb.d/init.sql
command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
# === MinIO对象存储===
minio:
image: minio/minio:latest
container_name: doc-forge-minio
restart: unless-stopped
command: server /data --console-address ":9001"
environment:
MINIO_ROOT_USER: docforge
MINIO_ROOT_PASSWORD: docforge123
ports:
- "9000:9000" # API
- "9001:9001" # Console
volumes:
- minio_data:/data
healthcheck:
test: ["CMD", "mc", "ready", "local"]
interval: 10s
timeout: 5s
retries: 3
# === 后端 ===
backend:
build: ./backend
container_name: doc-forge-backend
restart: unless-stopped
depends_on:
mysql:
condition: service_started
minio:
condition: service_healthy
environment:
DB_HOST: mysql
DB_PORT: 3306
DB_USER: docforge
DB_PASSWORD: docforge123
DB_NAME: doc_forge
MINIO_ENDPOINT: minio:9000
MINIO_ACCESS_KEY: docforge
MINIO_SECRET_KEY: docforge123
ENCRYPTION_KEY: "${ENCRYPTION_KEY}"
ports:
- "8000:8000"
volumes:
- ./backend:/app
- local_cache:/app/local_cache
# === 前端 ===
web:
build: ./web
container_name: doc-forge-web
restart: unless-stopped
depends_on:
- backend
ports:
- "5173:80"
volumes:
mysql_data:
minio_data:
local_cache: