PocketBase Cloud là gì? Hướng dẫn tạo PocketBase instance đầu tiên
Nếu bạn chưa từng sử dụng PocketBase, đây là một backend mã nguồn mở được đóng gói trong một file Go binary duy nhất.
PocketBase tích hợp sẵn nhiều thành phần cần thiết để xây dựng ứng dụng:
- Cơ sở dữ liệu SQLite
- Xác thực người dùng
- Realtime subscription
- Lưu trữ file
- REST API
- Giao diện quản trị
- JavaScript Hooks
Nhờ đó, bạn có thể nhanh chóng xây dựng backend cho website, SaaS, ứng dụng mobile hoặc side project mà không cần kết hợp quá nhiều dịch vụ khác nhau.
Tuy nhiên, khi đưa PocketBase lên môi trường production, bạn vẫn phải tự xử lý khá nhiều công việc như thuê VPS, cấu hình reverse proxy, cấp chứng chỉ SSL, bảo vệ máy chủ, backup dữ liệu và theo dõi trạng thái hệ thống.
Đó là vấn đề mà PocketBase Cloud muốn giải quyết.
PocketBase Cloud là nền tảng managed hosting được xây dựng riêng cho PocketBase. Thay vì tự vận hành máy chủ, bạn có thể tạo một PocketBase instance trực tiếp từ dashboard và bắt đầu sử dụng gần như ngay lập tức.
Trong bài viết này, tôi sẽ hướng dẫn toàn bộ quá trình tạo PocketBase instance đầu tiên trên PocketBase Cloud.

Vì sao tôi chọn PocketBase Cloud?
Tôi đã xem qua một số lựa chọn hosting PocketBase và quyết định thử PocketBase Cloud vì những lý do sau.
1. Có gói miễn phí để bắt đầu
Gói Free hiện có giá $0/tháng và bao gồm:
- 1 PocketBase instance
- 50 MB dung lượng lưu trữ
- Frontend hosting
- Shared server
- Quản lý Organization và Team
- Chứng chỉ SSL
- Community support
- Băng thông bắt đầu từ 50 GB
PocketBase Cloud yêu cầu tạo một Stripe subscription miễn phí để xác minh thông tin thanh toán và hạn chế bot hoặc hành vi lạm dụng.
Bạn sẽ không bị tính phí khi sử dụng gói Free.
Một lưu ý quan trọng là tài nguyên Free có thể bị tự động xóa nếu không hoạt động trong 30 ngày. Vì vậy, gói này phù hợp nhất để thử nghiệm, học tập, xây dựng prototype hoặc chạy các project nhỏ vẫn được sử dụng thường xuyên.
2. Có nhiều khu vực triển khai
Số lượng khu vực bạn có thể lựa chọn phụ thuộc vào gói:
- Free: 1 khu vực
- Starter: 6 khu vực
- Pro: 10 khu vực
Gói Pro hiện hỗ trợ các location tại châu Âu, Bắc Mỹ và khu vực châu Á – Thái Bình Dương, bao gồm Singapore và Sydney.
Nếu người dùng của bạn chủ yếu ở Việt Nam hoặc Đông Nam Á, Singapore thường là lựa chọn hợp lý để giảm độ trễ.
3. Không cần tự cấu hình SSL
Mỗi PocketBase instance đều được cấp một subdomain mặc định dưới tên miền:
<instance-name>.pocketbasecloud.com
Chứng chỉ SSL được cấu hình sẵn, vì vậy instance có thể được truy cập trực tiếp qua HTTPS mà không cần tự thiết lập Caddy, Nginx hoặc Certbot.
DDoS protection và custom domain hiện có trên gói Starter và Pro.
4. Chi phí tương đối dễ dự đoán
PocketBase Cloud sử dụng mô hình giá cố định theo tháng thay vì tính tiền theo từng request, từng người dùng hoặc từng gigabyte dữ liệu được truyền.
Tại thời điểm bài viết này được cập nhật, PocketBase Cloud có ba gói chính.
Free — $0/tháng
Phù hợp để thử nghiệm hoặc xây dựng project nhỏ:
- 1 PocketBase instance
- 50 MB storage
- Shared server
- Frontend hosting
- SSL
- 1 khu vực
- Tự động xóa sau 30 ngày không hoạt động
Starter — $5/tháng trong thời gian ưu đãi
Giá thông thường được hiển thị là $10/tháng, hiện đang giảm còn $5/tháng.
Gói Starter bao gồm:
- 1 PocketBase instance
- 3 GB storage
- Frontend hosting
- Separate server cluster
- 6 khu vực triển khai
- Custom domain
- SSL và DDoS protection
- Organization và Team management
- Hỗ trợ qua email và Discord
- Băng thông bắt đầu từ 100 GB
Starter cũng cho phép mua thêm deployment slot:
- Thêm 1 PocketBase instance: hiện
$5/tháng - Thêm 5 frontend deployment: hiện
$5/tháng
Pro — $20/tháng trong thời gian ưu đãi
Giá thông thường được hiển thị là $30/tháng, hiện đang giảm còn $20/tháng.
Gói Pro cung cấp một dedicated compute riêng với:
- Dedicated compute 2 vCPU
- Lựa chọn 1 trong 10 khu vực
- Không giới hạn PocketBase instance theo mô hình sử dụng hợp lý
- Không giới hạn frontend deployment
- Backend hosting cho Node.js, Next.js, Deno và Bun
- Custom domain
- SSL và DDoS protection
- Live monitoring dashboard
- Priority support
- Băng thông bắt đầu từ 1 TB
Bạn đang trả tiền cho compute riêng thay vì trả phí trên từng deployment. Vì vậy, gói này có thể phù hợp nếu bạn vận hành nhiều PocketBase instance, frontend và backend trên cùng một hạ tầng.
Tuy nhiên, dedicated compute của gói Pro không được tạo ngay lập tức. Theo trang Pricing, quá trình chuẩn bị có thể mất tối đa 48 giờ sau khi checkout.
Bước 1: Đăng ký tài khoản
Truy cập:
https://portal.pocketbasecloud.com
Tạo tài khoản và hoàn tất bước xác minh Stripe.
Đối với gói Free, Stripe subscription có giá $0 và không phát sinh phí.
Sau khi đăng nhập, tạo một Project mới.
Project được sử dụng để nhóm các tài nguyên liên quan như PocketBase instance, frontend deployment và các thành viên trong team.
Bước 2: Tạo PocketBase instance
Mở project vừa tạo, chuyển sang tab PocketBase, sau đó nhấn New PocketBase.
Biểu mẫu tạo instance thường bao gồm ba nhóm thông tin chính.
General Information
Instance Name
Đặt tên cho PocketBase instance.
Tên này sẽ được sử dụng để tạo subdomain mặc định. Ví dụ:
my-pocketbase
Instance sẽ có địa chỉ tương tự:
https://my-pocketbase.pocketbasecloud.com
Bạn nên chọn tên ngắn, dễ nhớ và chỉ sử dụng các ký tự hợp lệ cho tên miền.
Description
Phần mô tả không bắt buộc.
Bạn có thể dùng nó để ghi chú mục đích của instance, chẳng hạn:
Backend cho ứng dụng quản lý công việc
PocketBase Version
Chọn phiên bản PocketBase mà project sẽ sử dụng.
Thông thường, bạn nên chọn phiên bản mới nhất được nền tảng hỗ trợ, trừ khi ứng dụng hoặc JavaScript Hooks của bạn phụ thuộc vào một phiên bản cụ thể.
Không nên dựa vào số phiên bản trong các bài hướng dẫn cũ vì PocketBase được cập nhật khá thường xuyên.
Admin Credentials
Nhập email và mật khẩu cho tài khoản quản trị PocketBase.
Đây là tài khoản dùng để đăng nhập vào PocketBase Admin Dashboard tại đường dẫn /_/.
Bạn nên:
- Sử dụng mật khẩu mạnh
- Không dùng lại mật khẩu của tài khoản khác
- Lưu mật khẩu vào password manager
- Sao chép mật khẩu trước khi nhấn Create
Không nên sử dụng tài khoản quản trị này trực tiếp trong frontend hoặc đưa thông tin đăng nhập vào source code.
Location
Nếu gói hiện tại hỗ trợ lựa chọn region, hãy chọn khu vực gần phần lớn người dùng của bạn nhất.
Ví dụ, nếu người dùng chủ yếu ở Việt Nam hoặc Đông Nam Á, bạn có thể chọn Singapore.
Khoảng cách địa lý ngắn hơn thường giúp giảm network latency giữa frontend và PocketBase API.
Sau khi hoàn tất, nhấn Create.
Bước 3: Chờ hệ thống khởi tạo instance
Sau khi tạo, PocketBase Cloud sẽ bắt đầu triển khai instance.
Trong quá trình này, hệ thống có thể thực hiện các công việc như:
- Chọn máy chủ phù hợp
- Khởi chạy PocketBase process
- Tạo thư mục dữ liệu riêng
- Gán địa chỉ truy cập cho instance
- Cấu hình DNS
- Cấp chứng chỉ HTTPS
- Kết nối instance với hệ thống quản lý
Đối với PocketBase instance thông thường, quá trình triển khai thường diễn ra khá nhanh.
Sau khi hoàn tất, backend của bạn sẽ có địa chỉ:
https://<instance-name>.pocketbasecloud.com
Lưu ý rằng thời gian “khoảng 30 giây” được PocketBase Cloud dùng để mô tả việc bắt đầu với nền tảng và tạo instance thông thường.
Riêng dedicated compute của gói Pro có thể mất tối đa 48 giờ để được chuẩn bị.
Bước 4: Đăng nhập PocketBase Admin Dashboard
PocketBase Admin Dashboard vẫn sử dụng đường dẫn quen thuộc:
https://<instance-name>.pocketbasecloud.com/_/
Đăng nhập bằng email và mật khẩu quản trị đã tạo trước đó.
Đây là giao diện PocketBase tiêu chuẩn, vì vậy bạn vẫn có thể sử dụng các chức năng quen thuộc như:
- Tạo và chỉnh sửa collection
- Quản lý record
- Quản lý user
- Thiết lập API Rules
- Cấu hình authentication
- Quản lý file
- Xem logs
- Thiết lập email
- Quản lý backup
- Sử dụng realtime subscription
PocketBase Cloud chủ yếu xử lý phần hạ tầng. Cách sử dụng PocketBase bên trong gần như không thay đổi so với khi bạn tự host.
Bước 5: Tạo collection đầu tiên
Để kiểm tra instance, tôi tạo một collection có tên:
todos
Bạn có thể thêm một số field cơ bản:
title: kiểu Textcompleted: kiểu Boolean
Sau đó, thêm một vài record thử nghiệm.
Trước khi gọi collection từ frontend, hãy kiểm tra API Rules.
Nếu List Rule và View Rule đang ở trạng thái chỉ dành cho superuser, request từ người dùng chưa đăng nhập sẽ không thể đọc dữ liệu.
Đối với project thử nghiệm, bạn có thể mở quyền đọc công khai. Tuy nhiên, với ứng dụng thật, hãy cấu hình API Rules dựa trên quyền sở hữu và trạng thái đăng nhập thay vì để toàn bộ dữ liệu công khai.
Bước 6: Kết nối bằng PocketBase JavaScript SDK
Cài PocketBase SDK:
npm install pocketbase
Sau đó tạo client:
import PocketBase from 'pocketbase';
const pb = new PocketBase(
'https://my-pocketbase.pocketbasecloud.com'
);
Lấy danh sách record từ collection todos:
const todos = await pb.collection('todos').getFullList({
sort: '-created',
});
console.log(todos);
Sử dụng realtime subscription
PocketBase hỗ trợ realtime subscription thông qua SDK.
Ví dụ:
await pb.collection('todos').subscribe('*', (event) => {
console.log(event.action);
console.log(event.record);
});
Callback sẽ được gọi khi record trong collection được tạo, cập nhật hoặc xóa, tùy theo quyền truy cập của người dùng hiện tại.
Bạn có thể hủy subscription bằng:
pb.collection('todos').unsubscribe('*');
Không nên quên hủy subscription khi component bị unmount, đặc biệt trong React, Vue hoặc các ứng dụng SPA.
Ví dụ với React:
import { useEffect } from 'react';
import PocketBase from 'pocketbase';
const pb = new PocketBase(
'https://my-pocketbase.pocketbasecloud.com'
);
function TodoRealtime() {
useEffect(() => {
pb.collection('todos').subscribe('*', (event) => {
console.log(event.action, event.record);
});
return () => {
pb.collection('todos').unsubscribe('*');
};
}, []);
return null;
}
Một số điều cần lưu ý
Gói Free có giới hạn 50 MB
Dung lượng này bao gồm dữ liệu và file được lưu trong PocketBase instance.
Nếu ứng dụng có upload ảnh hoặc tài liệu, 50 MB có thể được sử dụng hết khá nhanh.
Bạn nên:
- Giới hạn kích thước file upload
- Nén ảnh trước khi lưu
- Tạo thumbnail phù hợp
- Theo dõi dung lượng thường xuyên
- Nâng cấp lên Starter khi project bắt đầu có người dùng thật
Gói Free có thể bị xóa khi không hoạt động
Instance Free có chính sách tự động xóa sau 30 ngày không hoạt động.
Không nên xem Free là nơi lưu trữ duy nhất cho dữ liệu quan trọng mà không có backup riêng.
DDoS protection không có trên Free
Theo bảng so sánh hiện tại, Free có chứng chỉ SSL nhưng không bao gồm DDoS protection.
Tính năng DDoS protection có trên Starter và Pro.
Kết luận
Sau khi trải nghiệm PocketBase Cloud, tôi nhận thấy nền tảng này giúp quá trình đưa PocketBase lên Internet đơn giản hơn đáng kể.
Thay vì phải tự thiết lập VPS, reverse proxy, DNS và SSL, tôi có thể tạo instance từ dashboard rồi tập trung vào collection, API Rules và logic của ứng dụng.
Gói Free phù hợp để:
- Học PocketBase
- Xây dựng prototype
- Làm landing page có backend
- Thử nghiệm realtime
- Chạy một side project nhỏ
Gói Starter phù hợp hơn khi bạn cần:
- 3 GB storage
- Custom domain
- DDoS protection
- Lựa chọn region
- Hỗ trợ qua email hoặc Discord
- Không bị xóa sau 30 ngày không hoạt động
Gói Pro phù hợp khi bạn cần:
- Dedicated compute riêng
- Nhiều PocketBase instance
- Backend Node.js, Next.js, Deno hoặc Bun
- Nhiều frontend deployment
- Monitoring
- Priority support
- Chi phí cố định thay vì trả theo từng deployment
Bạn có thể bắt đầu tại PocketBase Cloud và xem bảng giá mới nhất tại trang Pricing.
Giá và chương trình giảm giá có thể thay đổi theo thời gian, vì vậy hãy kiểm tra lại trang Pricing trước khi đăng ký.
Hy vọng bài viết này giúp bạn triển khai PocketBase instance đầu tiên nhanh hơn.
Chúc bạn xây dựng được nhiều sản phẩm thú vị với PocketBaseCloud! 🚀
All Rights Reserved