Files
Vocard/docker-compose.yml
Choco 15ed5b2edd Update Lavalink to latest version and plugin
Updated Dockerfile-lavalink to fetch the latest Lavalink.jar release instead of a fixed version. Bumped youtube-plugin dependency from 1.13.4 to 1.13.5 in application.yml. Also removed commented-out dashboard dependency from docker-compose.yml for cleanup.
2025-08-23 10:59:12 +08:00

107 lines
3.7 KiB
YAML

# ------------------------------------------------------------------------------------------------------------ #
# For installation instructions please visit - https://docs.vocard.xyz/latest/bot/setup/docker-linux/
# or for Windows Docker - https://docs.vocard.xyz/latest/bot/setup/docker-windows/
# ------------------------------------------ THANK YOU FOR READING! ------------------------------------------ #
name: vocard
services:
lavalink:
container_name: lavalink
# image: ghcr.io/lavalink-devs/lavalink:latest
# Use build to run Lavalink on the latest JRE 23 version (for better performance)
build:
context: ./lavalink
dockerfile: ./Dockerfile-lavalink
restart: unless-stopped
environment:
- _JAVA_OPTIONS=-Xmx1G
- SERVER_PORT=2333
# there is no point in changing the password here, since the container is available only in docker network
- LAVALINK_SERVER_PASSWORD=youshallnotpass # Change password if needed (don't forget to change it in healthcheck below and settings.json)
volumes:
- ./lavalink/application.yml:/opt/Lavalink/application.yml
networks:
- vocard
expose:
- "2333"
healthcheck:
test: nc -z -v localhost 2333
interval: 10s
timeout: 5s
retries: 5
spotify-tokener:
image: ghcr.io/topi314/spotify-tokener:master
container_name: spotify-tokener
restart: unless-stopped
environment:
- SPOTIFY_TOKENER_ADDR=0.0.0.0:49152
networks:
- vocard
ports:
- 49152:49152
healthcheck:
test: nc -z -v localhost 49152
interval: 10s
timeout: 5s
retries: 5
vocard-db:
container_name: vocard-db
image: mongo:8
restart: unless-stopped
volumes:
- ./data/mongo/db:/data/db
- ./data/mongo/conf:/data/configdb
environment:
- MONGO_INITDB_ROOT_USERNAME=admin # For your MongoDB URL use "mongodb://admin:admin@vocard-db:27017"
- MONGO_INITDB_ROOT_PASSWORD=admin
expose:
- "27017"
networks:
- vocard
command: ["mongod", "--oplogSize=1024", "--wiredTigerCacheSizeGB=1", "--auth", "--noscripting"]
healthcheck:
test: echo 'db.runCommand("ping").ok' | mongosh localhost:27017/test --quiet
interval: 10s
timeout: 5s
retries: 5
start_period: 10s
# vocard-dashboard:
# container_name: vocard-dashboard
# image: ghcr.io/chocomeow/vocard-dashboard:latest
# restart: unless-stopped
# # If you want to build the image from the Dockerfile, uncomment the "build" lines and comment the "image" line.
# # build:
# # context: ./dashboard
# # dockerfile: ./Dockerfile
# volumes:
# - ./dashboard/settings.json:/app/settings.json
# ports:
# - 8000:8000
# networks:
# - vocard
vocard:
container_name: vocard
restart: unless-stopped
# If you want to build the image from the Dockerfile, uncomment the "build" lines and comment the "image" line.
image: ghcr.io/chocomeow/vocard:latest
# build:
# dockerfile: ./Dockerfile
volumes:
- ./settings.json:/app/settings.json
networks:
- vocard
depends_on:
lavalink:
condition: service_healthy
vocard-db:
condition: service_healthy
networks:
vocard:
name: vocard