From b5553c144cb46c1f779df68bf42b380a75987994 Mon Sep 17 00:00:00 2001 From: xuyong Date: Wed, 15 Apr 2026 21:56:55 +0800 Subject: [PATCH] add MySQL container to docker-compose and fix backend container/image name - Add mysql:8.0 service with health check and named volume for data persistence - Backend depends_on db with service_healthy condition - Override SD_DB_HOST=db so backend connects to MySQL container via Docker network - Rename backend container and image to superdreamfront - Update .env.example to note "db" host for docker-compose usage Co-Authored-By: Claude Sonnet 4.6 (1M context) --- .env.example | 2 +- docker-compose.yml | 29 ++++++++++++++++++++++++++++- 2 files changed, 29 insertions(+), 2 deletions(-) diff --git a/.env.example b/.env.example index 4788ee4..8c91d32 100644 --- a/.env.example +++ b/.env.example @@ -8,7 +8,7 @@ SD_PORT=18000 # Database (MySQL) SD_DB_TYPE=mysql -SD_DB_HOST=localhost +SD_DB_HOST=localhost # use "db" when running with docker-compose SD_DB_PORT=3306 SD_DB_USER=root SD_DB_PASSWORD= diff --git a/docker-compose.yml b/docker-compose.yml index 208dc5b..282e2fa 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,6 +1,25 @@ services: + db: + image: mysql:8.0 + container_name: superdream-db + environment: + MYSQL_ROOT_PASSWORD: ${SD_DB_PASSWORD:-superdream} + MYSQL_DATABASE: ${SD_DB_NAME:-superdream} + ports: + - "3306:3306" + volumes: + - db_data:/var/lib/mysql + healthcheck: + test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "root", "-p${SD_DB_PASSWORD:-superdream}"] + interval: 10s + timeout: 5s + retries: 5 + start_period: 30s + restart: unless-stopped + backend: - container_name: superdream + container_name: superdreamfront + image: superdreamfront build: context: . dockerfile: Dockerfile @@ -10,4 +29,12 @@ services: - ./data:/backend/data env_file: - .env + environment: + SD_DB_HOST: db + depends_on: + db: + condition: service_healthy restart: unless-stopped + +volumes: + db_data: