0%
Skip to main content
Quay lại Blog

Dockge — quản lý Docker Compose cho homelab (khi Portainer không vừa tay)

· One min read
Vu Nguyen
Java / Backend Engineer

Homelab nhiều stack Docker Compose nhưng GUI kiểu Portainer đôi khi lệch với file compose.yml bạn deploy bằng SSH. Dockge — từ tác giả Uptime Kuma — là lựa chọn gọn: stack lưu thư mục thật, vẫn docker compose trên CLI.

Vì sao tôi quan tâm Dockge (thay vì “mặc định” Portainer)

Nhiều hướng dẫn homelab giới thiệu Portainer — đúng là quen thuộc và đầy tính năng. Trên server cá nhân, tôi thường gặp ba friction:

Vấn đềThực tế khi self-host
Thói quen CLIdocker compose up -d / logs -f nhanh hơn click qua nhiều màn
Compose “ngoài” PortainerStack deploy bằng file trong /opt hoặc /home đôi khi không khớp với cách Portainer quản Stack nội bộ
UI quá rộngTính năng enterprise/cluster không cần cho 1–2 VPS → menu dày, khó tìm thao tác hàng ngày

Gần đây tôi chuyển sang Dockge — phù hợp kiểu vừa GUI vừa CLI, stack nằm trên filesystem bạn chọn. Bài này là ghi chép cài đặt + workflow tôi đang dùng trên homelab.


Dockge là gì?

Dockge là Docker manager qua web, MIT, do louislam (tác giả Uptime Kuma). Điểm tôi dùng hàng ngày:

  • Quản lý compose.yaml / compose.yml: tạo, sửa, deploy, stop, restart, update image, xóa.
  • Editor compose trong UI + stack lưu dưới thư mục cấu hình — vẫn SSH vào chạy docker compose như bình thường.
  • Web terminal (host) và shell vào container (>_).
  • docker run → compose (convert nhanh khi cần).
  • Dockge Agents: gắn nhiều host, quản lý tập trung một UI (hữu ích khi có VPS + máy nhà).

Không phải thay thế kiến thức Docker — chỉ giảm context switch giữa “file trên disk” và “panel quản lý”.


Chuẩn bị

  • Linux (Debian 11+, Ubuntu, CentOS, …) trên VPS hoặc homelab.
  • Docker Engine + Docker Compose v2 (docker compose).
  • Mở port 5001 (mặc định Dockge) hoặc map port khác trong compose.

Cài Dockge (compose chính thức)

Theo README Dockge:

dockge-install.sh
mkdir -p /opt/stacks /opt/dockge
cd /opt/dockge
curl -fsSL https://raw.githubusercontent.com/louislam/dockge/master/compose.yaml -o compose.yaml
docker compose up -d

Truy cập: http://<IP>:5001 — lần đầu tạo tài khoản admin.

Stack bạn tạo trong UI mặc định nằm dưới /opt/stacks (cùng cấu hình volume trong compose.yaml upstream).


Quan trọng: DOCKGE_STACKS_DIR khi đã có stack cũ

Nếu bạn đã có compose trong /home/... (hoặc path khác), sửa compose.yaml của Dockge: volume stack phải là đường dẫn tuyệt đối, trái = phải, và khai báo env:

dockge-compose-stacks-dir.yaml
services:
dockge:
image: louislam/dockge:1
restart: unless-stopped
ports:
- "5001:5001"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./data:/app/data
- /home:/home
environment:
- DOCKGE_STACKS_DIR=/home

Đọc comment trong file upstream — map sai path có thể ghi dữ liệu nhầm chỗ. Pattern phổ biến khi stack đã nằm trong /home là mount /home:/home và set DOCKGE_STACKS_DIR=/home như trên.


Workflow: tạo stack Memos (ví dụ)

  1. + Compose → đặt Stack name (tên thư mục + stack).
  2. Dán nội dung compose.yml (ví dụ Memos self-host).
  3. Deploy → mở app qua link port trên card.

Thanh công cụ stack (tóm tắt):

NútTương đương CLI (ý nghĩa)
EditSửa file compose trên disk
RestartKhởi động lại stack
UpdateKéo image mới
Stopdocker compose stop
Stop & Recreatedocker compose down + deploy lại
DeleteGỡ stack

Song song: SSH vào server, cd thư mục stack, chạy docker compose ps / logscùng một nguồn sự thật.


Console & Agents

  • Console (góc UI): terminal trên host — hữu ích khi không mở SSH riêng.
  • >_ trên container: shell trong container như docker exec.
  • Add Agent: URL + user/pass của Dockge trên máy khác → menu trái gom stack multi-host; tạo stack mới chọn host đích.

Khi nào Dockge, khi nào không?

Hợp: homelab, 1–N VPS, compose-first, muốn UI nhẹ + CLI vẫn hợp lệ.

Cân nhắc tool khác: cần RBAC team lớn, Kubernetes, policy enterprise — Dockge không nhắm tới đó.


Kết

Dockge giúp tôi không chọn một trong hai (GUI hoặc CLI): file compose nằm chỗ tôi backup, panel chỉ điều khiển nhanh. Mọi cập nhật phiên bản nên đối chiếu repo chính thức.

Đọc thêm: Dockge GitHub · Uptime Kuma