services: lavalink: image: ghcr.io/lavalink-devs/lavalink:4 container_name: replay-lavalink restart: unless-stopped environment: - _JAVA_OPTIONS=-Xmx512m - SERVER_PORT=2333 - LAVALINK_SERVER_PASSWORD=youshallnotpass volumes: - ./application.yml:/opt/Lavalink/application.yml:ro ports: - "2333:2333" healthcheck: test: ["CMD-SHELL", "nc -z localhost 2333 || exit 1"] interval: 10s timeout: 5s retries: 10 networks: - replay bot: build: . container_name: replay-bot restart: unless-stopped depends_on: lavalink: condition: service_healthy environment: - DISCORD_TOKEN=${DISCORD_TOKEN} - DISCORD_DEV_GUILD_ID=${DISCORD_DEV_GUILD_ID:-} - SPOTIFY_CLIENT_ID=${SPOTIFY_CLIENT_ID:-} - SPOTIFY_CLIENT_SECRET=${SPOTIFY_CLIENT_SECRET:-} - LAVALINK_ADDRESS=lavalink:2333 - LAVALINK_PASSWORD=youshallnotpass - DATABASE_PATH=/data/replay.db - LOG_LEVEL=${LOG_LEVEL:-info} - LOG_JSON=${LOG_JSON:-true} - METRICS_ADDR=:9090 volumes: - replay-data:/data ports: - "9090:9090" networks: - replay networks: replay: volumes: replay-data: