Đối với những người mới tiếp cận, việc triển khai các dịch vụ dạng container có vẻ phức tạp, nhưng trên thực tế, chúng khá dễ dàng nhờ vào các công cụ home lab hiện đại. Mặc dù chạy các lệnh Docker/Podman qua terminal là cách lý tưởng để xây dựng thư viện container của bạn, nhưng phương pháp này có thể gây khó khăn nếu bạn chưa quen với các tiện ích dòng lệnh, chứ chưa nói đến các bản phân phối máy chủ. Các phiên bản Docker Desktop và Podman dành cho máy tính để bàn có thể hỗ trợ đáng kể cho người mới, nhưng chính các nền tảng containerization mới thực sự đơn giản hóa nghệ thuật tự host bằng cách cung cấp giao diện người dùng trực quan, cho phép bạn chọn template và triển khai chúng trong các container chỉ với một nút bấm.
Tôi đã sử dụng CasaOS trong một thời gian dài, nhưng gần đây tôi bắt đầu tìm kiếm các nền tảng khác. Cuộc tìm kiếm này đã đưa tôi đến với Cosmos Server, và sau vài tuần sử dụng, tôi thực sự ngạc nhiên về sự hữu ích của ứng dụng này, mặc dù nó vẫn còn khá ít người biết đến. Trong bài viết này, chúng ta sẽ khám phá chi tiết về Cosmos Server, từ các tính năng nổi bật đến cách triển khai và so sánh với các lựa chọn khác trên thị trường.
Hình ảnh so sánh Docker và Podman trong môi trường quản lý container
Cosmos Server: Nền tảng quản lý container đáng giá
Giao diện người dùng tinh tế và kho ứng dụng đa dạng
Một giao diện dễ tiếp cận là yếu tố then chốt cho một nền tảng quản lý container, và Cosmos được trang bị tốt về mặt này. Phần “Home” cung cấp cái nhìn tổng quan gọn gàng về tất cả các container đang chạy, cùng với mức sử dụng CPU, mạng và bộ nhớ của máy chủ Cosmos. Giao diện của nó có tính thẩm mỹ cao, thậm chí có thể xếp trên Runtipi.
Tuy nhiên, một giao diện đẹp mắt không phải là tất cả những gì Cosmos có. Kho ứng dụng (hoặc “Market” theo cách gọi của Cosmos) chứa hàng tấn các template container hữu ích, từ những ứng dụng yêu thích của cộng đồng như Nextcloud, Immich, Jellyfin và Vaultwarden, cho đến Paperless-ngx, Kavita và các ứng dụng ít phổ biến hơn trong kho của tôi. Mặc dù Cosmos Market bao gồm vô số công cụ tuyệt vời, nhưng nó vẫn thiếu Pi-hole, Snapdrop và một vài dịch vụ nổi bật khác.
Giao diện thêm các nguồn ứng dụng mới vào kho Market của Cosmos Server
May mắn thay, Cosmos có thể lấy template container từ các kho ứng dụng khác, bao gồm cả kho của CasaOS, bằng cách thêm các liên kết tương ứng vào phần “Sources”. Ngoài kho của CasaOS, tôi cũng đã thêm các kho TinyActive và Unofficial, nhờ đó tôi có thể truy cập một bộ sưu tập dịch vụ lớn hơn nữa từ máy chủ Cosmos của mình.
Quản lý mạng và lưu trữ dễ dàng
Việc ánh xạ cổng (mapping ports) và gắn kết ổ đĩa lưu trữ (mounting storage volumes) thường là những khía cạnh tẻ nhạt hơn của quản lý container. Tuy nhiên, Cosmos đã loại bỏ một phần sự phức tạp này. Chẳng hạn, tab “Storage” có thể hiển thị các chỉ số S.M.A.R.T. của các ổ đĩa được gắn vào máy chủ Cosmos trong phần “Disks”, trong khi menu “Mounts” cho phép bạn thêm các ổ đĩa lưu trữ mới vào container của mình cũng như sửa đổi cấu hình cho các ổ đĩa hiện có. Bạn thậm chí có thể hợp nhất các ổ đĩa hoặc thiết lập lưu trữ Parity trực tiếp trên nền tảng quản lý container này.
Giao diện tab Quản lý Volume hiển thị các ổ đĩa và điểm gắn kết trên Cosmos Server
Về mặt mạng, tab “URL” cho phép bạn thiết lập proxy cho các dịch vụ tự host của mình, điều này cực kỳ hữu ích cho những người thích sử dụng tên miền tùy chỉnh cho các tiện ích home lab của họ. Quản lý chứng chỉ cũng đơn giản không kém, và bạn thậm chí có thể cấu hình các quy tắc bảo mật mạnh mẽ cho container của mình cũng như theo dõi chúng bằng các tiện ích giám sát tích hợp sẵn.
Tích hợp Cron jobs và OpenID nâng cao khả năng tự động hóa
Như thể vô số tùy chọn quản lý container là chưa đủ, Cosmos còn bao gồm một số tiện ích tự động hóa thông qua tích hợp Cron job. Ngoài ra, còn có hỗ trợ đăng nhập dựa trên OpenID, điều này khá hữu ích nếu bạn sử dụng một dịch vụ xác thực như Authentik để bật quyền truy cập dễ dàng và an toàn vào home lab của mình.
Cài đặt và thêm tác vụ Cron job để tự động hóa trên Cosmos Server
Hạn chế với một số tính năng trả phí
Trước khi đi sâu hơn, tôi muốn nói rằng tôi rất tôn trọng các nhà phát triển đằng sau các dự án tự host này, và không có gì sai nếu họ thêm một số dịch vụ bổ sung cho người dùng cao cấp. Tuy nhiên, tôi không thích cách Cosmos triển khai các dịch vụ này – cả trong tài liệu của họ và trong giao diện người dùng web.
Nếu bạn truy cập trang GitHub của dự án, bạn sẽ thấy các tùy chọn VPN và Backup được đề cập trong tài liệu, và những người tinh mắt có thể đã nhận thấy chúng trong giao diện người dùng web. Thật không may, cả hai dịch vụ đều bị khóa sau tường phí, điều này có thể khá khó chịu nếu bạn là người dùng FOSS (Phần mềm Tự do & Nguồn mở) như tôi và muốn chuyển sang Cosmos chính vì những tiện ích này.
Các tính năng cao cấp yêu cầu trả phí trên nền tảng Cosmos Server
Hướng dẫn tự cài đặt Cosmos Server đơn giản
Lựa chọn triển khai: Docker hay LXC?
Cũng giống như các đối thủ quản lý container khác, có một vài cách để bạn có thể triển khai Cosmos. Cách đầu tiên, và có lẽ là phương pháp dễ dàng hơn, yêu cầu bạn phải cài đặt Docker trên máy chủ của mình. Sau đó, tất cả những gì bạn phải làm là thực thi lệnh sau trong terminal, và chứng kiến nền tảng tự động khởi chạy:
sudo docker run -d --network host --privileged --name cosmos-server -h cosmos-server --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v /var/run/dbus/system_bus_socket:/var/run/dbus/system_bus_socket -v /:/mnt/host -v /var/lib/cosmos:/config azukaar/cosmos-server:latest
Nếu bạn đặc biệt quan tâm đến bảo mật của máy chủ Cosmos, bạn có thể thiết lập một container không có quyền root (rootless container) để tránh sử dụng lệnh sudo. Tương tự, bạn có thể xóa thuộc tính --privileged để giảm quyền bảo mật của nền tảng và ngăn chặn leo thang đặc quyền, mặc dù điều đó có thể gây ra một số vấn đề về lâu dài.
Riêng tôi, tôi thích chạy phiên bản Cosmos của mình dưới dạng LXC trên máy chủ Proxmox. Bằng cách đó, tôi có thể dễ dàng phân bổ nhiều lõi CPU, bộ nhớ và tài nguyên lưu trữ cho nó. Hơn nữa, gói Proxmox VE Helper-Scripts dành cho Cosmos giúp quá trình cài đặt trở nên đơn giản. Nếu bạn chưa từng sử dụng kho lưu trữ này, chỉ cần truy cập tab “Shell” của node Proxmox và thực thi lệnh sau:
bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/cosmos.sh)"
Theo mặc định, script này gán 2 lõi CPU (hoặc chính xác hơn là v-cores), 2GB RAM và 8GB dung lượng đĩa cho LXC Cosmos của bạn, điều này là quá ít cho một nền tảng quản lý container. Vì vậy, tôi khuyên bạn nên chọn tùy chọn “Advanced” và gán thủ công nhiều tài nguyên hệ thống hơn cho Cosmos Cloud của mình.
Sau khi bạn đã triển khai máy chủ Cosmos, bạn sẽ phải chọn một cơ sở dữ liệu và tạo tài khoản người dùng để truy cập nền tảng và bắt đầu xây dựng thư viện container của mình.
Các lựa chọn thay thế Cosmos Server trên thị trường
Nếu bạn không phải là người hâm mộ Cosmos, có một số công cụ tuyệt vời khác cho phép bạn host container từ giao diện web dựa trên menu. Tôi đã sử dụng CasaOS trong một thời gian dài, và nó khá dễ triển khai trên bất kỳ bản phân phối Linux nào. Đối với các nhà phát triển, Yunohost là một lựa chọn thay thế tiện dụng, mặc dù bạn sẽ phải dành toàn bộ máy ảo (VM) hoặc hệ thống bare-bones cho nó. Đối với người dùng Raspberry Pi, Runtipi và UmbrelOS là những lựa chọn đáng cân nhắc, nhưng UmbrelOS có yêu cầu cài đặt bare-metal giống như Yunohost và đi kèm với quá nhiều ứng dụng tập trung vào tiền điện tử theo ý tôi (mặc dù giao diện người dùng của nó rất đẹp mắt).
Người dùng truy cập giao diện Runtipi từ MacBook như một giải pháp self-hosting khác
Kết luận
Cosmos Server nổi bật như một nền tảng quản lý container mạnh mẽ và dễ sử dụng, đặc biệt phù hợp với những người muốn khám phá thế giới tự host mà không phải đối mặt với sự phức tạp của dòng lệnh. Với giao diện người dùng trực quan, khả năng mở rộng kho ứng dụng và các tính năng quản lý tài nguyên linh hoạt, Cosmos thực sự là một lựa chọn đáng cân nhắc. Mặc dù có một vài tính năng bị khóa sau tường phí, nhưng tổng thể, nó vẫn cung cấp giá trị to lớn cho người dùng miễn phí.
Nếu bạn đang tìm kiếm một giải pháp tự host container hiệu quả và thân thiện, Cosmos Server chắc chắn xứng đáng để bạn thử nghiệm. Hãy chia sẻ kinh nghiệm của bạn hoặc bất kỳ nền tảng quản lý container yêu thích nào khác trong phần bình luận bên dưới, hoặc đọc thêm các bài viết chuyên sâu về công nghệ tại blogcongnghe.net để nâng cao kiến thức của bạn.