Supabase có miễn phí không? Giới hạn cloud và tự host
Supabase có gói Free với {{q:free_vs_pro:db_gb}} GB database, nhưng project bị pause sau 1 tuần không hoạt động. So sánh cloud với tự host trên VPS.
Supabase có miễn phí không?
Supabase miễn phí theo 2 cách khác nhau và 2 cách này không phải cùng một gói. Gói Free được host sẵn không mất phí và không yêu cầu thẻ. Mã nguồn mở, nên bạn có thể chạy toàn bộ stack trên VPS (virtual private server) của mình mà không phải trả phí license. Một cách tính phí theo các giới hạn. Cách còn lại tính bằng công sức vận hành.
Được kiểm tra vào ngày 10 September 2026, supabase.com/pricing liệt kê gói Free với 0.5 GB database, 1 GB file storage, 5 GB egress và 50,000 người dùng hoạt động hàng tháng, trên tối đa 2 project đang hoạt động. Trang này có một dòng quyết định phần lớn vấn đề: "Free projects are paused after 1 week of inactivity". Hãy kiểm tra lại các con số trước khi lập kế hoạch dựa trên chúng, vì các trang pricing có thể thay đổi.
Gói Free thực sự cung cấp gì
The data behind this chart
[
{
"plan": "Free",
"db_gb": 0.5,
"file_storage_gb": 1,
"egress_gb": 5
},
{
"plan": "Pro",
"db_gb": 8,
"file_storage_gb": 100,
"egress_gb": 250
}
]MAU (người dùng hoạt động hàng tháng) tính số người dùng riêng biệt xác thực trong một tháng tính phí, vì vậy 50,000 là mức khá rộng rãi cho bất kỳ dự án nào bạn vẫn đang xây dựng. Số lượng người dùng hầu như không bao giờ là giới hạn chạm đến đầu tiên. Thường là 0.5 GB Postgres, hoặc 5 GB egress khi bạn bắt đầu phục vụ image hoặc file từ Storage.
Giới hạn ít rõ ràng hơn là 2 project đang hoạt động. Chỉ một project production và một project staging cũng đã dùng hết Free plan, vì vậy ý tưởng thứ 3 phải chờ hoặc dùng chung database với một project không nên dùng chung.
Vì sao cơ chế tạm dừng quan trọng hơn giới hạn dung lượng
"Free project sẽ bị tạm dừng sau 1 tuần không hoạt động" là câu chấm dứt hầu hết các kế hoạch dùng free plan. Project không có truy vấn nào trong 7 ngày sẽ ngừng phục vụ request. Một bản demo được liên kết từ README hoặc một staging API chỉ được gọi mỗi tháng 1 lần có thể đã ngừng hoạt động ngay khi người bạn gửi liên kết nhấp vào. Bạn có thể khôi phục bằng một nút trong Supabase dashboard, nên xử lý nhanh, nhưng chỉ khi bạn đang theo dõi.
Đó mới là chi phí thực sự của hosted free tier. Bạn không trả bằng tiền. Bạn trả bằng tính khả dụng và bằng một giới hạn không thể nâng lên nếu không chuyển sang plan cao hơn.
Chi phí của Pro và Team khi Free không còn đủ
The data behind this chart
[
{
"plan": "Free",
"usd_per_month": 0
},
{
"plan": "Pro",
"usd_per_month": 25
},
{
"plan": "Team",
"usd_per_month": 599
}
]Pro bắt đầu từ $25 mỗi tháng và bao gồm 8 GB disk cho mỗi project, 100 GB file storage và 250 GB egress. Khi vượt các mức này, trang pricing disk ở mức $0.125 mỗi GB, file storage ở mức $0.0213 mỗi GB và egress ở mức $0.09 mỗi GB, tất cả theo mức giá tại ngày 10 tháng 9 năm 2026. Pro cũng bỏ cơ chế pause do không hoạt động. Team bắt đầu từ $599 mỗi tháng và được định giá cho các tổ chức cần tính năng compliance và access control, không dành cho một developer chạy side project.
Spend cap được bật mặc định trên plan Pro. Mặc định này quan trọng: khi vượt quota đã bao gồm, service sẽ bị hạn chế thay vì tiếp tục tăng invoice trong lúc bạn không theo dõi. Nếu tắt cap, bạn đã chủ động chọn failure mode còn lại. Đây cũng là phép tính cần thực hiện khi so sánh chi phí managed Postgres với VPS tự vận hành, vì phần lớn chi phí managed là để trả cho lịch on-call của người khác.
Thay vào đó, self-hosting tốn gì
Không tốn phí license. Tài liệu Supabase gọi Docker Compose là “cách nhanh nhất và được khuyến nghị để self-host”, và stack này chạy trên một VPS thông thường. Chi phí chuyển thành công sức vận hành, và tài liệu nêu rõ những việc bạn phải tự chịu trách nhiệm:
- provision và bảo trì server
- hardening bảo mật, đồng thời cập nhật OS và các service
- cấu hình và quản lý service
- bảo trì database Postgres
- high availability và scalability
- backup và disaster recovery
- monitoring và uptime
Hãy tính đây là chi phí hằng tuần, không phải chi phí thiết lập ban đầu. Provision chỉ thực hiện một lần. Việc cập nhật và kiểm tra backup diễn ra mãi mãi. Nếu câu trả lời trung thực của bạn là sẽ không có ai kiểm tra restore, hosted plan thực ra rẻ hơn bạn nghĩ, vì một bản backup chưa từng được restore không phải là backup.
Những gì Supabase tự host không bao gồm
Stack tự host không phải là bản sao của platform hosted. Tài liệu nêu rõ các tính năng không khả dụng: "branching, advanced metrics beyond logs, managed backups and PITR, analytics and vector buckets, ETL, and the platform management API". PITR (point in time recovery) là tính năng nhiều người bỏ sót sau khi migrate. Trên các gói hosted, đây là một setting có thể bật. Trên máy chủ của bạn, PITR cần một base backup, cơ chế archive WAL (write ahead log), một nơi bên ngoài server để lưu cả hai, và một lần diễn tập để xác nhận mọi thành phần hoạt động đúng với nhau. Các tool như pgBackRest được tạo ra cho đúng mục đích này, còn configuration thuộc về bạn.
Studio, web dashboard, "doesn't support multiple organizations or projects" khi self-host. Một stack tương ứng với một project. Vì vậy, nếu lý do bạn self-host là muốn vượt giới hạn 2 project, hãy dự tính chạy stack thứ hai trên các port riêng hoặc trên một máy riêng, thay vì tạo project thứ hai trong cùng một dashboard.
Những gì bạn nhận được
Theo tài liệu, Supabase tự host “không gọi về hệ thống bên ngoài và không thu thập telemetry”. Các row và bảng user nằm trên phần cứng bạn thuê trực tiếp. Đây là lợi ích cốt lõi khi hợp đồng với client hoặc cơ quan quản lý yêu cầu dữ liệu phải được lưu tại một quốc gia cụ thể.
Bạn cũng sở hữu chính Postgres. Nền tảng hosted sẽ tuning và quản lý server cho bạn. Trên server của mình, shared_buffers, max_connections, danh sách extension và pooler phía trước đều do bạn cấu hình. Phần cuối thường gây vấn đề sớm, vì serverless function hoặc ứng dụng có tải cao có thể mở nhiều connection hơn số lượng Postgres có thể giữ. Khi đó, chạy PgBouncer hoặc Supavisor trên VPS của bạn không còn là tùy chọn.
Egress là giới hạn được gỡ bỏ rõ nhất khi tự host. 5 GB nhanh chóng bị dùng hết khi Storage phục vụ image hoặc audio cho người dùng thật. Hầu hết gói VPS đều bao gồm mức transfer tính bằng terabyte, nên ứng dụng nhiều file sẽ chạm giới hạn của nền tảng hosted từ lâu trước khi làm server quá tải. Nếu Storage là lý do bạn đọc bài này, hãy tính chi phí disk trước compute: chi phí thực tế của một terabyte trên block storage hoặc object storage ảnh hưởng đến tổng chi phí nhiều hơn CPU.
Khởi động stack self-hosted
Cách được tài liệu hướng dẫn là shallow clone thư mục docker của repository, cố định tại self-hosted release tag. Tính đến 10 September 2026, tag đó là self-hosted/v0.8.1. Có script setup chính thức tại supabase.link/setup.sh. Tuy nhiên, clone thủ công bên dưới phù hợp hơn khi bạn muốn lưu cây file trong git repository của riêng mình.
git clone --depth 1 --branch self-hosted/v0.8.1 https://github.com/supabase/supabase
mkdir supabase-project
cp -rf supabase/docker/. supabase-project
cd supabase-project && cp .env.example .env
sh utils/generate-keys.sh
docker compose pull
sh run.sh startsh utils/generate-keys.sh là bước không thể bỏ qua. .env.example đi kèm các secret placeholder mà bất kỳ ai cũng có thể đọc trong public repository. Vì vậy, stack khởi động với các giá trị đó sẽ mở cho bất kỳ ai tìm được port. Đồng thời đặt DASHBOARD_PASSWORD trong .env, vì Studio được bảo vệ bằng HTTP basic authentication và tài liệu yêu cầu password đó phải chứa ít nhất một chữ cái.
Kiểm tra kết quả bằng docker compose ps. Lệnh này phải liệt kê mọi service ở trạng thái running hoặc healthy. Sau đó mở Studio trên port 8000 và đăng nhập bằng thông tin xác thực của dashboard. sh run.sh secrets in các key đã tạo khi bạn cần dùng lại, còn sh run.sh stop tắt stack. Không publish port 8000 trực tiếp ra Internet. Hãy đặt reverse proxy có TLS (transport layer security) phía trước hoặc giữ port này trên private network. Toàn bộ hướng dẫn, bao gồm cấu hình proxy và các giá trị .env nên thay đổi trước, có trong hướng dẫn từng bước tự host Supabase với Docker Compose.
Gói Free nào phù hợp với bạn
Chọn gói Free dạng hosted khi dự án vẫn đang được xây dựng thay vì đã được sử dụng, và khi việc tạm dừng không khiến bạn mất gì. Đây là một gói thực sự, với số lượng user khá lớn. Tuy nhiên, gói này cũng được thiết kế với kỳ vọng bạn sẽ chuyển sang gói cao hơn.
Chọn Pro với giá $25 mỗi tháng khi dự án đã có user nhận thấy thời gian downtime. Khoản này thấp hơn số tiền bạn sẽ mất cho số giờ kiểm tra backup trong một tháng, vì vậy thanh toán là một quyết định về lịch vận hành chứ không phải thất bại.
Chọn self-hosting khi bạn đã chạy một VPS và đã thực hiện công việc vận hành trên đó cho một hệ thống khác, khi dữ liệu không được phép rời khỏi khu vực pháp lý của bạn, hoặc khi dung lượng lưu trữ và egress tăng nhanh hơn chi phí của một server. Sự đánh đổi này lặp lại ở mọi sản phẩm open core. Sự khác biệt giữa community edition miễn phí của n8n và các tier trả phí của n8n và sự khác biệt giữa Nextcloud Hub miễn phí và subscription enterprise của Nextcloud đều vạch ra cùng một ranh giới tại cùng một điểm. Phần mềm miễn phí đủ hoàn chỉnh để xử lý workload thực tế. Sản phẩm trả phí bán cho bạn phần mà không ai muốn tự vận hành.
Câu hỏi thường gặp (FAQ)
Gói miễn phí của Supabase có miễn phí vĩnh viễn không?
Gói Free không có giới hạn thời gian và không yêu cầu thẻ, theo thông tin được kiểm tra ngày 10 September 2026. Thay vào đó, gói này có các giới hạn: 0.5 GB database, 1 GB file storage, 5 GB egress, 50,000 người dùng hoạt động hàng tháng và 2 project đang hoạt động. Điều khiến phần lớn người dùng không thể tiếp tục dùng miễn phí không phải là một quota. Đó là quy định: "Free project sẽ bị pause sau 1 tuần không hoạt động".
Điều gì xảy ra khi một project Supabase miễn phí bị pause?
Project đó ngừng xử lý request. Các API call sẽ fail và dashboard đánh dấu project là đã pause cho đến khi có người restore project bằng một button trong Supabase dashboard. Ứng dụng của bạn không tự nhận được cảnh báo, nên một demo bạn chia sẻ từ 1 tháng trước thường đã ngừng hoạt động trước khi có người báo cho bạn. Nếu project phải trả lời request vào bất kỳ giờ nào trong ngày, hãy chuyển sang Pro hoặc self-host.
Supabase self-hosted có giống phiên bản hosted không?
Không. Tài liệu liệt kê các tính năng self-hosting không bao gồm: "branching, advanced metrics beyond logs, managed backups and PITR, analytics and vector buckets, ETL, and the platform management API". Studio cũng "không hỗ trợ nhiều organization hoặc project", vì vậy 1 self-hosted stack chỉ tương ứng với 1 project. Các component database, auth, storage, realtime và edge function là cùng phần mềm mà hosted platform sử dụng.
Supabase self-hosted có gửi dữ liệu nào về Supabase không?
Không. Tài liệu self-hosting nêu rõ rằng một deployment self-hosted "không phone home và không thu thập telemetry". Các container pull image từ public registry khi bạn chạy docker compose pull. Đây là một lần download image thông thường, không phải báo cáo về dữ liệu của bạn. Sau đó, mọi thứ nằm trên server của bạn. Điều này cũng có nghĩa là bạn tự chịu trách nhiệm cho mọi backup và mọi security update.