build(docker): Add Docker Compose and Lavalink Configuration
This commit is contained in:
parent
f339943e3b
commit
472111bd57
32
application.yml
Normal file
32
application.yml
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
# application.yml (Example)
|
||||||
|
server: # REST and WS server
|
||||||
|
port: 2333
|
||||||
|
address: 0.0.0.0 # Listen on all interfaces within the container
|
||||||
|
lavalink:
|
||||||
|
server:
|
||||||
|
password: "youshallnotpass" # CHANGE THIS to a strong password
|
||||||
|
sources:
|
||||||
|
youtube: true
|
||||||
|
bandcamp: true
|
||||||
|
soundcloud: true
|
||||||
|
twitch: true
|
||||||
|
vimeo: true
|
||||||
|
http: true
|
||||||
|
local: false
|
||||||
|
# bufferDurationMs: 400 # How many milliseconds of audio to buffer? Lower values are less safe.
|
||||||
|
# youtubePlaylistLoadLimit: 6 # Number of pages at 100 tracks each
|
||||||
|
# playerUpdateInterval: 5 # How frequently to send player updates to clients, in seconds
|
||||||
|
# youtubeSearchEnabled: true
|
||||||
|
# soundcloudSearchEnabled: true
|
||||||
|
# bandcampSearchEnabled: true # Not implemented by LavaLink currently
|
||||||
|
# Default values are generally fine
|
||||||
|
# You can find more options here: https://github.com/lavalink-devs/Lavalink/blob/master/IMPLEMENTATION.md#configuration
|
||||||
|
logging:
|
||||||
|
file:
|
||||||
|
max-history: 30
|
||||||
|
max-size: 1GB
|
||||||
|
path: ./logs/
|
||||||
|
|
||||||
|
level:
|
||||||
|
root: INFO
|
||||||
|
lavalink: INFO
|
||||||
46
compose.yml
Normal file
46
compose.yml
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
# docker-compose.yml
|
||||||
|
|
||||||
|
version: '3.8'
|
||||||
|
|
||||||
|
services:
|
||||||
|
# The Rust Discord Bot Service
|
||||||
|
app:
|
||||||
|
# Build the image from the Dockerfile in the current directory (.)
|
||||||
|
build: .
|
||||||
|
container_name: discord-bot-app
|
||||||
|
restart: unless-stopped
|
||||||
|
# Pass environment variables from the .env file
|
||||||
|
env_file:
|
||||||
|
- .env
|
||||||
|
# Depend on the lavalink service to ensure it starts first (best practice)
|
||||||
|
depends_on:
|
||||||
|
- lavalink
|
||||||
|
|
||||||
|
# The LavaLink Service
|
||||||
|
lavalink:
|
||||||
|
# Use a Java Runtime Environment image (Alpine base for smaller size)
|
||||||
|
image: eclipse-temurin:17-jre-alpine
|
||||||
|
container_name: lavalink-server
|
||||||
|
restart: unless-stopped
|
||||||
|
# Set the working directory inside the container
|
||||||
|
working_dir: /opt/lavalink
|
||||||
|
# Mount the local Lavalink.jar and application.yml into the container
|
||||||
|
volumes:
|
||||||
|
- ./Lavalink.jar:/opt/lavalink/Lavalink.jar:ro # Mount Jar read-only
|
||||||
|
- ./application.yml:/opt/lavalink/application.yml:ro # Mount config read-only
|
||||||
|
- ./logs:/opt/lavalink/logs # Mount logs directory (optional)
|
||||||
|
# Expose the LavaLink port to the host machine (optional, but useful for debugging)
|
||||||
|
# and makes it reachable by the 'app' service via Docker network.
|
||||||
|
ports:
|
||||||
|
- "2333:2333"
|
||||||
|
# Command to run LavaLink inside the container
|
||||||
|
command: ["java", "-jar", "Lavalink.jar"]
|
||||||
|
|
||||||
|
# Define networks (optional, Docker Compose creates a default one)
|
||||||
|
# networks:
|
||||||
|
# default:
|
||||||
|
# driver: bridge
|
||||||
|
|
||||||
|
# Define volumes (optional, if you need persistent data beyond logs)
|
||||||
|
# volumes:
|
||||||
|
# lavalink_logs:
|
||||||
Loading…
x
Reference in New Issue
Block a user