📊 Claude Max 5x quota
đang tải…
VPS KVM4 đã có sẵn Traefik (host network, port 80/443) + Let's Encrypt + DuckDNS wildcard. → Tạo web mới chỉ cần 1 docker-compose có Traefik labels.
mkdir -p /docker/<NAME>/app
# bỏ code app vào /docker/<NAME>/app/
/docker/<NAME>/docker-compose.ymlservices:
<NAME>:
image: python:3.12-slim # hoặc node:20-alpine / nginx:alpine
container_name: <NAME>
restart: unless-stopped
working_dir: /app
command: sh -c "<lệnh chạy app>"
volumes:
- ./app:/app:ro
# mount thêm nếu cần đọc data lulu:
# - /docker/lulu/data:/docker/lulu/data:ro
labels:
- traefik.enable=true
- traefik.http.routers.<NAME>.rule=Host(`<NAME>.lulu8799.duckdns.org`)
- traefik.http.routers.<NAME>.entrypoints=websecure
- traefik.http.routers.<NAME>.tls.certresolver=letsencrypt
- traefik.http.services.<NAME>.loadbalancer.server.port=<PORT_APP_LISTEN>
cd /docker/<NAME> && docker compose up -d
# Đợi ~30s Traefik xin cert Let's Encrypt
→ URL: https://<NAME>.lulu8799.duckdns.org
<NAME> — tên container (kebab-case, không trùng)<lệnh chạy app> — vd python /app/server.py, node /app/index.js<PORT_APP_LISTEN> — port app trong container đang listenlulu, port 50824) — chỗ xem trực quan toàn bộ memory — truy cập qua CẢ HAI domain:https://lulu8799.duckdns.org ← domain chính (DuckDNS của Lulu)https://hoanganh.dabugs.com ← alias (dabugs.com là domain của sếp Lulu)lulu qua Traefik. Router rule: Host(hoanganh.dabugs.com) || Host(lulu8799.duckdns.org).<NAME>.lulu8799.duckdns.org (xem [[duckdns]]).