Dưới đây là tóm tắt toàn bộ quá trình thực hiện cài đặt Unosquare PassCore lên Portainer/Docker:
1. Kiểm tra môi trường hệ thống
- Kiểm
tra hệ thống và xác nhận Docker Engine cùng Portainer
CE đã được cài đặt và đang hoạt động (Portainer chạy ở cổng 9000 / 9443).
2. Phân tích & Xử lý mã nguồn PassCore
- Đặc
điểm PassCore: Unosquare PassCore là công cụ web (.NET 6.0) cho phép
người dùng tự đổi/reset mật khẩu Active Directory/LDAP. Dự án không có
image chính thức sẵn trên Docker Hub nên cần build từ mã nguồn GitHub.
- Tải
mã nguồn: Clone repository chính thức từ https://github.com/unosquare/passcore.git.
3. Tối ưu & Sửa lỗi Dockerfile
Trong quá trình build image, tôi đã phát hiện và xử lý 3 lỗi
biên dịch:
- Lỗi
copy thư mục gốc: Sửa câu lệnh COPY --from=node_base . . gây
lỗi xung đột hệ thống tệp trong Docker BuildKit mới.
- Lỗi
repository Debian (404 Not Found): Chuyển base image từ Debian
Bullseye sang Ubuntu 22.04 Jammy (dotnet/sdk:6.0-jammy & aspnet:6.0-jammy)
để đảm bảo các gói phụ thuộc được tải ổn định.
- Lỗi
thiếu môi trường biên dịch Native Node-gyp: Bổ
sung python3, make, g++ và nodejs 18 vào
giai đoạn build để biên dịch thành công module C++ (deasync) của frontend.
➜ Kết quả: Build
thành công Docker Image passcore:latest (dung lượng ~315MB).
4. Đóng gói & Khởi chạy Container
- Tạo
thư mục làm việc /home/systemadmin/passcore.
- Tạo
file cấu hình
docker-compose.yml chứa đầy đủ các biến môi trường cấu
hình kết nối LDAP / Active Directory.
- Khởi
chạy thử nghiệm stack. Kết quả: Container passcore hoạt động
bình thường và phản hồi HTTP 200 OK tại đường dẫn http://localhost:8080.
5. Tạo tài liệu hướng dẫn cài đặt trên Portainer UI
- Đã
biên soạn file
README.md chứa hướng dẫn chi tiết từng bước:
- Cách
tạo Stack mới trên giao diện web Portainer.
- Cấu
hình file docker-compose.yml.
- Giải
thích các tham số kết nối Active Directory (IP Domain Controller, Bind
Username, Bind Password, Base DN...).

Comments
Post a Comment