0

[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.

image.png

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.

image.png

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.

image.png

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.

image.png


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí