80 lines
2.5 KiB
YAML
80 lines
2.5 KiB
YAML
name: vocard
|
|
services:
|
|
lavalink:
|
|
container_name: lavalink
|
|
image: ghcr.io/lavalink-devs/lavalink:latest
|
|
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:
|
|
- /docker/appdata/vocard/lavalink/application.yml:/opt/Lavalink/application.yml
|
|
networks:
|
|
- vocard
|
|
expose:
|
|
- "2333"
|
|
|
|
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
|
|
|
|
vocard-db:
|
|
container_name: vocard-db
|
|
image: mongo:8
|
|
restart: unless-stopped
|
|
volumes:
|
|
- /docker/appdata/vocard/mongo/db:/data/db
|
|
- /docker/appdata/vocard/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
|
|
volumes:
|
|
- /docker/appdata/vocard/dashboard/settings.json:/app/settings.json
|
|
ports:
|
|
- 8000:8000
|
|
networks:
|
|
- vocard
|
|
|
|
vocard:
|
|
container_name: vocard
|
|
restart: unless-stopped
|
|
image: ghcr.io/chocomeow/vocard:latest
|
|
volumes:
|
|
- /docker/appdata/vocard/vocard/settings.json:/app/settings.json
|
|
networks:
|
|
- vocard
|
|
depends_on:
|
|
#lavalink:
|
|
# condition: service_healthy
|
|
vocard-db:
|
|
condition: service_healthy
|
|
|
|
networks:
|
|
vocard:
|
|
name: vocard
|