Ontrack là một phần mềm lập ngân sách tự host đơn giản nhưng mạnh mẽ dành cho Linux. Nó hoạt động bằng cách tạo ra một giao diện đẹp mắt, nơi bạn có thể liệt kê ngân sách, xem xét tài chính và thậm chí theo dõi lịch sử chi tiêu của mình. Bài viết này hướng dẫn bạn cách cài đặt Ontrack trên Ubuntu Linux 22.04 bằng Docker Compose và Caddy.
Lấy các dependency cho Ontrack
Bước đầu tiên trong việc cài đặt phần mềm lập ngân sách Ontrack trên Linux là tải Docker và Caddy. Docker sẽ chạy toàn bộ ứng dụng web trong một container biệt lập, trong khi Caddy sẽ cho phép bạn phát nó lên Internet.
Để bắt đầu, hãy tìm signing key cho kho Docker từ trang web của nhà phát triển:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg<br>sudo chmod a+r /etc/apt/keyrings/docker.gpg
Tạo file kho lưu trữ apt mới cho Docker:
sudo nano /etc/apt/sources.list.d/docker.list
Viết dòng code sau vào file kho lưu trữ của bạn:
deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu jammy stable
Tải xuống signing key cho kho dự án Caddy:
curl -fsSL 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
Tìm nạp file kho lưu trữ của dự án Caddy bằng cách chạy lệnh sau:
curl -fsSL 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy.list
Áp dụng kho lưu trữ mới của bạn và đảm bảo rằng hệ thống của bạn được cập nhật hoàn toàn:
sudo apt update && sudo apt upgrade
Cài đặt Docker, Docker Compose và Caddy bằng apt:
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin caddy git
Tải Docker container Ontrack
Tìm nạp kho lưu trữ Ontrack hiện tại cho Linux từ trang Github của nhà phát triển:
git clone https://github.com/inoda/ontrack.git && cd ./ontrack
Chạy lệnh sau 2 lần để tạo hai chuỗi văn bản dài ngẫu nhiên:
cat /dev/urandom | tr -dc 'A-Za-z0-9' | fold -w 32 | head -n 1 >> ~/random-pass.txt
Mở file “docker-compose.yml” của Ontrack bằng trình soạn thảo văn bản yêu thích của bạn:
nano ./docker-compose.yml
Cuộn đến biến “SECRET_KEY_BASE” và thay đổi giá trị từ “super-secret” thành chuỗi ngẫu nhiên đầu tiên của bạn.
Thay thế chuỗi “secret” trên biến “DATABASE_URL” bằng chuỗi ngẫu nhiên thứ hai của bạn.
Cuộn xuống biến “POSTGRES_PASSWORD” và thay thế giá trị “secret” bằng chuỗi ngẫu nhiên thứ hai của bạn.
Cập nhật và xây dựng container Ontrack
Mở Dockerfile cho Ontrack bằng trình soạn thảo văn bản yêu thích của bạn:
nano ./Dockerfile
Thay thế giá trị của biến FROM bằng giá trị sau:
FROM ruby:3.1.2-alpine
Lưu Dockerfile đã sửa đổi của bạn, sau đó mở file “pack.json”:
nano ./package.json
Tìm dòng bắt đầu bằng @babel/preset-env, sau đó chèn đoạn code sau vào bên dưới dòng đó:
"babel-plugin-macros": "^3.0.1",
Cuộn xuống danh mục “devDependency”, sau đó thêm phần sau vào dòng @babel/eslint-parser:
"@babel/plugin-proposal-object-rest-spread": "^7.15.4",
Mở file cấu hình phiên bản của bạn bằng trình soạn thảo văn bản yêu thích:
nano ~/ontrack/config/environments/development.rb
Thêm dòng code sau ngay bên dưới Rails.application.configure:
config.hosts = [
"SUBDOMAIN.YOUR-ROOT.DOMAIN"
]
Lưu file cấu hình phiên bản của bạn, sau đó chạy lệnh sau để xây dựng cả cơ sở dữ liệu Ontrack và Postgres của nó:
sudo docker compose up --detach
Lưu ý: Quá trình xây dựng container Ontrack Docker có thể mất từ 5 đến 10 phút tùy thuộc vào tài nguyên máy chủ của bạn. Nếu máy của bạn có RAM dưới 2GB và không có file hoán đổi, Docker sẽ bị lỗi mà không báo cáo bất kỳ lỗi nào trên Terminal.
Xác nhận rằng các container Ontrack đang chạy đúng cách bằng cách liệt kê tất cả các tiến trình Docker đang hoạt động:
sudo docker ps
Tạo SSL Reverse Proxy với Caddy
Tại thời điểm này, bạn có phần mềm lập ngân sách Ontrack đang chạy trên cổng 3000 của máy. Để truy cập phần mềm này một cách an toàn, bạn cần tạo SSL Reverse Proxy mã hóa kết nối giữa bạn và máy chủ của bạn.
Đi tới trình quản lý DNS của domain, sau đó thêm bản ghi “A” mới cho phiên bản Ontrack của bạn.
Sao lưu Caddyfile gốc, sau đó tạo Caddyfile mới trong “/etc/caddy/”:
sudo mv /etc/caddy/Caddyfile ~/Caddyfile.backup
sudo nano /etc/caddy/Caddyfile
Dán block code sau vào Caddyfile mới của bạn:
SUBDOMAIN.YOUR-ROOT.DOMAIN {
reverse_proxy :3000
}
Lưu Caddyfile mới của bạn, sau đó khởi động daemon Caddy để chạy reverse proxy mới của bạn:
sudo systemctl enable --now caddy.service
Kiểm tra xem SSL Reverse Proxy của bạn có hoạt động hay không bằng cách điều hướng đến URL của bạn.
Sử dụng Ontrack và tạo tài khoản người dùng
Khi Ontrack được thiết lập và chạy, giờ đây bạn có thể tạo tài khoản người dùng của mình. Để thực hiện việc này, hãy quay lại cửa sổ terminal của máy chủ, sau đó mở shell cho container Ontrack:
sudo docker exec -it ontrack sh
Mở trình xử lý cơ sở dữ liệu bên trong container Ontrack của bạn:
bundle exec rails c
Tạo tài khoản người dùng mới của bạn bằng cách chạy lệnh sau:
User.create!(username: "YOUR-USERNAME", password: "YOUR-SECURE-PASSWORD")
Gõ “exit”, sau đó nhấn Enter để thoát khỏi trình xử lý cơ sở dữ liệu.
Nhấn Ctrl + D để rời khỏi root shell của container Docker.
Kiểm tra tài khoản mới của bạn bằng cách mở Ontrack trên trình duyệt web và đăng nhập vào tài khoản của bạn.
Tạo giao dịch đầu tiên của bạn trên Ontrack
Để sử dụng Ontrack để ghi lại các giao dịch, bạn cần tạo một danh mục chi phí. Điều này cho phép ứng dụng web đối chiếu chi phí của bạn theo nhóm, giúp dễ dàng suy ra thông tin chi tiết về thói quen chi tiêu của bạn.
Cuộn xuống bảng điều khiển Ontrack, sau đó nhấp vào Add a category.
Cung cấp tên danh mục, màu thẻ và liệu danh mục đó có giới hạn chi tiêu hay không.
Nhấp vào Add an expense trên Ontrack Dashboard.
Điền thông tin chi tiết về chi phí của bạn, sau đó nhấp vào Save để chuyển nó vào phiên bản Ontrack của bạn.
Cuối cùng, xác nhận rằng Ontrack đã lưu giao dịch thành công bằng cách kiểm tra lịch sử chi phí của bạn. Để làm điều đó, hãy cuộn trang lên, sau đó nhấp vào liên kết History ở góc trên bên phải của trang.
Cài đặt và triển khai phần mềm theo dõi chi phí của riêng bạn chỉ là bước đầu tiên để lấy lại quyền kiểm soát cuộc sống trực tuyến và kỹ thuật số của bạn. Tìm hiểu cách bạn có thể đảm bảo quyền riêng tư của mình khi gửi email bằng cách cài đặt alias server như SimpleLogin.