services:
  web:
    image: ghcr.io/cedar2025/xboard:new
    volumes:
      - ./:/www/
      - redis-socket:/run/redis-socket
    environment:
      - docker=true
    depends_on:
      - redis
    network_mode: host
    command: php artisan octane:start --server="swoole" --port=7001
    restart: on-failure
  horizon:
    image: ghcr.io/cedar2025/xboard:new
    volumes:
      - ./:/www/
      - redis-socket:/run/redis-socket
    restart: on-failure
    network_mode: host
    command: php artisan horizon
    depends_on:
      - redis
  redis:
    image: redis:7-alpine
    command: redis-server --unixsocket /run/redis-socket/redis.sock --unixsocketperm 777 --save 900 1 --save 300 10 --save 60 10000
    restart: unless-stopped
    volumes:
      - ./.docker/.data/redis:/data
      - redis-socket:/run/redis-socket
    sysctls:
      net.core.somaxconn: 1024
volumes:
  redis-socket: # 定义共享卷用于 socket 通信