Tại sao mình từ bỏ Portainer để đến với Dockge?
Nếu bạn dùng Docker, Portainer thường là cái tên đầu tiên xuất hiện trong đầu. Nó cực kỳ mạnh mẽ khi hỗ trợ từ Standalone đến Swarm hay Kubernetes. Tuy nhiên, chính sự đa năng này lại là gánh nặng. Đối với những anh em chỉ cần chạy vài stack Compose trên con VPS 1GB RAM, Portainer đôi khi quá cồng kềnh.
Trên cụm server nhỏ mình quản lý (khoảng 12 stacks), Portainer thường ngốn từ 150MB đến 200MB RAM. Tệ hơn, thi thoảng mình gặp lỗi lệch đồng bộ giữa file docker-compose.yml dưới ổ đĩa và cấu hình trên giao diện. Đó là lý do mình chuyển sang Dockge. Đây là một sản phẩm của Louis Lam, tác giả đứng sau công cụ Uptime Kuma đình đám.
Dockge không tham làm tất cả. Nó chỉ tập trung vào một thứ duy nhất: Quản lý Docker Compose. Giao diện của nó cực mượt, phản hồi tức thì và đặc biệt là cực kỳ tôn trọng cấu trúc file của người dùng.
Triết lý “File-system first” của Dockge
Khác với Portainer lưu cấu hình vào database riêng, Dockge hoạt động dựa trên triết lý file hệ thống. Mọi thao tác trên UI sẽ ghi trực tiếp xuống file .yaml trên ổ cứng. Cách làm này minh bạch và an toàn hơn nhiều.
Dockge khác gì Portainer?
- Quản lý File: Mỗi stack nằm trong một thư mục riêng. Bạn dùng Terminal sửa file, Dockge tự nhận diện ngay lập tức.
- Tốc độ: Nhờ công nghệ hiện đại, việc chuyển trang hay load log gần như không có độ trễ.
- Terminal tích hợp: Trải nghiệm tương tác với container ngay trên trình duyệt rất thật, không bị lag.
Khi chuyển sang Dockge trên VPS 1GB RAM, mình tiết kiệm được khoảng 120MB RAM so với Portainer. Con số này đủ để mình chạy thêm một instance WordPress hoặc một bot Telegram nhỏ.
Cài đặt Dockge trong 5 phút
Bạn chỉ cần có sẵn Docker và Docker Compose. Nếu chưa cài, hãy xem lại bài hướng dẫn cơ bản của mình nhé.
Bước 1: Tạo cấu trúc thư mục
Mình luôn tạo thư mục riêng để gom các stacks lại một chỗ. Việc này giúp backup hay di chuyển server sau này cực kỳ nhàn.
mkdir -p /opt/stacks /opt/dockge
cd /opt/dockge
Bước 2: Tạo file compose cho Dockge
Dùng lệnh nano compose.yaml và dán nội dung này vào:
version: "3.8"
services:
dockge:
image: louislam/dockge:1
restart: always
ports:
- 5001:5001
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./data:/app/data
- /opt/stacks:/opt/stacks
environment:
- DOCKGE_STACKS_DIR=/opt/stacks
Lưu ý: Biến DOCKGE_STACKS_DIR là linh hồn của hệ thống. Nó báo cho Dockge biết nơi bạn cất giữ các dự án. Đừng quên mount volume tương ứng để tránh mất dữ liệu khi nâng cấp container.
Bước 3: Kích hoạt
Chạy lệnh quen thuộc:
docker compose up -d
Giờ bạn chỉ cần truy cập http://IP-cua-ban:5001. Hãy tạo tài khoản admin để bắt đầu vọc vạch.
Quản lý Stack chuyên nghiệp hơn
Giao diện Dockge rất dễ làm quen. Để cài thêm service mới (như Nginx), bạn chỉ cần nhấn “Compose” ở góc trái.
Trình soạn thảo YAML “hai mặt”
Tính năng mình thích nhất là khả năng render song song. Khi bạn gõ YAML bên trái, Dockge tự tạo các ô nhập liệu (Image, Ports, Volumes) bên phải. Bạn sửa bên nào cũng được, bên kia sẽ tự đồng bộ. Nó giúp tránh những lỗi sai ngớ ngẩn về thụt lề trong YAML.
Thử deploy một con Nginx đơn giản:
services:
my-web:
image: nginx:latest
ports:
- 8080:80
restart: always
Nhấn Deploy, một cửa sổ console sẽ hiện ra bên dưới. Bạn sẽ thấy trực tiếp quá trình docker pull diễn ra. Không còn phải ngồi đoán xem hệ thống có đang treo hay không như trên Portainer.
Cập nhật Container chỉ với 1 click
Việc update image mới trên Dockge rất sướng. Bạn chỉ cần nhấn nút Update. Dockge sẽ tự Pull image mới, hạ stack cũ và dựng stack mới lên. Mọi thứ diễn ra trong vài giây.
Kinh nghiệm thực tế từ mình
Sau 6 tháng sử dụng Dockge cho các dự án cá nhân và staging, đây là vài mẹo nhỏ cho bạn:
1. Tổ chức folder khoa học
Dockge tạo mỗi stack một folder trong /opt/stacks. Trong đó, hãy tạo thêm folder data và config riêng. Khi cần dọn nhà sang server mới, bạn chỉ cần nén đúng folder /opt/stacks là xong 100% công việc.
/opt/stacks/
├── nginx-proxy/
│ ├── compose.yaml
│ └── data/
└── uptime-kuma/
└── compose.yaml
2. Combo Dockge + Nginx Proxy Manager (NPM)
Dockge không có sẵn tính năng quản lý Domain/SSL. Cách tối ưu nhất là dùng Dockge để quản lý một stack NPM. Sau đó, NPM sẽ đứng trước để cấp SSL Let’s Encrypt cho mọi service khác. Đây là bộ đôi hủy diệt cho anh em chơi Homelab.
3. Vấn đề bảo mật
Dù Dockge có lớp đăng nhập, bạn vẫn không nên public cổng 5001 trực tiếp ra internet. Hãy đặt nó sau một lớp Basic Auth hoặc sử dụng Cloudflare Zero Trust. Đừng bao giờ để lộ cửa ngõ quản trị Docker của bạn cho hacker.
Lời kết
Dockge thực sự là một cuộc cách mạng nhỏ cho những ai yêu thích sự tối giản. Nó có thể thiếu các tính năng phân quyền (RBAC) phức tạp cho doanh nghiệp lớn, nhưng với cá nhân hay VPS nhỏ, nó là số 1. Tốc độ nhanh, nhẹ và minh bạch là những gì bạn nhận được.
Nếu bạn đang cảm thấy Portainer quá nặng nề, hãy thử Dockge ngay hôm nay. Tin mình đi, bạn sẽ không muốn quay lại đâu. Chúc anh em tối ưu server thành công!

