Hướng dẫn cài đặt và sử dụng Dokploy
Dokploy là một giải pháp triển khai ổn định, dễ sử dụng, được thiết kế để đơn giản hóa quy trình quản lý ứng dụng. Hãy tưởng tượng Dokploy như một lựa chọn thay thế tự lưu trữ miễn phí cho các nền tảng như Heroku, Vercel và Netlify, tận dụng sức mạnh của Docker và tính linh hoạt của Traefik.
Tại sao nên chọn Dokploy?
- Đơn giản: Dễ dàng thiết lập và quản lý việc triển khai.
- Tính linh hoạt: Hỗ trợ nhiều ứng dụng và cơ sở dữ liệu.
- Mã nguồn mở: Phần mềm mã nguồn mở và miễn phí, có sẵn cho mọi người sử dụng.
Hướng dẫn cài đặt Dokploy
Để thiết lập Dokploy cục bộ và triển khai nó trên máy chủ của bạn, hãy làm theo các bước sau:
1/ Chuẩn bị VPS
Sử dụng VPS (như Vultr) – trường hợp của mình sử dụng Raspberry Pi 4.
Hệ điều hành hỗ trợ:
- Ubuntu 20.04 LTS
- Debian 10
Yêu cầu hệ thống:
- RAM: Tối thiểu 2GB
- Dung lượng ổ đĩa: Tối thiểu 30GB
Kết nối vào VPS:
ssh username@your_vps_ip
Thay username và IP của VPS cho đúng.
Thêm swap cho VPS:
Việc thêm swap có thể giúp cải thiện hiệu suất của VPS bằng cách cung cấp thêm bộ nhớ ảo. Hãy làm theo các bước sau để thêm 2GB cho swap:
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
2/ Cài đặt Dokploy
Cài đặt tự động Dokploy bằng lệnh sau:
curl -sSL https://dokploy.com/install.sh | sh
3/ Hoàn tất thiết lập Dokploy
- Truy cập Dokploy theo địa chỉ IP của VPS:
http://your-ip-from-your-vps:3000
. - Tạo tài khoản quản trị viên và điền thông tin cần thiết.
Triển khai ứng dụng
Dokploy cung cấp một số cách để triển khai ứng dụng, đơn giản hóa quy trình cho dù bạn đang sử dụng GitHub, hay bất kỳ nhà cung cấp Git, Docker hay triển khai tự động nào.
- Github
- Git (Bất kỳ nhà cung cấp Git nào)
- Docker
Github
Triển khai qua GitHub rất đơn giản:
- Định cấu hình repository GitHub của bạn trong
/dashboard/settings/server
. - Khi tạo một ứng dụng, Dokploy sẽ tự động tải các repository và branches có sẵn.
Git
Để triển khai từ bất kỳ kho lưu trữ Git nào, công khai hoặc riêng tư, bạn có thể sử dụng SSH hoặc HTTPS:
- Cung cấp URL repository.
- Chỉ định branch bạn muốn triển khai.
Docker
Đối với việc triển khai Docker:
- Chỉ định Docker image. Đối với các repository riêng tư, bạn sẽ cần cung cấp thêm username và password.
Tự động triển khai
Thiết lập triển khai tự động:
- Điều hướng đến deploymentstab và sao chép tệp Webhook URL.
- Trong cài đặt repository Git của bạn, hãy dán URL này vào trường URL Webhook.
- Đảm bảo chọn loại nội dung application/json.
- Chọn các sự kiện sẽ kích hoạt triển khai, chẳng hạn như Push.
- Sau khi được cấu hình, mọi hành động được chỉ định, chẳng hạn như đẩy một cam kết mới, sẽ tự động kích hoạt quá trình triển khai.
Dokploy hỗ trợ webhook từ GitHub, GitLab, Bitbucket, Gitea và DockerHub.
Hướng dẫn đặt lại mật khẩu
Trong trường hợp bạn quyên mật khẩu của tài khoản quản trị thì làm theo các bước sau:
- Đăng nhập vào VPS.
- Lấy ID container của Dokploy:
docker ps
- Chạy lệnh bên dưới để mở shell trong container Dokploy (thay
<container-id>
bằng id xem được ở bước 2)
docker exec -it <container-id> bash -c "pnpm run reset-password"
- Nó sẽ hiển thị một mật khẩu ngẫu nhiên. Sao chép nó và sử dụng nó để truy cập lại vào bảng điều khiển.
Hướng dẫn gỡ cài đặt Dokploy
Hãy làm theo các bước sau để xóa hoàn toàn Dokploy và các thành phần của nó khỏi máy chủ của bạn.
- Xóa các dịch vụ docker Swarm được tạo bởi Dokploy:
docker service rm dokploy dokploy-traefik dokploy-postgres dokploy-redis
- Xóa các khối docker được tạo bởi Dokploy:
docker volume rm -f dokploy-postgres-database redis-data-volume
- Xóa các tệp và thư mục dokploy khỏi máy chủ của bạn:
sudo rm -rf /etc/dokploy
Kết luật
Dokploy cung cấp giải pháp mạnh mẽ và linh hoạt cho các nhà phát triển muốn tự lưu trữ ứng dụng của mình. Bằng cách tận dụng Docker và Traefik, Dokploy đơn giản hóa quy trình triển khai đồng thời cung cấp các tính năng mạnh mẽ để quản lý ứng dụng và cơ sở dữ liệu. Cho dù bạn đang làm việc trên các dự án cá nhân hay quản lý các ứng dụng quy mô lớn, Dokploy đều cung cấp các công cụ bạn cần để hợp lý hóa quy trình triển khai của mình.