DB29 APP là ứng dụng cài đặt các ứng dụng mã nguồn mở khác, để self-hosted bạn cần:
- Cơ sở dữ liệu: cockroachdb
- Mã nguồn db29-app
- DNS provider: cloudflare.com
Trong quá trình cài đặt nếu có chỗ nào chưa thông, bạn có thể lên forum đặt câu hỏi, mình sẽ bổ sung lại hướng dẫn cho đầy đủ (tutorial này dành cho linux).
Bước 1: tải cơ sở dữ liệu về và tự host cơ sở dữ liệu
Tải cockroachdb https://www.cockroachlabs.com/docs/releases/, và đặt trong thư mục /opt:
cd /opt &&
mkdir -p cockroachdb/cockroach-data &&
cd cockroachdb &&
wget https://binaries.cockroachdb.com/cockroach-v24.3.3.linux-amd64.tgz &&
tar -xvf cockroach-v24.3.3.linux-amd64.tgz
Tạo một file systemd với nội dung như sau để máy tính có thể tự khởi động cơ sở dữ liệu khi máy tự bật:
[Unit]
Description=crdb single node
Requires=network.target
[Service]
Type=notify
WorkingDirectory=/opt/cockroachdb/
ExecStart=/opt/cockroachdb/cockroach-v24.3.3.linux-amd64/cockroach start-single-node --insecure --http-addr=127.0.0.1:8888
TimeoutStopSec=300
Restart=always
RestartSec=10
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=cockroach
User=root
[Install]
WantedBy=default.target
Đặt file này vào trong /etc/systemd/system/cockroachdb.service
Sau đó khởi động cơ sở dữ liệu lên bằng lệnh:
systemctl enable --now cockroachdb
Kết nối vào cơ sở dữ liệu và tạo một cơ sở dữ liệu tên db29_app
:
/opt/cockroachdb/cockroach-v24.2.4.linux-amd64/cockroach sql --insecure
root@localhost:26257/defaultdb> create database db29_app;
Chạy 2 commands sau nếu bạn không cần giao diện admin cho cơ sở dữ liệu (giảm disk IO):
root@localhost:26257/defaultdb>
SET CLUSTER SETTING timeseries.storage.resolution_10s.ttl ='0s';
root@localhost:26257/defaultdb>
SET CLUSTER SETTING timeseries.storage.resolution_30m.ttl ='0s';
Như vậy là đã xong phần cơ sở dữ liệu, bây giờ sẽ chuyển sang phần ứng dụng db29-app
Bước 2: Tải ứng dụng db29-app và điền thông số .env
Dùng git để tải ứng dụng về:
cd /opt &&
git clone https://github.com/db29-oss/db29-app.git
Cài đặt các thông số cần thiết ở file /opt/db29-app/.env
cd /opt/db29-app && cp .env.example .env
Thay đổi các thông số .env cần cài đặt, vì các thông số sẽ thay đổi theo thời gian, bạn tự đọc thông số rồi thay đổi cho phù hợp.
Bước 3: Cài đặt ứng dụng
cd /opt/db29-app && composer install && npm install
Copy file từ thư mục systemd
lên hệ thống /etc/systemd/system/
và chỉnh sửa lại thông số cho phù hợp.
Bước 4: Khởi chạy ứng dụng
Dùng command sau để khởi chạy ứng dụng:
systemctl enable --now db29-app
systemctl enable --now db29-q@1
systemctl enable --now db29-sched
Như vậy là xong, bạn có thể truy cập localhost:8000 để truy cập ứng dụng.