# 🚀 Đưa app vibe-code lên production: domain, HTTPS và deploy an toàn

By Better Wise · Generated by Everwise

Đưa sản phẩm vibe-code từ máy local lên internet với domain, HTTPS, log và backup, kèm checklist an toàn trước khi ra mắt.

- **Level:** Beginner
- **Goal:** Build a project
- **Language:** Vietnamese
- **Focus:** [deploy và biến môi trường](/courses?q=deploy%20v%C3%A0%20bi%E1%BA%BFn%20m%C3%B4i%20tr%C6%B0%E1%BB%9Dng), [domain và HTTPS](/courses?q=domain%20v%C3%A0%20HTTPS), [logging và uptime monitoring](/courses?q=logging%20v%C3%A0%20uptime%20monitoring), [backup và rollback](/courses?q=backup%20v%C3%A0%20rollback)
- **Prior knowledge:** Biết chạy app web trên máy local, Đã dùng Git cơ bản, Có một app nhỏ do AI viết
- **Practice:** Guided exercises
- **Time:** ~3.7h
- **Voice:** một indie hacker từng làm sập app của mình lúc 2 giờ sáng, dạy bằng checklist ngắn và luôn nhấn mạnh bước nào phải làm trước
- **Not covered:** Kubernetes, CI/CD nâng cao, tối ưu chi phí cloud chuyên sâu

## Bạn sẽ đạt được gì

Sau khóa này, bạn sẽ tự tay đưa một app đang chạy trên máy local lên internet và giữ nó sống ổn định. Cụ thể, bạn sẽ có khả năng:

- Chọn được hosting phù hợp với app nhỏ của mình và deploy bản đầu tiên lên đó.
- Trỏ domain về hosting, bật HTTPS và kiểm tra chứng chỉ thật sự hợp lệ.
- Tách biến môi trường dev và prod, quản lý secrets mà không lỡ commit lên Git.
- Bật log cơ bản và uptime monitoring để biết app chết lúc nào, chết vì đâu.
- Viết quy trình backup dữ liệu và rollback khi bản deploy mới có lỗi.
- Chạy checklist go-live trước khi mở cửa cho người dùng thật.

Điểm quan trọng: mỗi bước trên đều có thứ tự. Làm sai thứ tự là cách nhanh nhất để có một đêm thức trắng, và tôi nói điều này vì tôi đã từng ở đó.

## Khóa này dành cho ai

Khóa này dành cho người mới, chưa từng đưa app lên production. Bạn cần có sẵn:

- Biết chạy app web trên máy local.
- Đã dùng Git cơ bản (commit, push, hiểu branch là gì).
- Có một app nhỏ do AI viết, đang chạy được ở `localhost`.

Bạn không cần biết Docker, Kubernetes, hay cấu hình Nginx bằng tay. Chúng ta đi bằng con đường ngắn nhất và an toàn nhất cho một app nhỏ.

Nếu bạn đã deploy nhiều lần và quen với CI/CD, khóa này sẽ hơi chậm với bạn ở Module 1. Bạn có thể đọc lướt phần lý thuyết và tập trung vào Module 2 và 3.

## Lộ trình khóa học

**Module 1: Đưa app từ local lên internet**

- **1.1 Chọn hosting và deploy bản đầu tiên.** So sánh các lựa chọn hosting phổ biến cho app nhỏ, chọn một cái, và deploy thật. Mục tiêu là có một URL công khai chạy được, dù chưa đẹp.
- **1.2 Trỏ domain về hosting.** Cấu hình DNS để domain của bạn trỏ đúng về hosting, và biết cách kiểm tra khi nó chưa ăn.
- **1.3 Bật HTTPS và kiểm tra chứng chỉ.** Bật HTTPS, đọc thông tin chứng chỉ, và xử lý các lỗi thường gặp như mixed content.
- **1.4 Checkpoint: Hosting, domain và HTTPS.** Bài kiểm tra ngắn để chắc rằng bạn không đi tiếp khi nền móng còn lung lay.

**Module 2: Cấu hình an toàn và giám sát**

- **2.1 Tách biến môi trường dev/prod và quản lý secrets.** Tách cấu hình hai môi trường, đưa secrets ra khỏi code, và thêm file cấu hình vào `.gitignore`.
- **2.2 Log cơ bản và uptime monitoring.** Bật log để đọc được lỗi, và dựng monitoring để được báo khi app chết thay vì tự phát hiện lúc 2 giờ sáng.
- **2.3 Backup dữ liệu và rollback khi lỗi.** Lên lịch backup, thử khôi phục thật một lần, và chuẩn bị sẵn đường rollback trước khi cần đến nó.
- **2.4 Checkpoint: Cấu hình, giám sát và khôi phục.** Kiểm tra lại toàn bộ phần an toàn và khôi phục.

**Module 3: Go-live: checklist và chạy thử**

- **3.1 Chạy checklist go-live trên app thật.** Đi từng mục trong checklist trên chính app của bạn, sửa những gì còn thiếu.
- **3.2 Checkpoint: Sẵn sàng go-live.** Bài kiểm tra cuối, xác nhận bạn đã sẵn sàng mở cho người dùng thật.

## Khóa học vận hành thế nào

Khóa gồm **10 bài, tổng khoảng 220 phút**. Trung bình mỗi bài 20 đến 25 phút, đủ ngắn để làm trong một buổi tối.

Mỗi bài có ba phần:

- **Lý thuyết ngắn.** Chỉ những gì bạn cần để làm bước tiếp theo, không lan man.
- **Thực hành có hướng dẫn.** Bạn làm trên chính app của mình, theo từng bước, có lệnh và chỗ cần kiểm tra.
- **Checkpoint quiz.** Bài kiểm tra ngắn ở cuối mỗi module để bắt lỗi hiểu sai trước khi nó thành lỗi production.

Cách học khuyến nghị: **đi tuần tự từ 1.1 đến 3.2**. Các bài được xếp theo đúng thứ tự phải làm ngoài đời, và bỏ qua một bài thường có nghĩa là bước sau sẽ không chạy. Riêng phần lý thuyết ở bài nào bạn đã biết thì đọc lướt được, nhưng đừng bỏ phần thực hành: mỗi bài thực hành là một mảnh của cùng một dự án.

## Dự án xuyên suốt khóa

Dự án của khóa là **"Đưa app AI của bạn lên sóng"**. Đây là một sợi chỉ liên tục, không phải các bài tập rời rạc: bạn lấy đúng một app nhỏ do AI viết đang chạy ở `localhost` và đưa nó qua từng giai đoạn cho đến khi người dùng thật dùng được.

Các bài nuôi dự án theo thứ tự:

- **1.1** tạo ra bản deploy công khai đầu tiên.
- **1.2** gắn domain thật vào bản deploy đó.
- **1.3** khóa nó lại bằng HTTPS.
- **2.1** làm sạch cấu hình và secrets trước khi có người dùng.
- **2.2** dựng mắt nhìn: log và uptime monitoring.
- **2.3** dựng lưới an toàn: backup và rollback.
- **3.1** chạy checklist go-live trên chính app đó.
- **3.2** xác nhận và mở cửa.

Kết thúc khóa, bạn không có một bài tập mẫu để chép. Bạn có một app thật, chạy trên domain thật, có HTTPS, có monitoring, có backup, và có đường lùi khi mọi thứ đổ vỡ.

Sẵn sàng chưa? Mở bài 1.1 và chuẩn bị tinh thần: bước đầu tiên luôn là bước dễ sai nhất.

## Contents

- **🚀 Đưa app từ local lên internet**
  - [⚙️ Chọn hosting và deploy bản đầu tiên](https://everwise.study/courses/dua-app-vibe-code-len-production-domain-https-va-deploy-an-toan/chon-hosting-va-deploy-ban-dau-tien.md)
  - [🌐 Trỏ domain về hosting](https://everwise.study/courses/dua-app-vibe-code-len-production-domain-https-va-deploy-an-toan/tro-domain-ve-hosting.md) (sign-in required)
  - [🔒 Bật HTTPS và kiểm tra chứng chỉ](https://everwise.study/courses/dua-app-vibe-code-len-production-domain-https-va-deploy-an-toan/bat-https-va-kiem-tra-chung-chi.md)
  - [✅ Checkpoint: Hosting, domain và HTTPS](https://everwise.study/courses/dua-app-vibe-code-len-production-domain-https-va-deploy-an-toan/checkpoint-hosting-domain-https.md)
- **🛡️ Cấu hình an toàn và giám sát**
  - [🔑 Tách biến môi trường dev/prod và quản lý secrets](https://everwise.study/courses/dua-app-vibe-code-len-production-domain-https-va-deploy-an-toan/tach-bien-moi-truong-dev-prod.md)
  - [📊 Log cơ bản và uptime monitoring](https://everwise.study/courses/dua-app-vibe-code-len-production-domain-https-va-deploy-an-toan/log-co-ban-va-uptime-monitoring.md)
  - [♻️ Backup dữ liệu và rollback khi lỗi](https://everwise.study/courses/dua-app-vibe-code-len-production-domain-https-va-deploy-an-toan/backup-du-lieu-va-rollback-khi-loi.md)
  - [✅ Checkpoint: Cấu hình, giám sát và khôi phục](https://everwise.study/courses/dua-app-vibe-code-len-production-domain-https-va-deploy-an-toan/checkpoint-cau-hinh-giam-sat-khoi-phuc.md)
- **🏁 Go-live: checklist và chạy thử**
  - [📋 Chạy checklist go-live trên app thật](https://everwise.study/courses/dua-app-vibe-code-len-production-domain-https-va-deploy-an-toan/chay-checklist-go-live-tren-app-that.md) (premium content)
  - [✅ Checkpoint: Sẵn sàng go-live](https://everwise.study/courses/dua-app-vibe-code-len-production-domain-https-va-deploy-an-toan/checkpoint-san-sang-go-live.md) (premium content)
- [Course cheatsheet](https://everwise.study/courses/dua-app-vibe-code-len-production-domain-https-va-deploy-an-toan/cheatsheet.md) (premium content)
