initial composes

This commit is contained in:
Toni
2026-02-09 16:04:14 +01:00
commit df054c5ac7
13 changed files with 588 additions and 0 deletions

View File

@@ -0,0 +1,45 @@
# Discord Bot Configuration
# Get these from https://discord.com/developers/applications
TOKEN=MTI2Nzc2NTIyODc2NzAyMzE1Ng.Gwa-St.9iFUJwxGvE3aWYGWhS4wqZkg6bWGHh05JoGiWg
CLIENT_ID=1267765228767023156
# Optional: Spotify Configuration
# To enable Spotify support, set SPOTIFY_ENABLED=true and provide your credentials
# Get your credentials from: https://developer.spotify.com/dashboard/applications
SPOTIFY_ENABLED=false
SPOTIFY_CLIENT_ID=your_spotify_client_id_here
SPOTIFY_CLIENT_SECRET=your_spotify_client_secret_here
# Lavalink Server Configuration
LAVALINK_HOST=lavalink
LAVALINK_PORT=2333
LAVALINK_PASSWORD=youshallnotpass
# Optional: Language Settings
#DEFAULT_LANGUAGE=en
# Optional: Disconnection Settings
QUEUE_EMPTY_DESTROY_MS=30000
EMPTY_CHANNEL_DESTROY_MS=60000
# Optional: Permission Settings
# Comma-separated list of role IDs that can use the bot
# Leave empty to allow everyone to use the bot
# Example: ALLOWED_ROLES=123456789012345678,234567890123456789
ALLOWED_ROLES=
# Optional: Audio Settings
# Default volume for music playback (0-100, defaults to 80 if not set or invalid)
DEFAULT_VOLUME=80
# Optional: Lavalink Reconnection Settings
# Maximum number of reconnection attempts (default: 10)
LAVALINK_MAX_RECONNECT_ATTEMPTS=10
# Base delay for exponential backoff in milliseconds (default: 1000)
LAVALINK_BASE_DELAY_MS=1000
# Maximum delay for exponential backoff in milliseconds (default: 30000)
LAVALINK_MAX_DELAY_MS=30000
# Health check interval in milliseconds (default: 30000)
LAVALINK_HEALTH_CHECK_INTERVAL_MS=30000
# Reset reconnection attempts after this many minutes (default: 5)
LAVALINK_RESET_ATTEMPTS_AFTER_MINUTES=5

View File

@@ -0,0 +1,38 @@
services:
bot:
container_name: beatdock
image: ghcr.io/lazaroagomez/beatdock:latest
build:
context: .
dockerfile: Dockerfile
depends_on:
lavalink:
condition: service_healthy
networks:
- beatdock-network
env_file: .env
lavalink:
container_name: beatdock-lavalink
image: ghcr.io/lavalink-devs/lavalink:4-alpine
ports:
- "2333:2333"
networks:
- beatdock-network
volumes:
- ./application.yml:/opt/Lavalink/application.yml
environment:
- LAVALINK_PASSWORD=${LAVALINK_PASSWORD:-youshallnotpass}
- SPOTIFY_ENABLED=${SPOTIFY_ENABLED:-false}
- SPOTIFY_CLIENT_ID=${SPOTIFY_CLIENT_ID:-}
- SPOTIFY_CLIENT_SECRET=${SPOTIFY_CLIENT_SECRET:-}
healthcheck:
test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "--header=Authorization: ${LAVALINK_PASSWORD:-youshallnotpass}", "http://localhost:2333/version"]
interval: 10s
timeout: 5s
retries: 5
start_period: 30s
networks:
beatdock-network:
name: beatdock_network