Homelab #13 Cài đặt Portainer trên VPS và đưa nó lên Homepage
HOMELAB

Homelab #13 Cài đặt Portainer trên VPS và đưa nó lên Homepage

Thất Nghiệp Thất Nghiệp
Oct 17, 2025 4 min read 0 views
Back to Blog

Con VPS của bên VPSRe đến nay nó mới giao. Vậy nên mình muốn cài wg-easy trên đó cho 5 IP trên đó. Mặc dù có các lựa chọn khác ngon hơn như 3xUI nhưng mà để tìm hiểu một công nghệ mới thật sự khá là phiền! Nếu cái cũ vẫn còn sử dụng được và không có nhu cầu học thêm, nên mình quyết định dùng wg-easy luôn cho tiện.

Các vấn đề và giải pháp

Vấn đề TLS và Cloudflared

Đang cài thì lại vấn đề TLS. Cái này sau này có vẻ nhức đầu đây. Tạm bỏ qua nó dùng HTTP sau đó cho Cloudflared làm phần HTTPS. Em yêu đám mây cam

Lấy API các thứ, chỉ cần đọc docs của gethomepage về Portainer rồi qua Docs của Portainer xem cách lấy API là mọi thứ sẽ hoàn tất.

Trong lúc lấy key bỏ vào .env thì có 1 việc khá troll env không nhận được API vì nó có chứa dấu / trong mớ token. Troll à? Nhưng mà không phải, có 1 đoạn Query Prometheus từ hồi thời đại nào đó để lại ở dòng cuối của file =)

Vấn đề wg-easy

wg-easy từ phiên bản mới nó đòi hỏi phải mã hoá password, cái này thực sự hơi phiền. Nhưng chịu khó đọc document một chút là sẽ ra đáp án. Sau khi hashing xong thì password hash sẽ có dạng

keykey$keykey

Mấu chốt lần nữa lại nằm ở cái dấu $ khi đưa vào docker-compose.yml thì nó sẽ không nhận buộc phải thêm sao cho nó thành $$

- PASSWORD_HASH=$$2a$$10$$cA4sadSADASVSXxcbXjvbEiYs/OGEZ6

Nó sẽ trông như thế này. Thế là solved thôi.

Vấn đề .env và ENV set sai

Vấn đề .env xong rồi thì đến cái ENV set sai. Set env =3 mới đúng đằng này set = 1 trời ạ. Cơ bản là do gethomepage nó sẽ nhận từng env trên Portainer, phải đúng nó mới nhận. Còn lý do vì sao env = 1 và 2 bị nuốt mất thì mình cũng không để tâm tới. Nếu khoanh vùng và xét dần thì nó sẽ từ Portainer, mà thôi mình cũng không muốn đụng vào. Dù gì đây thuộc loại hệ thống thiết lập một lần, sau này mình không động tới nó, cho đến khi VPS hết hạn.

Vấn đề .env và ENV set sai - Vấn đề

Thế là xong Portainer.

Xong vậy thì hơi chán nhỉ. Còn 5 cái Docker nằm ở VPS nữa, nên là tiếp tục thôi.

Làm ở VPS khá nhạy cảm nếu dùng HTTP, thế nên là thiết lập Cloudflared trước.

Vấn đề .env và ENV set sai - Làm ở VPS khá nhạy cảm nếu dùng HTTP, thế nên là thiết lập Cloudflared trước

Lúc cài theo hướng dẫn của cloudflared lại lỗi thế là cài qua repo github cho lẹ. Mình cũng hơi lười troubleshoot lỗi này. Chắc lại là do cái /etc/resolv.conf mà nãy check thử thì không phải.

Vấn đề .env và ENV set sai - Lúc cài theo hướng dẫn của cloudflared lại lỗi thế là cài qua repo github cho lẹ

Lại tiếp cận sai, thôi quay về Portainer cũ

Ban đầu cứ nghĩ là con ChatGPT nó expose nguyên cái IP của VPS ra ngoài lộ thiên rồi để Portainer connect, nghe là thấy điên rồi, đã vậy còn thêm quả HTTP thì thôi hết nước chấm. Ai ngờ trách nhầm nó, Portainer dùng HTTPS tự ký sau đó thì nó có trao đổi key trong 5 phút đầu claim Agent nói chung là Secure.

Thêm chút config vào thế là xong.

Vấn đề .env và ENV set sai - Thêm chút config vào thế là xong

Share this article

Thất Nghiệp

Written by Thất Nghiệp

A developer sharing thoughts on clean code, creative freedom, and the pursuit of the perfect dev environment. Building digital sanctuaries one component at a time.

Comments

Join the conversation

Leave a comment

Won't be published

You might also like