Giải pháp Python 24/7 restream TikTok Live lên YouTube Live, tích hợp Web Dashboard.
10K+
Restream TikTok Live, Twitch hoặc Bigo sang YouTube Live 24/7, quản lý bằng web dashboard. Đã đóng gói sẵn FFmpeg.
docker run -d --name py-restream \
-p 8000:8000 \
-e TZ=Asia/Ho_Chi_Minh \
-v py-restream-data:/app/data \
-v py-restream-logs:/app/logs \
--restart unless-stopped \
nqdev/py-restream:latest
services:
py-restream:
image: nqdev/py-restream:latest
container_name: py-restream-app
restart: unless-stopped
ports:
- "8000:8000"
env_file:
- .env # tuỳ chọn, xem mục "Cấu hình"
environment:
- TZ=Asia/Ho_Chi_Minh
volumes:
- py-restream-data:/app/data
- py-restream-logs:/app/logs
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8000/healthz"]
interval: 60s
timeout: 10s
retries: 3
volumes:
py-restream-data:
py-restream-logs:
| Tag | Ý nghĩa |
|---|---|
latest | Bản release mới nhất |
vX.Y.Z (ví dụ v1.4.0) | Một bản release cụ thể, nên dùng để cố định phiên bản |
Image chỉ build cho linux/amd64 và chỉ được publish khi có tag release.
Image trên Docker Hub không có Whisper (speech-to-text chạy local) để giữ dung lượng nhỏ, khoảng 680 MB thay vì khoảng 1,6 GB. Tính năng phụ đề tự động (WHISPER_ENABLE_CAPTIONS) và phiên âm trong Audio Tools sẽ báo lỗi nếu bạn bật.
Cần Whisper thì tự build từ source (chỉ chạy CPU):
git clone https://gitlab.com/quyit/vps-minipc/py-restream.git
cd py-restream
docker build -f docker/Dockerfile --build-arg WITH_WHISPER=1 -t py-restream:whisper .
Phần lớn cài đặt (đường dẫn FFmpeg, giới hạn phiên, TikTok/LLM, ...) lưu trong SQLite tại /app/data và chỉnh ở trang Settings của dashboard. Hãy gắn volume cho /app/data để không mất cài đặt khi nâng cấp.
Các khoá bí mật có thể truyền qua biến môi trường (đều tuỳ chọn):
| Biến | Công dụng |
|---|---|
YOUTUBE_CLIENT_ID, YOUTUBE_CLIENT_SECRET | OAuth YouTube, cần cho Live Chat |
YOUTUBE_API_KEY, GCP_API_KEY | API key YouTube Data |
DASHBOARD_ADMIN_PASS | Mật khẩu bảo vệ dashboard |
ANTHROPIC_API_KEY, OPENAI_API_KEY, NICEROUTER_API_KEY | Tính năng LLM (phân tích video/chat) |
TWITCH_CLIENT_ID, TWITCH_OAUTH_TOKEN | Chat/sự kiện Twitch (không cần để restream) |
TZ | Múi giờ của container |
LOG_LEVEL | Mức log (mặc định INFO) |
Dashboard không có đăng nhập nếu không đặt
DASHBOARD_ADMIN_PASS. Nếu mở cổng8000ra ngoài localhost, hãy đặt biến này và đặt container sau reverse proxy có TLS.
| Đường dẫn / cổng | Công dụng |
|---|---|
/app/data | SQLite (app.db: cài đặt và API key), file video tạm |
/app/logs | Log dashboard và log từng phiên |
8000 | Web dashboard và API (health check: GET /healthz) |
Source, issue và tài liệu đầy đủ: https://gitlab.com/quyit/vps-minipc/py-restream
Public domain (Unlicense).
Content type
Image
Digest
sha256:38786d4af…
Size
155.1 MB
Last updated
about 17 hours ago
docker pull nqdev/py-restream:1.3.29