Files
g0v0-server/docker-compose-osurx.yml
2025-08-10 11:03:20 +00:00

80 lines
1.8 KiB
YAML

version: '3.8'
services:
app:
# or use
# image: mingxuangame/osu-lazer-api-osurx:latest
build:
context: .
dockerfile: Dockerfile-osurx
container_name: osu_api_server_osurx
ports:
- "8000:8000"
environment:
- MYSQL_HOST=mysql
- MYSQL_PORT=3306
- REDIS_URL=redis://redis:6379/0
- ENABLE_OSU_RX=true
- ENABLE_OSU_AP=true
- ENABLE_ALL_MODS_PP=true
- ENABLE_SUPPORTER_FOR_ALL_USERS=true
- ENABLE_ALL_BEATMAP_LEADERBOARD=true
env_file:
- .env
depends_on:
mysql:
condition: service_healthy
redis:
condition: service_healthy
volumes:
- ./replays:/app/replays
- ./static:/app/static
restart: unless-stopped
networks:
- osu-network
mysql:
image: mysql:8.0
container_name: osu_api_mysql_osurx
environment:
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
- MYSQL_DATABASE=${MYSQL_DATABASE}
- MYSQL_USER=${MYSQL_USER}
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
volumes:
- mysql_data:/var/lib/mysql
- ./mysql-init:/docker-entrypoint-initdb.d
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
timeout: 20s
retries: 10
interval: 10s
start_period: 40s
restart: unless-stopped
networks:
- osu-network
redis:
image: redis:7-alpine
container_name: osu_api_redis_osurx
volumes:
- redis_data:/data
healthcheck:
test: ["CMD", "redis-cli", "ping"]
timeout: 5s
retries: 5
interval: 10s
start_period: 10s
restart: unless-stopped
networks:
- osu-network
command: redis-server --appendonly yes
volumes:
mysql_data:
redis_data:
networks:
osu-network:
driver: bridge