- build.gradle: Gradle toolchain languageVersion 26 (auto-detects /usr/lib/jvm, no JAVA_HOME export needed), .java-version file for IDEs - gradle wrapper 9.3.1 -> 9.7.0, spotless 6.25->8.10.0, spotbugs 4.9.3->4.10.3 - Dockerfile: eclipse-temurin 26-jdk/jre-alpine + -Xmx512m G1GC StringDedup - docker-compose: bot mem_limit 1g - CI workflows: setup-java 26 - deps: jda 6.5.0, lavaplayer 2.2.7, logback 1.6.3, slf4j 2.0.18 (stable), caffeine 3.2.4, sqlite 3.53.2.1, hikaricp 7.1.0, okhttp 5.5.0, junit 5.13.4 + launcher 1.13.4, mockito 5.23.0, bytebuddy 1.18.12, checkstyle 13.10.0 (toolVersion), spotbugs plugin 6.4.8, jsoup 1.22.2 - 458 tests green, build green without JAVA_HOME export
66 lines
2 KiB
YAML
66 lines
2 KiB
YAML
services:
|
|
lavalink:
|
|
image: ghcr.io/lavalink-devs/lavalink:4-alpine
|
|
container_name: loki-lavalink
|
|
restart: unless-stopped
|
|
ports:
|
|
- "2333:2333"
|
|
volumes:
|
|
- ./lavalink/application.yml:/opt/Lavalink/application.yml:ro
|
|
- ./lavalink/plugins/:/opt/Lavalink/plugins/
|
|
- lavalink-data:/opt/Lavalink/data
|
|
environment:
|
|
JAVA_OPTS: "-Xmx1G -Xms256M"
|
|
SPOTIFY_CLIENT_ID: ${SPOTIFY_CLIENT_ID}
|
|
SPOTIFY_CLIENT_SECRET: ${SPOTIFY_CLIENT_SECRET}
|
|
|
|
spotify-tokener:
|
|
image: ghcr.io/topi314/spotify-tokener:master
|
|
container_name: spotify-tokener
|
|
restart: unless-stopped
|
|
environment:
|
|
- SPOTIFY_TOKENER_ADDR=0.0.0.0:8086
|
|
- SPOTIFY_TOKENER_LOG_LEVEL=INFO
|
|
networks:
|
|
- default
|
|
|
|
bot:
|
|
build: .
|
|
container_name: loki-bot
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- lavalink
|
|
mem_limit: 1g
|
|
ports:
|
|
- "8712:8712"
|
|
environment:
|
|
DISCORD_BOT_TOKEN: ${DISCORD_BOT_TOKEN}
|
|
DISCORD_BOT_TOKEN_MUSIC: ${DISCORD_BOT_TOKEN_MUSIC}
|
|
DISCORD_BOT_TOKEN_RADIO: ${DISCORD_BOT_TOKEN_RADIO}
|
|
BOT_PREFIX: ${BOT_PREFIX:-!}
|
|
BOT_ACTIVITY: ${BOT_ACTIVITY:-Используй !help}
|
|
HEALTH_HTTP_PORT: ${HEALTH_HTTP_PORT:-8712}
|
|
SUPER_ADMIN_ID: ${SUPER_ADMIN_ID}
|
|
DB_PATH: /app/data/bot.db
|
|
LAVALINK_HOST: lavalink
|
|
LAVALINK_PORT: "2333"
|
|
LAVALINK_PASSWORD: Hch4HiVCxkKs9JPiSnrt4Q
|
|
SPOTIFY_CLIENT_ID: ${SPOTIFY_CLIENT_ID}
|
|
SPOTIFY_CLIENT_SECRET: ${SPOTIFY_CLIENT_SECRET}
|
|
R34_API_KEY: ${R34_API_KEY}
|
|
R34_USER_ID: ${R34_USER_ID}
|
|
DEEPSEEK_API_KEY: ${DEEPSEEK_API_KEY}
|
|
AI_CHANNEL_ID: ${AI_CHANNEL_ID}
|
|
AI_CONTEXT_MSGS: ${AI_CONTEXT_MSGS:-10}
|
|
AI_MSG_LENGTH: ${AI_MSG_LENGTH:-300}
|
|
AI_CONTEXT_CHARS: ${AI_CONTEXT_CHARS:-3000}
|
|
AI_DOSSIER_MSGS: ${AI_DOSSIER_MSGS:-30}
|
|
AI_DEBATE_CHANNEL_ID: ${AI_DEBATE_CHANNEL_ID}
|
|
volumes:
|
|
- bot-data:/app/data
|
|
- ./data/prompts:/app/prompts:ro
|
|
- ./data/knowledge:/app/knowledge:ro
|
|
|
|
volumes:
|
|
bot-data:
|
|
lavalink-data:
|