Deploy bằng Dockerfile đang LIVE

Deploy app bằng Dockerfile: AI build và đưa lên VPS

Thả một dòng npx -y monacloud-mcp login vào Claude Code hoặc Codex, AI tự build image từ Dockerfile của bạn, deploy, gắn domain, trả URL HTTPS; máy chủ tại Việt Nam, Hong Kong, Singapore, Úc, Mỹ. Không dùng AI thì chạy CLI hoặc API với --build dockerfile. App host tính phí như VPS, app không tính thêm; repo private đang mở.

Số đo 05/09/2026

  • MCP deploy thư mục khi host đã có33 giây
  • Upload API tới URL HTTPS, gồm build image112 giây
  • Tạo app host đầu tiên~150 giây

Số đo của repo mẫu; thời gian build dự án của bạn có thể khác.

Cho AI làm

Thả một dòng vào Claude Code hoặc Codex là có máy chạy

Việc của bạn: dán một dòng, đăng nhập MONA Pass một lần trong trình duyệt, duyệt báo giá VND. AI tự cài MCP, tạo máy, deploy, gắn domain và trả URL HTTPS.

Dán vào Claude Code hoặc Codex
npx -y monacloud-mcp login
Rồi nói với AI
Deploy dự án có Dockerfile trong thư mục này lên MONA Cloud ở vùng Việt Nam bằng cloud_app_detect rồi cloud_app_create (build_type dockerfile), gắn domain và đưa tôi link https. Báo chi phí VND trước, thử sandbox rồi chờ tôi đồng ý.

Prompt không chứa secret. Mỗi khoản tính phí đều chờ bạn duyệt; muốn thử trước thì AI chạy sandbox miễn phí.

MONA Cloud là gì

Máy chủ tại Việt Nam, Hong Kong, Singapore, Úc, Mỹ: chọn vùng gần khách

MONA Cloud là máy chủ và database AI friendly của The MONA Group, tốc độ cực nhanh cho khách hàng Việt Nam và Đông Nam Á với máy chủ tại Việt Nam, Hong Kong, Singapore, Úc, Mỹ, thuê theo giờ trả bằng VND, để AI agent như Claude Code, Codex, Cursor tự tạo máy, đưa app lên chạy.

Việt Nam

Khách trong nước, app nội bộ, web bán hàng, bot chăm khách.

Hong Kong

Khách Trung Quốc, Hong Kong, Đài Loan và đội làm việc xuyên biên giới.

Singapore

Khách Đông Nam Á, app đa quốc gia trong khu vực.

Úc

Khách Úc, New Zealand.

Mỹ

Khách Bắc Mỹ, dịch vụ cho thị trường quốc tế.

Khách của bạn ở đâu thì đặt máy ở vùng đó để đường truyền ngắn nhất. Tạo VPS trong 11 giây, số đo 05/09/2026.

Chuẩn bị

Cần chuẩn bị gì trong Dockerfile?

Kiểm tra các phần dưới đây trong dự án trước khi deploy, nhất là cổng lắng nghe và nơi app ghi dữ liệu.

Tài liệu Docker chi tiết
  • Dockerfile ở gốc thư mục, lệnh CMD khởi động app.
  • Cổng app lắng nghe khai bằng EXPOSE và đọc từ biến PORT nếu app cho phép.
  • .dockerignore loại node_modules/, .git/, .env* để archive dưới 80 MB.
  • Biến môi trường cần khai lại trên MONA Cloud.
  • Thư mục ghi dữ liệu: dữ liệu trong container mất khi deploy lại, dùng database hoặc thư mục gắn ngoài.

Các cách deploy

Deploy dự án theo các bước nào?

Chọn CLI nếu tự chạy lệnh, MCP nếu giao cho AI, API nếu tự viết script. Cả ba cách đều thử được bằng sandbox trước.

  1. Chạy CLI trong thư mục dự án

    Chạy npx -y monacloud deploy trong thư mục dự án (hoặc --repo nếu có GitHub). Đặt MONACLOUD_TOKEN trong môi trường theo bắt đầu nhanh; CLI monacloud 0.4.1 tự tải MCP qua npx. Chuẩn bị Dockerfile hoặc package.json phù hợp với stack.

    Thử miễn phí, rồi deploy thư mục hiện tại
    npx -y monacloud deploy --sandbox
    npx -y monacloud deploy

    Lệnh đầu thử miễn phí; sau khi bạn đồng ý với báo giá, lệnh thứ hai upload thư mục hiện tại và deploy lên máy chủ tính phí. Mặc định deploy thư mục local kể cả khi có git remote. --git dùng remote hiện tại; --repo <url> dùng repo public chỉ định, ví dụ:

    Deploy repo public trong sandbox
    npx -y monacloud deploy --repo https://github.com/themonagroup/monacloud-example-node --branch main --build dockerfile --sandbox

    Bỏ --sandbox sau khi đồng ý báo giá để deploy repo. --build nhận dockerfile, nixpacks hoặc static; chọn theo dự án. Repo mẫu trên có sẵn Dockerfile; với dự án của bạn, giữ --build dockerfile để hạ tầng build đúng image của bạn.

  2. Giao AI deploy bằng MCP nếu muốn

    MCP monacloud-mcp 0.5.0cloud_app_detect(local_dir) đoán stack, port và Dockerfile ngay trên máy; cloud_app_create({local_dir}) tự đóng zip và upload. Dùng đường dẫn tuyệt đối mà MCP đọc được. Nếu đã tạo bằng CLI, dùng app ID đó để kiểm tra, không tạo trùng.

    Prompt ngắn cho AI
    Đưa dự án trong thư mục này lên web bằng MONA Cloud. Token ở biến MONACLOUD_TOKEN. Dùng cloud_app_detect rồi cloud_app_create với local_dir, xong đưa tôi link https.

    Đọc cloud_app_list, cloud_app_host_list, cloud_prices, cloud_plan_listcloud_balance trước khi tạo; số dư đọc qua /api/me. Thử sandbox: true rồi đồng ý phí app host. Với git public, truyền repo_url thay cho local_dir.

  3. Dùng API upload và đọc kết quả

    Nếu chọn curl thay MCP hoặc CLI, xem hai lệnh tạo app và upload: POST /api/apps với source: "upload" không cần repo_url, trả id, upload_url, max_bytes: 83886080, job_id, status: "awaiting_upload"url.

    Gửi POST /api/apps/{id}/upload multipart archive (zip hoặc tar.gz tối đa 80 MB) và build_path mặc định /. Server tự loại node_modules/, .git/, .env*, *.pem; chặn zip-slip; file phải nằm ở gốc archive, không bọc thêm một thư mục.

    Upload trả job id, sau đó poll GET /api/jobs/{id} tới succeeded hoặc failed. Đọc GET /api/apps/{app_id} và log, kiểm tra HTTPS rồi trả URL. Sandbox dùng X-Vibecloud-Sandbox: 1 khi tạo app, chỉ mô phỏng, không tính phí và không có website chạy được. Quản lý app tại console /apps.

Số đo 05/09/2026

Kết quả mong đợi là gì?

Thời gian đo trên repo mẫu ngày 05/09/2026 (tối). Đây là số đo, không phải cam kết thời gian build cho mọi dự án.

Kết quả mong đợiThời gian đo
Upload API tới URL HTTPS 200, gồm build image112 giây
MCP cloud_app_create(local_dir) tới URL HTTPS, host đã có33 giây
App host đầu tiên~150 giây

App từ git đã LIVE, đo ngày 05/09/2026: repo git public, app host riêng của bạn (LXC + Dokploy, tạo lần đầu ~150 giây), deploy 10–20 giây, URL https://<repo>-<mã>.app.monacloud.vn có chứng chỉ Let's Encrypt.

Ví dụ: monacloud-example-node-3fb5b2.app.monacloud.vn, từ repo mẫu Node.js. Xoá app rồi tạo lại mất 31 giây khi đã có app host. Thời gian build dự án của bạn phụ thuộc source, dependency và tài nguyên.

Job tính phí kết thúc ở succeeded; trạng thái app là done. Sandbox kết thúc ở done, có sandbox: true và URL giả. Kiểm tra HTTPS và chức năng app trước khi chuyển traffic.

Sau khi deploy

Kiểm tra container sau khi deploy thế nào?

  • Thử API, webhook, restart và xử lý lỗi.
  • Repo mẫu trong bài là ứng dụng Node.js có Dockerfile, các số đo ở trên lấy từ repo này; image của bạn build lâu hay nhanh tuỳ base image và bước cài.
  • Cần database thì xem tạo database.
  • Sandbox chỉ thử API; dữ liệu và chức năng phải kiểm tra trên app đã deploy.

Upload

Lỗi thường gặp khi upload

Lỗi thường gặpCách xử lý
Archive bọc thêm thư mục, trả 502Đóng lại từ bên trong thư mục dự án để file nằm ngay gốc archive; build_path mặc định /
Thiếu DockerfileDùng cloud_app_detect để nhận diện stack, chọn build_type: "nixpacks" hoặc --build nixpacks nếu stack được hỗ trợ, hoặc thêm Dockerfile
Archive quá 80 MB (83886080 byte)Loại dependency, cache và file không cần khỏi archive trước khi gửi; server chỉ lọc sau khi nhận, không thay bước giảm dung lượng

Env và domain

Cập nhật env, domain và deploy lại thế nào?

Dùng cloud_app_env_set hoặc PUT /api/apps/{app_id}/env với toàn bộ map env cần giữ, rồi cloud_app_deploy hoặc POST /api/apps/{app_id}/deploy để áp dụng. Không commit secret vào repo.

cloud_app_domain_add hoặc POST /api/apps/{app_id}/domains nhận host, trả hướng dẫn CNAME. Trỏ DNS đúng đích, chờ cấp chứng chỉ rồi kiểm tra HTTPS. Đọc log bằng cloud_app_logs hoặc GET /api/apps/{app_id}/logs. Xem API referencedomain và SSL.

Chi phí

App host và gói tháng tính phí thế nào?

App host tính phí như VPS, theo giờ hoặc gói tháng; app chạy trên host không tính thêm.

App host mặc định1.250đ/giờ

2 core, 2 GB RAM, 30 GB disk, ước tính 900.000đ/720 giờ.

(2 × 250 + 2 × 150 + 30 × 15) = 1.250đ/giờ. Dùng lại host sẵn có thì phí host tiếp tục theo kỳ.

VPS tự quản nhỏ nhất550đ/giờ

1 core, 1 GB RAM, 10 GB disk, ước tính 396.000đ/720 giờ.

Bảng giá chính dùng 730 giờ nên VPS này ra 401.500đ/tháng. Đây là mốc VPS, không phải cấu hình app host mặc định.

Gói tháng

399.000đ, 999.000đ, 1.990.000đ, 3.990.000đ mỗi tháng; trả năm bằng giá 10 tháng. Khách MONA có gói miễn phí; đăng ký được tặng 100.000đ credit. Hoá đơn VAT 10% mỗi tháng.

Gói tháng và hoá đơn

Xoá app không xoá app host

Host còn tồn tại vẫn tính phí; stop giữ disk và IP nên còn phí. Database tính riêng. Chỉ xoá service host sau khi sao lưu và xác nhận không còn app cần dùng.

Hỏi đáp

Câu hỏi thường gặp khi deploy bằng Dockerfile

Chưa thấy câu bạn cần thì gọi tổng đài 1900 636 648.

Dockerfile viết cho stack nào cũng chạy được không?

Được, miễn image build xong và app lắng nghe đúng cổng đã khai. Hạ tầng build image từ Dockerfile của bạn khi chọn --build dockerfile hoặc build_type: "dockerfile"; không có Dockerfile thì dùng nixpacks cho stack được hỗ trợ.

Repo private thì sao?

Repo private đang mở qua GitHub App. Hiện luồng app từ git nhận repo public HTTPS; không đặt token hoặc mật khẩu vào URL repository. Có source trên máy thì dùng local_dir hoặc npx -y monacloud deploy, không cần kết nối GitHub.

Thời gian deploy bao lâu?

Số đo 05/09/2026 (tối): upload API tới HTTPS 200 sau 112 giây, gồm build image; MCP local 33 giây khi host đã có. Host đầu tiên ~150 giây. Git repo mẫu deploy 10–20 giây; xoá app rồi tạo lại 31 giây. Thời gian mỗi dự án có thể khác.

App có tính thêm phí không?

App không tính thêm. App host tính như VPS theo giờ hoặc gói tháng; xoá app vẫn giữ host tính phí. Database riêng tính riêng.

Sandbox có URL chạy được không?

Không. Sandbox miễn phí trả job và URL giả, không chạy source. Chỉ xác nhận app online khi job trả succeeded, app ở trạng thái done và URL HTTPS hoạt động.

Prompt

Prompt deploy Dockerfile để dán cho AI

AI đọc dự án, thử sandbox, báo phí app host và chờ bạn đồng ý rồi mới deploy.

Prompt không chứa secret.

Prompt deploy dự án có Dockerfile
Deploy dự án có Dockerfile trong thư mục hiện tại của tôi lên MONA Cloud (build_type dockerfile) bằng cloud_app_detect rồi cloud_app_create với local_dir. Token ở biến MONACLOUD_TOKEN. Đọc package.json, entry point, script khởi động, cổng lắng nghe, env, thư mục ghi dữ liệu và worker. Đọc cloud_app_list, cloud_app_host_list, cloud_prices, cloud_plan_list và cloud_balance. Chưa có host thì thử sandbox=true; báo phí host giờ/tháng và chờ tôi đồng ý trước khi tạo host tính phí. Poll job, kiểm cloud_app_get, cloud_app_logs và HTTPS rồi trả URL. Thử API, webhook, restart và xử lý lỗi. Không đưa secret vào chat. Không cần GitHub khi dùng local_dir.

Bắt đầu với MONA Cloud

Thử deploy Dockerfile bằng sandbox miễn phí

Sandbox trả job và URL giả, không tính phí. Khi luồng đã đúng, AI báo giá app host trước khi tạo tài nguyên tính phí.

Chạy thử miễn phí trong thư mục dự án
npx -y monacloud deploy --sandbox
  • Freechạy thử bằng sandbox
  • 33 giâydeploy khi host đã có
  • HTTPSchứng chỉ Let's Encrypt