version: "3"
services:
  db:
    hostname: mysql
    container_name: ferry_mysql
    image: mysql:5.7
    restart: unless-stopped
    environment:
      - TZ=Asia/Shanghai
      - MYSQL_ROOT_PASSWORD=123456
      - MYSQL_DATABASE=ferry
    volumes:
      - ./data/mysql/data:/var/lib/mysql # 映射数据库保存目录到宿主机，防止数据丢失
    command:
      [
        "--character-set-server=utf8mb4",
        "--collation-server=utf8mb4_unicode_ci",
      ]

  redis:
    hostname: redis
    image: redis:6
    container_name: ferry_redis
    restart: unless-stopped
    environment:
      - TZ=Asia/Shanghai
    volumes:
      - ./data/redis/data:/var/lib/redis/data

  ferry_backend:
    hostname: ferry_backend
    image: ferry:latest
    container_name: ferry_backend
    build: .
    depends_on:
      - db
      - redis
    links:
      - db:ferry_mysql
      - redis:ferry_redis
    ports:
      - 8002:8002
    volumes:
      - ./data/config:/opt/ferry/config
      - ./data/logs:/opt/ferry/logs
    environment:
      - TZ=Asia/Shanghai
    restart: unless-stopped

  ferry_web:
    hostname: ferry_web
    container_name: ferry_web
    image: ferry_web:latest
    links:
      - ferry_backend:ferry_backend
    ports:
      - 8001:8001
    environment:
      - LISTEN_DOMAIN=fdevops.com
      - TZ=Asia/Shanghai
    restart: unless-stopped
