Tropic Host

Actual Budget trên VPS: cài đặt và thiết lập công cụ quản lý ngân sách cá nhân

11 phút đọc
Tropic
Actual Budget trên VPS: cài đặt và thiết lập công cụ quản lý ngân sách cá nhân

Actual Budget: trình quản lý ngân sách cá nhân của riêng bạn trên VPS

Ứng dụng ngân hàng cho biết tiền của bạn đã được chi vào đâu. Actual Budget trả lời một câu hỏi khác: trong số dư hiện có, bạn thực sự có thể chi bao nhiêu khi một phần tiền đã được dành cho tiền thuê nhà, thực phẩm, kỳ nghỉ và các khoản phát sinh bất ngờ?

Actual Budget là một trình quản lý tài chính cá nhân miễn phí và mã nguồn mở. Ứng dụng hoạt động cục bộ, đồng bộ hóa thông qua máy chủ riêng của bạn và hỗ trợ mã hóa đầu cuối. Hướng dẫn này trình bày các tính năng, giới hạn và cách cài đặt Actual Budget trên VPS.

Actual Budget trong bảy bước

  1. Tạo một VPS Linux và trỏ tên miền phụ vào đó, chẳng hạn như budget.example.com.
  2. Cài đặt Docker và Docker Compose.
  3. Chạy container chính thức với thư mục dữ liệu bền vững.
  4. Bật HTTPS thông qua Caddy.
  5. Đặt mật khẩu máy chủ và tạo một ngân sách.
  6. Thêm tài khoản, danh mục, quy tắc và các khoản thanh toán định kỳ.
  7. Bật mã hóa và cấu hình bản sao lưu bên ngoài.

Actual Budget là gì?

Actual Budget là một ứng dụng tự lưu trữ để quản lý ngân sách cá nhân hoặc ngân sách gia đình. Ứng dụng thường được xem là một lựa chọn mã nguồn mở thay thế cho YNAB, nhưng bạn cũng có thể bắt đầu với một ngân sách hoàn toàn mới.

Dịch vụ sử dụng phương pháp lập ngân sách theo phong bì ảo. Giả sử các tài khoản của bạn có tổng cộng 100.000 rúp. Trong số đó, 40.000 rúp cần dành cho nhà ở, 20.000 rúp cho thực phẩm, 10.000 rúp cho các tiện ích và 15.000 rúp cho quỹ khẩn cấp. Sau khi phân bổ tiền, bạn chỉ còn 15.000 rúp cho các khoản mua sắm tùy ý — chứ không phải toàn bộ 100.000 rúp.

Cách tiếp cận này làm thay đổi vai trò của ứng dụng. Trình theo dõi chi tiêu thông thường giải thích những khoản đã chi trong quá khứ, còn Actual Budget giúp bạn đưa ra quyết định trước khi mua hàng. Tiền chưa sử dụng trong một danh mục sẽ được chuyển sang kỳ sau; khi chi vượt ngân sách, bạn có thể chuyển tiền từ một phong bì khác.

Một điểm khác biệt nữa là kiến trúc ưu tiên cục bộ (local-first). Ngân sách được lưu trên các thiết bị đã kết nối và vẫn có thể sử dụng khi không có internet. Khi có kết nối trở lại, các thay đổi sẽ được đồng bộ thông qua máy chủ. VPS chủ yếu được dùng để trao đổi dữ liệu giữa máy tính, điện thoại và trình duyệt, chứ không phải để xử lý mọi thao tác.

Các tính năng chính của Actual Budget

  • Lập ngân sách theo phong bì. Bạn chỉ phân bổ số tiền đã thực sự nhận được.
  • Tài khoản và giao dịch. Ứng dụng hỗ trợ chuyển khoản, chia một giao dịch mua thành nhiều danh mục, ghi chú và đối soát số dư.
  • Quy tắc và lịch biểu. Bạn có thể chuẩn hóa mô tả giao dịch ngân hàng, gán danh mục và lên kế hoạch trước cho lương, tiền thuê nhà hoặc các gói đăng ký.
  • Nhập dữ liệu. Ứng dụng hỗ trợ CSV, QIF, OFX, QFX và CAMT. Các định dạng có mã định danh giao dịch giúp bảo vệ tốt hơn trước việc nhập trùng.
  • Báo cáo. Có các báo cáo về dòng tiền, giá trị tài sản ròng, chi tiêu và biểu đồ có thể tùy chỉnh.
  • Di chuyển dữ liệu và API. Ứng dụng có thể nhập dữ liệu từ YNAB4 và phiên bản YNAB hiện tại, đồng thời cung cấp API để tích hợp tùy chỉnh.

Trên điện thoại, Actual Budget được cài đặt dưới dạng PWA — một ứng dụng web được thêm vào màn hình chính. Bạn nên kiểm tra trước giao diện di động để chắc chắn rằng nó phù hợp với nhu cầu của mình.

Tiêu chíDịch vụ đám mâyActual Budget
Lưu trữTại nhà cung cấpTrên thiết bị và máy chủ riêng của bạn
Sử dụng ngoại tuyếnPhụ thuộc vào dịch vụCác tính năng cốt lõi có thể dùng cục bộ
Bảo trìDo nhà cung cấp đảm nhiệmDo chủ sở hữu đảm nhiệm
Chi phí phần mềmGói đăng ký hoặc gói miễn phíKhông bắt buộc đăng ký
Quyền kiểm soát dữ liệuTheo chính sách của nhà cung cấpDo chủ sở hữu máy chủ kiểm soát

Actual Budget phù hợp với những người coi trọng quyền riêng tư và khả năng kiểm soát. Dịch vụ đám mây sẽ tiện hơn nếu bạn không muốn tự bảo trì máy chủ.

Yêu cầu máy chủ cho Actual Budget

Dự án không công bố yêu cầu tối thiểu nghiêm ngặt về CPU và RAM. Máy chủ chủ yếu đồng bộ một lượng nhỏ dữ liệu tài chính, vì vậy cấu hình khởi điểm hợp lý cho một người hoặc một gia đình là:

  • 1 vCPU;
  • 1 GB RAM;
  • 10 GB SSD;
  • Ubuntu 24.04 LTS;
  • một tên miền hoặc tên miền phụ;
  • bộ nhớ ngoài để lưu bản sao lưu.

Đây là khuyến nghị thực tế, không phải mức tối thiểu chính thức. Nếu dự định chạy thêm các container khác, bạn nên cấp 2 GB RAM.

Cách cài đặt Actual Budget trên VPS

Ví dụ này sử dụng Ubuntu 24.04 và tên miền phụ budget.example.com.

1. Chuẩn bị máy chủ

Tạo bản ghi DNS A trỏ đến địa chỉ IP của VPS, kết nối qua SSH và chỉ mở các cổng cần thiết:

ssh root@SERVER_IP

apt update && apt upgrade -y
apt install -y ca-certificates curl ufw

ufw allow OpenSSH
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable

2. Cài đặt Docker

Thêm kho Docker chính thức:

install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg \
  -o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc

cat > /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF

apt update
apt install -y docker-ce docker-ce-cli containerd.io \
  docker-buildx-plugin docker-compose-plugin

3. Khởi động Actual Budget

mkdir -p /opt/actual-budget/data
cd /opt/actual-budget

cat > compose.yml <<'EOF'
services:
  actual:
    image: actualbudget/actual-server:latest
    restart: unless-stopped
    ports:
      - "127.0.0.1:5006:5006"
    volumes:
      - ./data:/data
EOF

docker compose up -d
docker compose ps

Việc liên kết dịch vụ với 127.0.0.1 ngăn không cho cổng 5006 bị mở trực tiếp ra internet. Ngân sách được lưu tại /opt/actual-budget/data và không bị xóa khi container được cập nhật.

4. Bật HTTPS

apt install -y caddy

cat > /etc/caddy/Caddyfile <<'EOF'
budget.example.com {
    reverse_proxy 127.0.0.1:5006
}
EOF

caddy validate --config /etc/caddy/Caddyfile
systemctl reload caddy

Khi DNS trỏ đến VPS và các cổng 80, 443 có thể truy cập được, Caddy sẽ tự động lấy chứng chỉ TLS. Mở https://budget.example.com và đặt một mật khẩu máy chủ dài.

Cách cấu hình ngân sách đầu tiên

Bạn không nhất thiết phải bắt đầu bằng cách nhập dữ liệu lịch sử của nhiều năm. Sẽ nhanh hơn nếu thêm các tài khoản đang sử dụng, nhập số dư hiện tại và tạo danh mục cho các khoản thiết yếu, chi tiêu hằng ngày, tiền tiết kiệm và các chi phí không thường xuyên.

Chỉ phân bổ số tiền đã có sẵn cho đến khi số tiền “To Budget” bằng 0. Sau đó nhập các giao dịch gần đây, kiểm tra số dư và tạo quy tắc cho những cửa hàng, gói đăng ký và giao dịch chuyển tiền thường dùng.

Danh mục nên giúp bạn đưa ra quyết định. Các phong bì riêng cho “y tế”, “sửa chữa thiết bị” và “gói đăng ký hằng năm” hữu ích hơn một danh mục “linh tinh” chung chung.

Những điều cần biết về đồng bộ hóa ngân hàng

Kết nối ngân hàng không khả dụng ở mọi quốc gia và phụ thuộc vào nhà cung cấp API được hỗ trợ. Các kết nối này yêu cầu máy chủ riêng của bạn cùng thông tin xác thực bổ sung. Actual Budget không tự động hóa hoàn toàn việc đồng bộ: người dùng khởi chạy quá trình này từ giao diện.

Token kết nối ngân hàng được lưu riêng trên máy chủ và không nằm trong phạm vi mã hóa đầu cuối của ngân sách. Nếu một ngân hàng cụ thể không được hỗ trợ, bạn có thể nhập giao dịch từ sao kê. OFX và QFX thường thuận tiện hơn CSV vì chúng chứa mã định danh giao dịch.

Mã hóa, bản sao lưu và cập nhật

Mã hóa đầu cuối được bật riêng cho từng ngân sách. Hãy lưu mật khẩu trong trình quản lý mật khẩu vì máy chủ không thể khôi phục mật khẩu đó. Actual Budget không tự mã hóa bản sao cục bộ, vì vậy điện thoại và máy tính nên được bảo vệ bằng mã khóa và mã hóa ổ đĩa.

Đồng bộ hóa không thay thế cho bản sao lưu. Hãy thường xuyên xuất ngân sách từ phần cài đặt và sao chép thư mục dữ liệu sang một vị trí khác:

cd /opt/actual-budget
docker compose stop
tar -czf /root/actual-budget-$(date +%F).tar.gz data
docker compose start

Di chuyển tệp lưu trữ ra ngoài VPS. Trước khi cập nhật, hãy tạo thêm một bản sao rồi chạy:

cd /opt/actual-budget
docker compose pull
docker compose up -d

Để sử dụng ổn định, hãy chọn tag latest thay vì tag thử nghiệm nightly.

Nên chọn VPS nào cho Actual Budget?

Một hệ thống cá nhân không cần máy chủ mạnh. Một VPS Linux cơ bản của tropic.host là đủ để chạy Actual Budget, Caddy và tên miền phụ có HTTPS. Bắt đầu với 1 GB RAM là hợp lý; chỉ tăng tài nguyên khi bạn thêm các dịch vụ tự lưu trữ khác.

Không mở trực tiếp cổng 5006, hãy cài đặt các bản cập nhật và luôn giữ ít nhất một bản sao lưu bên ngoài VPS chính. Mức độ an toàn của dịch vụ tự lưu trữ phụ thuộc vào cách chủ sở hữu cấu hình dịch vụ đó.

Giới hạn của Actual Budget

Actual Budget yêu cầu người dùng tự bảo trì. Khả năng đồng bộ ngân hàng bị giới hạn bởi quốc gia và nhà cung cấp, phiên bản di động hoạt động dưới dạng PWA, và nếu mất mật khẩu mã hóa, bạn có thể không truy cập được ngân sách.

Dịch vụ này không phù hợp với tất cả mọi người, nhưng nó giải quyết tốt một nhiệm vụ cụ thể: kết hợp lập ngân sách theo phong bì, tự động hóa và quyền kiểm soát dữ liệu mà không yêu cầu đăng ký trả phí.

Tóm tắt

Actual Budget biến việc theo dõi chi tiêu thành một kế hoạch: mỗi khoản tiền bạn nhận được đều được gán trước một mục đích. Ứng dụng hoạt động cục bộ, đồng bộ thông qua máy chủ riêng và hỗ trợ nhập dữ liệu, quy tắc, báo cáo cũng như mã hóa.

Một VPS nhỏ là đủ để chạy ứng dụng. Sau khi cài đặt, những bước quan trọng nhất là bật HTTPS, lưu mật khẩu mã hóa an toàn và cấu hình bản sao lưu bên ngoài.

FAQ

Actual Budget có miễn phí không?

Có. Ứng dụng là mã nguồn mở và không yêu cầu đăng ký bắt buộc. VPS, tên miền và bộ nhớ lưu bản sao lưu được tính phí riêng.

Tôi có phải cài Actual Budget trên VPS không?

Không. Bạn có thể sử dụng ứng dụng cục bộ trên một máy tính duy nhất. Máy chủ cần thiết khi bạn muốn đồng bộ giữa nhiều thiết bị, kết nối ngân hàng, dùng API và truy cập web liên tục.

Tôi có thể kết nối Actual Budget với ngân hàng của mình không?

Có, nếu ngân hàng và khu vực của bạn được một trong các nhà cung cấp hiện có hỗ trợ. Nếu không, bạn có thể nhập giao dịch từ các tệp CSV, QIF, OFX, QFX hoặc CAMT.

Lưu ngân sách trên máy chủ riêng có an toàn không?

Có, nếu được cấu hình đúng, nhưng chủ sở hữu phải chịu trách nhiệm về bảo mật. Bạn cần HTTPS, mật khẩu dài, mã hóa, cập nhật và bản sao lưu bên ngoài.

Actual Budget cần bao nhiêu RAM?

Không có mức tối thiểu chính thức. Với một hệ thống cá nhân, 1 GB RAM là điểm khởi đầu thực tế; nếu lưu trữ thêm các dịch vụ khác, bạn nên cấp 2 GB.