[Homelab] #13 Cài đặt Portainer trên VPS và đưa nó lên Homepage
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.
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.
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.
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.
All rights reserved