Trong những tháng gần đây, làn sóng self-hosting đã trở thành một phần không thể thiếu trong phòng lab cá nhân của tôi. Nhờ sự hỗ trợ từ các đồng nghiệp và cộng đồng tự host, việc triển khai một container Docker để thử nghiệm ứng dụng mới không còn là điều khiến tôi ngần ngại. Tuy nhiên, việc quản lý và duy trì các container Docker yêu thích dần trở nên phức tạp, đó là lý do tôi đã tìm đến Portainer. Mặc dù vậy, tôi cảm thấy Portainer có phần hạn chế khi tôi bắt đầu yêu thích Docker Compose, công cụ cho phép tôi triển khai container và quản lý các tệp YAML một cách hiệu quả hơn. Khi thử Dockge như một giải pháp thay thế để quản lý container và các tệp Compose, tôi cảm thấy như tìm được đúng nơi mình thuộc về.
Dockge là một công cụ quản lý container mã nguồn mở được phát triển bởi tác giả của Uptime Kuma. Nó hoàn toàn phù hợp với thiết lập máy chủ đơn (single-host) trong home lab của tôi, giúp quản lý tất cả các tệp compose mà tôi đã thu thập để triển khai các Docker stacks. Lý do chính là tôi thấy Docker Compose rất dễ sử dụng, cho phép tôi chọn một tệp YAML có sẵn và thực hiện các thay đổi để phù hợp với môi trường home lab của mình. Trong khi đó, Portainer vẫn chạy nhưng tôi hiếm khi sử dụng nó. Dockge, mặt khác, đã trở thành lựa chọn hàng đầu để triển khai ngay cả các container đơn lẻ, bên cạnh việc quản lý các tệp YAML cho Docker stacks. Đây là một bổ sung cực kỳ hữu ích, giúp tôi nhanh chóng chỉnh sửa tệp compose và sử dụng nó để cài đặt ứng dụng với các cài đặt tôi mong muốn.
Các container Docker hàng đầu giúp tăng năng suất làm việc hiệu quả
Quản lý dễ dàng nhiều tệp YAML Compose trên một máy chủ
Đơn giản hóa việc quản lý Docker Stacks
Portainer hoạt động rất tốt trên Raspberry Pi 4B của tôi để quản lý các container đang chạy. Tuy nhiên, đối với một máy chủ đơn, Portainer có vẻ hơi “quá mức cần thiết” vì tôi không có ý định xây dựng một cụm (cluster) trong home lab của mình. Hơn nữa, tôi tìm kiếm sự đơn giản trong việc triển khai các container Docker thay vì sa lầy vào các lệnh “docker run” phức tạp. Khi tôi khám phá Dockge, việc cài đặt nó rất dễ dàng, giống như triển khai một container thông thường.
Giao diện không phức tạp của Dockge giúp tôi bắt đầu dễ dàng, và tôi đã chuyển tất cả các tệp Docker-Compose từ Sublime Text trên máy tính sang nó. Điều này giúp tôi yên tâm rằng mình có thể lưu trữ tất cả các tệp đó trên máy chủ home lab thay vì để chúng trên máy tính cá nhân. Sau đó, tôi có thể triển khai và quản lý các Docker stacks đầy đủ, được sắp xếp theo các danh mục tương tự như ứng dụng đa phương tiện, mạng và ứng dụng đám mây (tự host).
Tôi nhận thấy Dockge cung cấp các tùy chọn tối thiểu nhưng hiệu quả để quản lý toàn bộ Docker stacks và cả các container riêng lẻ. Đó là một trong số ít lý do tại sao Dockge phù hợp với tôi, giúp chỉnh sửa và triển khai container bằng các tệp docker-compose.yaml
một cách dễ dàng.
Máy tính nhỏ gọn Raspberry Pi 4 – Nền tảng lý tưởng cho Dockge và Home Lab
Giao diện người dùng đơn giản, nhẹ nhàng và tập trung vào Compose
Tạo, chỉnh sửa và cập nhật các tệp YAML trực tiếp
Vì Dockge được thiết kế cho thiết lập một người dùng, việc quản lý tất cả các tệp bởi chính tôi trở nên dễ dàng hơn. Sau khi đăng nhập, giao diện đơn giản với chế độ tối giúp tôi dễ dàng làm việc với tất cả văn bản trong các tệp YAML. Bố cục tối giản hiển thị số lượng container với các tệp compose liên quan đang hoạt động trên máy của tôi. Tôi thấy hộp chuyển đổi từ Docker run
sang Compose cực kỳ hữu ích, giúp tôi có thể thử nghiệm các dự án ngay cả khi chúng không cung cấp tệp compose.
Việc thêm một tệp Docker-Compose YAML cho một container đơn lẻ hoặc một stack rất dễ dàng. Khả năng tự do tạo và chỉnh sửa các tệp YAML ngay trong giao diện thật sự tuyệt vời. Ngoài ra, Terminal tích hợp cho mỗi tệp compose hiển thị lỗi ngay trong cùng giao diện. Điều này giúp tôi tinh chỉnh và điều chỉnh các tùy chọn trong tệp compose hiệu quả hơn.
Khi không chắc chắn về cách thêm một tùy chọn container vào tệp compose, tôi sử dụng các tùy chọn trực quan để thêm container và sau đó chỉnh sửa cài đặt của nó như cổng (port), hình ảnh (image), volume, chính sách khởi động lại (restart policy), phụ thuộc giữa các container và thậm chí cả mạng. Tôi đã sử dụng tính năng này nhiều lần khi không chắc chắn về cú pháp có thể sử dụng trong các tệp compose. May mắn thay, Terminal cũng hiển thị tiến trình cài đặt khi triển khai một stack hoặc container, điều này giúp tôi biết rằng tôi đã có một máy chủ MQTT được thiết lập với Home Assistant.
Terminal hiển thị tất cả nhật ký hoạt động đang diễn ra với container, và tôi có thể dễ dàng truy cập vào để khắc phục sự cố bằng nút Bash. Dockge không cung cấp các cài đặt phức tạp như nhật ký chi tiết, quản lý sự kiện, quản lý mạng, quản lý hình ảnh hoặc các tùy chọn khác. Tuy nhiên, tôi không cảm thấy thiếu vì tôi có các tùy chọn dễ dàng hơn để khởi động lại (restart), dừng (stop), cập nhật (update) hoặc xóa một stack hoặc container đầy đủ chỉ với một cú nhấp chuột.
Các container Docker yêu thích của nhà phát triển được quản lý bởi Dockge
Khi nào nên sử dụng Portainer cho quản lý Docker toàn diện
Truy cập giao diện đồ họa Docker chuyên sâu
Tôi vẫn ưu tiên sự đơn giản của Dockge trong việc quản lý các Docker stacks và các container riêng lẻ. Tuy nhiên, tôi vẫn ưu tiên các điều khiển quản lý chi tiết (granular management controls) của Portainer đối với một số ứng dụng quan trọng và chứa nhiều dữ liệu, như container Jellyfin. Mặc dù Portainer luôn hoạt động tốt với tôi, tôi cảm thấy bộ sưu tập tùy chọn của nó đôi khi quá tải trong việc sử dụng hàng ngày.
Portainer cho phép quản lý các volume, hình ảnh và mạng riêng lẻ. Ngoài ra, nó cũng hỗ trợ nhiều người dùng, giúp dễ dàng chia sẻ cấu hình tương tự với người khác. Mặc dù nó cũng hỗ trợ các tệp compose YAML trong tính năng stacks, việc chỉnh sửa trực tiếp các tệp YAML đó trong stacks là không thể. Hơn nữa, Portainer không thể kiểm soát các stack và container được triển khai bằng Dockge.
Trình quản lý dự án Taskcafe chạy trong Docker – Ví dụ về ứng dụng năng suất
Lý tưởng cho việc quản lý Docker trong Home Lab đơn chủ, mạnh mẽ
Dockge là một ứng dụng nhẹ nhàng, phù hợp với yêu cầu của tôi để chạy home lab trên một máy chủ đơn hoặc một NAS. Việc di chuyển các tệp Docker Compose cho tất cả các stack sẽ dễ dàng hơn khi tôi nâng cấp từ một máy chủ dựa trên SBC sang một mini PC chuyên dụng. Hoặc chia sẻ với bạn bè đang nhờ tôi giúp họ triển khai một thiết lập tương tự. Mặc dù vậy, tôi sẽ không loại bỏ hoàn toàn Portainer khỏi thiết lập home lab của mình, bởi vì nó giúp quản lý các vấn đề liên quan đến volume và mạng của các container nặng dữ liệu như Immich hoặc Jellyfin.
Dockge thực sự là một lựa chọn tuyệt vời cho những ai đang tìm kiếm sự đơn giản và hiệu quả trong việc quản lý các ứng dụng Docker dựa trên Docker Compose trong môi trường home lab đơn chủ. Nó không chỉ đơn giản hóa quá trình triển khai mà còn giúp bạn dễ dàng chỉnh sửa và quản lý các tệp cấu hình, tiết kiệm thời gian và công sức đáng kể.
Bạn đã sẵn sàng trải nghiệm sự tiện lợi của Dockge chưa? Hãy thử ngay và chia sẻ trải nghiệm của bạn với cộng đồng công nghệ tại Caphecongnghe.com nhé!