.claude/skills/deploy-docker/SKILL.md
Deploy ứng dụng Python bằng Docker — Dockerfile multi-stage, docker-compose dev/prod, chạy local trước rồi push GitHub → VPS pull & deploy. Học từ backend-refresh. Kích hoạt khi user cần đóng gói hoặc deploy ứng dụng.
npx skillsauth add nguynbon03/API-XuongMedia-Backup deploy-dockerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Chạy local → push GitHub → VPS pull & deploy. Hoàn hảo.
project/
devops/
docker/
Dockerfile → Multi-stage build (nhẹ, bảo mật)
docker-compose.yml → Base compose (dùng chung)
docker-compose.dev.yml → Dev: local, debug, hot reload
docker-compose.prod.yml → Prod: healthcheck, restart, optimize
infra/
init-scripts/ → Script khởi tạo DB, seed data
.env.example → Mẫu env (KHÔNG chứa secret thật)
.env.development → Env cho dev (KHÔNG commit)
.env.production → Env cho prod (KHÔNG commit)
.dockerignore → Loại bỏ file không cần
1. Dev (Mac local)
→ Viết code + test
→ docker-compose -f devops/docker/docker-compose.dev.yml up
→ Kiểm tra tại localhost:8000
2. Push GitHub
→ git push origin main
3. VPS (Production)
→ git pull
→ docker-compose -f devops/docker/docker-compose.prod.yml up -d --build
→ Xong. API chạy tại port 8000
Code mẫu:
references/Dockerfile — Multi-stage build cho Python + Playwrightreferences/docker-compose.dev.yml — Dev: Redis + App, hot reloadreferences/docker-compose.prod.yml — Prod: healthcheck, restart, volumesreferences/dockerignore — File .dockerignore chuẩnreferences/env-example — Mẫu file .env| Cần | Skill |
|-----|-------|
| Xử lý đa luồng trong container | concurrency-engine |
| Quản lý account pool | account-pool-manager |
| API endpoints | rest-api-standard |
development
Crawl website và trích xuất dữ liệu có cấu trúc bằng BeautifulSoup, Scrapy, Playwright. Hỗ trợ cả trang tĩnh và trang động (JS-rendered). Kích hoạt khi user cần lấy dữ liệu từ website bất kỳ.
tools
Upload video tự động lên TikTok, YouTube, Facebook, Instagram bằng browser automation (Playwright). Vì các nền tảng này không có public API cho upload, phải dùng browser automation. Kích hoạt khi user cần upload video lên bất kỳ nền tảng nào.
development
Xử lý video bằng Python — cắt ghép, thêm nhạc nền, phụ đề, watermark, resize, chuyển định dạng, render hàng loạt. Dùng ffmpeg-python và moviepy. Kích hoạt khi user cần xử lý video bất kỳ cách nào.
tools
Lập lịch chạy task tự động — cron job, xử lý hàng đợi, lập lịch hàng loạt. Dùng APScheduler, Celery, hoặc crontab. Kích hoạt khi user cần chạy task định kỳ hoặc xử lý hàng loạt theo lịch.