3 điểm bởi GN⁺ 2024-11-14 | 1 bình luận | Chia sẻ qua WhatsApp
  • Người vận hành Proxmox VE thường xử lý việc triển khai và quản lý container và VM như các tác vụ lặp lại, nên một hub script cộng đồng dựa trên lệnh đơn giúp giảm bớt công việc cho homelab và vận hành ảo hóa
  • Trang này nêu bật 604 script, 4.497.254 lượt cài đặt và 26 danh mục, cho phép khám phá các script tự động hóa cho môi trường Proxmox ở một nơi
  • Danh sách cài đặt nhiều nhất trong 30 ngày gần đây gồm các dịch vụ thường dùng trong homelab như Docker, Debian, Immich, Nginx Proxy Manager, Jellyfin Media Server
  • Các script mới được thêm được chia theo loại LXC, ARM LXC, PVE, với những cái tên như Koffan, Etherpad, Flame, PVE Disk Health Tool, Pinchflat, SnapOtter
  • Vì đây là các script chạy trực tiếp trên hệ thống, việc xác nhận trang chính thứcrà soát mã nguồn script là bắt buộc trước khi cài đặt

Hub script cộng đồng cho Proxmox VE

  • Proxmox VE Helper-Scripts tập hợp và cung cấp các script tự động hóa do cộng đồng xây dựng cho Proxmox VE
  • Người dùng có thể khám phá, cài đặt và quản lý container và VM trong môi trường Proxmox bằng một lệnh duy nhất
  • Đóng vai trò như một hub trung tâm giúp đơn giản hóa homelab và quy trình ảo hóa
  • Quy mô của trang như sau
    • 604 script

    • 4.497.254 lượt cài đặt

      • 26 danh mục

Trang chủ mới và luồng khám phá

  • Bản cập nhật ngày 6/3/2026 đã công bố trang chủ mới của dự án Proxmox VE Community Scripts
  • Website mới được tổ chức để dễ dàng khám phá, duyệt và triển khai hàng trăm script tự động hóa cho môi trường Proxmox
  • Đây là nền tảng do cộng đồng tạo ra, được cung cấp như một hub giúp đơn giản hóa homelab và quy trình ảo hóa

Các script được cài đặt nhiều nhất trong 30 ngày gần đây

  • Danh sách phổ biến được sắp xếp theo số lượt cài đặt trong 30 ngày gần đây
  • Các mục hàng đầu như sau
    • Docker: dự án mã nguồn mở tự động hóa triển khai ứng dụng, 30.594 lượt cài đặt
    • Debian: hệ điều hành miễn phí gồm hơn 59.000 gói, 22.397 lượt cài đặt
    • Immich: giải pháp tự host để quản lý ảnh và video, 18.234 lượt cài đặt
    • Nginx Proxy Manager: giao diện nền web để quản lý reverse proxy Nginx, 14.049 lượt cài đặt
    • Jellyfin Media Server: media server miễn phí, mã nguồn mở để sắp xếp, quản lý và chia sẻ các tệp media số, 13.707 lượt cài đặt
    • Hermes Agent: tác tử AI tự cải thiện của Nous Research, 13.233 lượt cài đặt
    • Frigate: NVR mã nguồn mở dựa trên phát hiện đối tượng AI thời gian thực cho camera IP, 12.663 lượt cài đặt
    • AdGuard Home: công cụ chặn quảng cáo toàn mạng tự host, 12.532 lượt cài đặt
    • Ollama: công cụ chạy các mô hình ngôn ngữ lớn trên máy tính cục bộ, 11.923 lượt cài đặt
    • Ubuntu: bản phân phối dựa trên Debian, 10.689 lượt cài đặt

Các script mới được thêm

  • Danh sách mới thêm hiển thị kèm tên script, loại và thời điểm thêm
  • Các mục chính như sau
    • iVentoy: máy chủ PXE hỗ trợ khởi động và cài đặt OS qua mạng trên nhiều máy cùng lúc, thêm hôm nay
    • FMD-Server: công cụ phân tán để định vị thiết bị Android và điều khiển từ xa, thêm 1 ngày trước
    • Koffan: ứng dụng web danh sách mua sắm đồng bộ thời gian thực cho cặp đôi và gia đình, thêm 1 ngày trước
    • Etherpad: trình soạn thảo tài liệu cộng tác thời gian thực cho nhiều người cùng chỉnh sửa đồng thời trên trình duyệt, thêm 1 ngày trước
    • Flame: trang khởi đầu tự host cho server, thêm 1 ngày trước
    • PVE Disk Health Tool: công cụ báo cáo tình trạng đĩa vật lý của host Proxmox VE, thêm 2 ngày trước
    • Pinchflat: trình quản lý media YouTube tự host dựa trên yt-dlp, thêm 4 ngày trước
    • SnapOtter: bộ công cụ xử lý ảnh chạy cục bộ, thêm 6 ngày trước
    • Postiz: công cụ dựa trên AI để lên lịch và quản lý bài đăng trên nhiều nền tảng xã hội, thêm 9 ngày trước
    • Plane: công cụ mã nguồn mở để lập kế hoạch và theo dõi dự án phần mềm bằng issue, cycle và module, thêm 11 ngày trước

Script đang phát triển

  • Các script trong mục đang phát triển chưa được phát hành chính thức và đang được phát triển tích cực
  • Các mục đang phát triển được hiển thị gồm
    • Rackula: trình thiết kế bố cục rack kéo-thả cho người dùng homelab
    • Umbraco CMS: script tự động thiết lập CMS .NET mã nguồn mở và máy chủ FTP
    • Nexterm: phần mềm quản lý server mã nguồn mở cho SSH, VNC, RDP
    • Colanode: workspace cộng tác ưu tiên cục bộ, tự host, thay thế Slack và Notion
    • ExcaliDash: dashboard tự host và công cụ sắp xếp cho Excalidraw

Cấu trúc danh mục

  • Script được chia thành nhiều nhóm như Proxmox và hệ điều hành, mạng, bảo mật, sao lưu, cơ sở dữ liệu, giám sát, media, IoT
  • Các danh mục chính và tổng số như sau
    • Proxmox & Virtualization: 40
    • Operating Systems: 27
    • Containers & Docker: 10
    • Network & Firewall: 40
    • Adblock & DNS: 8
    • Authentication & Security: 21
    • Backup & Recovery: 11
    • Databases: 24
    • Monitoring & Analytics: 50
    • Dashboards & Frontends: 17
    • Files & Downloads: 35
    • Documents & Notes: 59
    • Media & Streaming: 58
    • AI / Coding & Dev-Tools: 35

Loại script và ví dụ

  • Mỗi script đi kèm nhãn loại như LXC, ARM LXC, PVE, Addon, VM, DEV, Privileged
  • Ví dụ trong danh mục Proxmox & Virtualization như sau
    • PVE Disk Health Tool: báo cáo tình trạng đĩa vật lý và cài đặt smartmontools cùng nvme-cli khi cần
    • PVE LXC Execute: chạy lệnh tùy chỉnh bên trong một hoặc nhiều container LXC trên node Proxmox VE
    • PVE Startup Dependency Check: kiểm tra các phụ thuộc cần thiết và khả năng sẵn sàng của storage tham chiếu trước khi khởi động VM hoặc LXC
    • CronMaster: trình lập lịch tác vụ cron tự host, cung cấp web UI, log thời gian thực và xác thực
    • All Templates: script tạo một trong nhiều template LXC miễn phí

Dự án và lưu ý an toàn

  • Dự án được liên kết qua GitHubDiscord
  • Phần cuối trang cho biết dự án do cộng đồng tạo ra và là mã nguồn mở theo giấy phép MIT
  • Vì có thể tồn tại các website sao chép hoặc tương tự, cần luôn xác nhận đó là trang chính thức
  • Cần rà soát kỹ toàn bộ mã nguồn script trước khi chạy trên hệ thống

1 bình luận

 
GN⁺ 2024-11-14
Các ý kiến trên Hacker News
  • Cùng với người gửi bài, tôi đã tham gia nhóm maintainer tình nguyện hỗ trợ bảo trì dự án này sau khi tteck thông báo tin buồn rằng ông sẽ vào hospice
    Các thành viên trong nhóm đều rất quyết tâm và nhiệt huyết trong việc tiếp nối di sản của tteck
    Chúng tôi đang tiến hành một cách minh bạch và sẵn lòng trả lời nếu có câu hỏi
    (1) https://news.ycombinator.com/item?id=42016605

    • Thật sự là một tin rất buồn
      Gần đây tôi mới bắt đầu với homelab/self-hosting, và đã thiết lập hầu hết container bằng script của tteck
  • Tôi đã dùng Proxmox VE được vài năm, và đang chạy phần lớn dịch vụ dưới dạng container Docker trong một VM duy nhất
    Tôi luôn thấy tiếc vì muốn điều khiển từng dịch vụ riêng lẻ và tác vụ sao lưu từ giao diện Proxmox; sau khi thấy các script này, tôi đã chuyển Caddy và vài WireGuard sang container LXC, và rất ấn tượng vì mọi việc được xử lý cực kỳ dễ dàng
    Nhờ tất cả những người đã tạo ra các script này, ấn tượng ban đầu của tôi rất tốt

    • Nên cẩn thận. Tôi cũng từng nghĩ như vậy, nhưng container Docker có lợi thế hơn các script LXC ở cập nhật giữa các phiên bản lớn và nâng cấp tự động
      Thường thì chính nhà phát triển phần mềm cũng tạo container, nên đó là môi trường được hỗ trợ; vì họ hiểu rõ ứng dụng và các bản nâng cấp về sau, môi trường được cấu hình đúng cho từng phiên bản
      Để đạt mục tiêu của bạn, tôi khuyên dùng tổ hợp LXC chạy bản phân phối Linux bạn thích cho từng app + Docker + container app. Bạn sẽ có cùng hiệu quả trong khi vẫn giữ được các lợi thế trên
  • Hơi lạc đề một chút, nhưng tôi đã liên tục gặp vấn đề khi cố quản lý libvirt và Unraid bằng Terraform, đến mức gần như bỏ cuộc và định quản lý VM thủ công
    Tôi tò mò Proxmox dùng công nghệ ảo hóa nào
    Tôi cũng muốn biết lợi thế của việc dùng công cụ kiểu này thay cho Terraform, SaltStack, Ansible là gì

    • Cũng đáng nhắc rằng Proxmox dùng ZFS, nên snapshot nhanh, và hệ thống sao lưu cũng rất tốt
      Nếu muốn đối xử với các ứng dụng self-hosting như “đàn gia súc”, Terraform, Kubernetes, v.v. là lựa chọn tốt hơn
      Nhưng nếu bạn không ngại khôi phục thủ công từ bản sao lưu hoặc snapshot khi có sự cố, hoặc muốn container LXC tự động chuyển sang phần cứng khác khi có cluster, thì Proxmox là lựa chọn phù hợp. Trong môi trường gia đình thực tế, thời gian duy trì “thú cưng” cũng tương đương hoặc ít hơn thời gian vận hành “nông trại”
      (1) Đây là một cách chơi chữ dùng ở New Zealand
    • Proxmox chú trọng hơn vào việc quản lý host và tài nguyên trên đó. Bao gồm live migration VM giữa các host, một phần khả năng high availability, và hỗ trợ failover
      Nếu muốn, bạn cũng có thể dùng các công cụ như Terraform cùng với Proxmox để quản lý cấu hình bên trong VM
    • Proxmox dùng KVM cho ảo hóa và Linux Containers(LXC) cho container
      Tôi đồng ý rằng nếu triển khai hạ tầng dưới dạng mã thì Terraform hoặc Ansible sẽ hợp lý hơn. Những người dùng Proxmox cho homelab nhìn chung thường thích quản lý thủ công và không quá bận tâm đến việc triển khai hạ tầng dưới dạng mã
      Trong công việc, tôi tin chắc vào môi trường có thể tái tạo và hạ tầng dưới dạng mã. Thực tế tôi đang dùng tổ hợp Vagrant, libvirt, KVM để nhanh chóng dựng cluster cục bộ cho kiểm thử và phát triển, và nó hoạt động khá tốt. Tuy vậy homelab của tôi không phức tạp đến mức phải cấu hình Terraform/Ansible. Có lẽ tôi sẽ nghĩ khác nếu máy chủ hỏng
    • Có thể thỏa hiệp bằng provider Proxmox cho Terraform[1]
      Luồng làm việc là provision VM bằng Terraform, rồi cấu hình/bảo trì VM bằng thứ như Ansible
      Nếu muốn nhắm tới LXC, bạn cũng có thể đặt trước LXC bằng provider này
      [1]: https://github.com/Telmate/terraform-provider-proxmox
  • Từ góc nhìn của người đang tìm hiểu để cấu hình thiết bị Proxmox đầu tiên, tôi chỉ muốn một cấu hình rất cơ bản và phổ biến
    Cấu trúc là modem > thiết bị Proxmox > VM OPNsense > router Wi‑Fi vật lý qua NIC 10Gb onboard + các VM mạng nội bộ như OMV. Mục tiêu là thêm bộ lọc cho toàn bộ mạng bằng OPNsense, và cho phép truy cập media server, sao lưu, v.v. trong mạng nội bộ
    Nhưng tôi không thấy script cho OPNsense, còn script OMV thì thực tế là dạng không được khuyến nghị vì phải là VM chứ không phải LXC container; cũng không thấy script “kết dính” để các VM giao tiếp với nhau. Phần này quan trọng trong cấu hình Proxmox, nên có vẻ vẫn còn chỗ để cải thiện hoặc bổ sung các script cấu hình cơ bản cho home server đơn giản

    • Đó không phải là cấu hình cơ bản và phổ biến. Với tôi thì có thể là vậy, nhưng có lẽ với bạn cũng chưa chắc, và chắc chắn không phải với đa số
      Việc ảo hóa router và firewall thì ổn. Tôi đã triển khai khoảng 200 firewall/router pfSense dưới dạng VM và thiết bị vật lý, OPNSense cũng tương tự nên có lẽ tôi có thể giúp
      Tối thiểu bạn cần hai interface vật lý. Một cái cũng có thể làm được, nhưng bạn phải biết chính xác mình đang làm gì. Bạn cần “WAN” và “LAN”. OPNSense chắc vẫn dựa trên FreeBSD, nên tất nhiên không chạy trong Linux LXC container được
      Đoạn cuối hơi khó hiểu. Tôi không biết “script kết dính” nghĩa là gì. VM giao tiếp với nhau qua mạng
      Để hiểu đúng về ảo hóa, tôi khuyên bạn nên thử vài thí nghiệm rồi hãy tiếp tục. Nếu có vấn đề cụ thể thì cứ lên forum Proxmox, chúng tôi sẽ giúp, nhưng cuối cùng thì hoặc là bạn thật sự lao vào làm, hoặc là không
    • Tôi đang dùng Proxmox và cũng đã cấu hình VLAN
      Port từ router đến thiết bị Proxmox được cấu hình cho các gói đã gắn tag để tách lưu lượng vào và ra
      Sau đó VM và container có thể dễ dàng được cấu hình để “sống” trên một hoặc nhiều mạng
      Trong trường hợp của tôi, các rule firewall trên router quyết định lưu lượng nào được chuyển tiếp giữa các VLAN
      Nếu chạy OPNSense dưới dạng container hoặc VM, có lẽ cũng có thể cấu hình theo cách tương tự để chọn lọc cho lưu lượng đi qua giữa các VLAN
    • Tôi nghĩ lý do không có script OPNSense là vì chỉ một lỗi cấu hình cũng có thể khiến instance Proxmox bị phơi ra Internet
      Với người dùng nâng cao, việc tạo VM từ ISO là đủ dễ. Gần đây cũng có yêu cầu về script OPNSense
      Về OMV thì tôi đồng ý. Có thể dùng nguyên như vậy, nhưng đó thường không phải cách mà mọi người muốn dùng. Vài ngày trước, một chú thích đã được thêm vào script
      Bạn nói không có script kết dính để các VM giao tiếp với nhau, nhưng về mặt kỹ thuật thì có script Tailscale giúp chúng giao tiếp với nhau qua Tailscale :)
      Các script này được thiết kế để thiết lập các LXC container tự hoàn chỉnh. Chúng tôi đang tránh việc tự tạo một Kubernetes của riêng mình
    • Tôi đang dùng VM OPNSense trên Proxmox và cũng có nhiều NIC. Một trong số đó dành riêng cho ONT của đường truyền quang
      Tôi cũng đang dùng mesh Wi‑Fi bên ngoài
      Ngoài ra còn có vài VM khác. Vì tương thích ngược, tôi có một VM unRaid host Docker bằng passthrough card SATA, một VM cho Home Assistant OS, và rất nhiều LXC. Tất cả hoạt động rất tuyệt
    • Tôi không hiểu “script kết dính để các VM giao tiếp với nhau” nghĩa là gì
      Chẳng phải chỉ cần dùng mạng như các máy tính khác thôi sao?
      Tôi chưa từng cấu hình gì đặc biệt để các VM giao tiếp với nhau
  • Tôi chắc chắn sẽ xem qua Docker LXC và Home Assistant VM
    Cho đến giờ tôi vẫn dùng Docker thành công bên trong VM trên Proxmox, nhưng có lẽ còn có thể vắt thêm chút hiệu quả

    • Chạy HAOS dưới dạng VM trên Proxmox thì hoạt động tốt
      Tôi đã dùng vài helper script của tteck để thiết lập các LXC container MQTT và zigbee2mqtt, rồi passthrough thiết bị USB Zigbee để dùng
    • Script cho hai dự án này hoạt động rất tốt
      Với Home Assistant, nên dùng HAOS VM hơn là LXC hoặc Docker
  • Tôi đã quyết định chạy Proxmox thay vì Kubernetes trong homelab, và phần nào đang hối hận
    LXC rất tuyệt, nhưng việc chỉ bị bó trong LXC hoặc QEMU VM không phù hợp với mọi nhu cầu của tôi. Nếu là Kubernetes, tôi có thể thêm hỗ trợ VM nhẹ như hypervisor Firecracker hoặc unikernel thông qua các dự án như Kata, nhưng Proxmox lại thiếu khả năng mở rộng
    Ngoài ra, nó không phù hợp với tự động hóa hay các bản build có thể tái tạo như một trình quản lý pod đã được kiểm chứng kiểu Kubernetes. Theo những gì tôi tìm được thì cũng không có hỗ trợ Terraform, nên phải dựa vào sao lưu toàn bộ đĩa và các công cụ kiểu Chef/Ansible/Puppet, mà tôi không muốn đầu tư học lại
    Dù vậy, quản lý tài nguyên và mô hình passthrough của nó rất tốt, cấu hình và bảo trì dễ, bảng điều khiển cũng ổn

    • Rõ ràng mô hình triển khai khác nhau. Có nhược điểm, nhưng tôi thích nó
      Tuy nhiên có một mô-đun Terraform của cộng đồng: https://registry.terraform.io/providers/Telmate/proxmox/late...
      Tôi chưa từng tự dùng, thường thì tôi chọn Ansible
      Vì ZFS cài đặt dễ dàng nên cũng khó tự thuyết phục mình thử thứ khác. Nếu muốn nghịch Kubernetes thì cứ dựng một hoặc nhiều VM là được
    • Tôi đã khá chìm sâu vào NixOS
      Một thời gian tôi chạy Docker Swarm trên nhiều máy tính bo mạch đơn, rồi sau đó là Kubernetes, một máy chủ lớn chạy Ubuntu + Cockpit, rồi Proxmox, và cuối cùng dừng lại ở NixOS
      NixOS cũng hỗ trợ container khá ổn khi cần, nhưng nhờ tính khai báo của nó mà tôi gần như không còn dùng container nữa. Việc “gỡ bỏ” thứ gì đó thường chỉ là bỏ nó khỏi file cấu hình rồi build lại là xong. Làm những việc kiểu cgroup để quản lý bộ nhớ cũng không khó
      Tôi cũng nghĩ DSL nginx của NixOS rất tuyệt. Thay vì tự viết script, việc môi trường cấu hình trực tiếp và quản lý đúng cách cấu hình proxy cùng Let’s Encrypt thật sự rất hay
      Tôi không biết có công cụ nào liên quan đến NixOS phân tán không, nhưng có vẻ có thể xây được thứ gì đó thú vị trên Flakes
      Homelab của tôi hiện đơn giản nhất và cũng khiến tôi hài lòng nhất
    • Tôi đã dùng Terraform provider này[1] cùng bản phân phối Talos[2] để triển khai một cụm Kubernetes
      Tôi đồng ý rằng API do Proxmox cung cấp chưa hoàn chỉnh, nhưng với nhu cầu của tôi thì đủ
      Tôi đang chạy cụm trên bốn máy SFF sắp bị thải loại, và sao lưu các snapshot LVM vào kho lưu trữ TrueNAS tự dựng; tôi rất thích toàn bộ cấu hình này
      [1] https://github.com/Telmate/terraform-provider-proxmox
      [2] https://factory.talos.dev/
    • Dùng Proxmox không có nghĩa là không dùng được Kubernetes
      Chỉ cần tạo VM trên Proxmox, cài Kubernetes lên đó, rồi chạy workload ứng dụng trong Kubernetes
      VM Proxmox khó tự động hóa hơn nên phải đối xử với chúng như “thú cưng chứ không phải gia súc”, nhưng khi quản lý host Kubernetes trên bare metal cũng vậy. Chỉ khác là VM trên Proxmox có thể sao lưu toàn bộ VM và di chuyển bằng Proxmox, nên bạn có thể có được ưu điểm của cả Proxmox lẫn Kubernetes
    • Mỗi công nghệ có cách tiếp cận và mục đích sử dụng phù hợp riêng
      Trong Proxmox, việc tạo hoặc sửa VM bằng tiện ích dòng lệnh pve tương đối đơn giản
      Dù vậy, điểm xuất phát của bài này là có rất nhiều script hữu ích giúp việc quản trị dễ hơn và dễ bảo trì hơn, và trong bối cảnh nhà sáng lập phải rút lui, có sự biết ơn dành cho những hỗ trợ đó
  • Proxmox có gì mà KVM thuần không có? Chỉ là giao diện web thôi sao?

    • Chỉ tính những thứ nghĩ ra ngay đã có clustering, migration, high availability, backup, tích hợp Ceph, mạng ảo gần đây, và hỗ trợ không chỉ VM mà cả container
      Giao diện web cũng là tùy chọn. Muốn chi tiết hơn thì nên xem trang web của Proxmox
    • KVM chỉ là một thành phần phía kernel, tự nó không phải một trình quản lý máy ảo hoàn chỉnh. Luôn cần một ứng dụng ở user space
      Firecracker, QEMU, Cloud-Hypervisor là các trình quản lý máy ảo được xây trên KVM
      QEMU là cách phổ biến để dùng KVM, nhưng chạy QEMU trực tiếp khá phiền. Vì vậy người ta dùng các công cụ bọc quanh QEMU như libvirt hoặc Proxmox
  • Đây là một cộng đồng tuyệt vời. Tôi đã dùng vài script, và đang chạy các container LXC Pi-holePaperless
    Tôi cũng đang mong chờ Appflowy

  • Đáng tiếc là dù Proxmox dùng từ “Enterprise” ngay trong đoạn đầu trên website, đến giờ vẫn chưa hỗ trợ mặc định mã hóa toàn bộ ổ đĩa
    Tất nhiên có cách cài lên Debian đã được mã hóa thủ công, nhưng bạn sẽ bỏ lỡ các tính năng quan trọng và phải tự gánh lấy. Rốt cuộc vấn đề bắt nguồn từ việc ZFS không coi mã hóa toàn bộ ổ đĩa là tính năng hạng nhất
    Đây là một tình trạng rất đáng tiếc