mirror of
https://github.com/ZHANGTIANYAO1/teamspeak-music-bot.git
synced 2026-10-01 20:42:50 +08:00
- Multi-stage build: builder installs backend + frontend deps, compiles - Production stage: npm ci --production rebuilds native modules (opus, sqlite3) - FFmpeg bundled via ffmpeg-static (no apt install ffmpeg) - .dockerignore prevents node_modules/dist from being copied - docker-compose uses host network for TS3 UDP connectivity - Named volume for persistent data - Health check endpoint Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
30 lines
856 B
YAML
30 lines
856 B
YAML
# TSMusicBot — Docker Compose
|
|
# 一键部署:docker-compose up -d
|
|
#
|
|
# 所有依赖已内置(Node.js, FFmpeg, Opus 编码器)
|
|
# 无需安装任何额外软件
|
|
|
|
services:
|
|
tsmusicbot:
|
|
build:
|
|
context: ../..
|
|
dockerfile: scripts/docker/Dockerfile
|
|
container_name: tsmusicbot
|
|
# Use host network so the bot can reach TS3 server on LAN
|
|
# If your TS3 server is on the same machine, this is required
|
|
network_mode: host
|
|
# If you prefer port mapping instead of host network, comment out
|
|
# network_mode and uncomment ports:
|
|
# ports:
|
|
# - "3000:3000" # WebUI
|
|
# - "9987:9987/udp" # TS3 voice (only if TS3 server is in another container)
|
|
volumes:
|
|
- tsmusicbot-data:/app/data
|
|
restart: unless-stopped
|
|
environment:
|
|
- NODE_ENV=production
|
|
|
|
volumes:
|
|
tsmusicbot-data:
|
|
driver: local
|