
Photoview là một phần mềm thư viện ảnh self-hosted dành cho server cá nhân, NAS hoặc homelab. Nếu anh/chị có nhiều ảnh lưu theo thư mục trên máy chủ và muốn xem, tìm, chia sẻ qua giao diện web đẹp hơn cách duyệt file thông thường, Photoview là một lựa chọn mã nguồn mở rất đáng thử.
Điểm mạnh của Photoview là bám sát cấu trúc file system: thư mục trên server được ánh xạ thành album, ảnh được scan tự động, tạo thumbnail để duyệt nhanh, đồng thời vẫn giữ các tính năng quan trọng cho người chụp ảnh như RAW, EXIF, tải ảnh gốc và chia sẻ link công khai.
Photoview là gì?
Theo mô tả chính thức trên GitHub, Photoview là “Photo gallery for self-hosted personal servers” — một thư viện ảnh cho máy chủ cá nhân tự host. Dự án hướng tới người dùng muốn tự quản lý ảnh của mình thay vì phụ thuộc hoàn toàn vào dịch vụ cloud đóng.
Photoview được viết chủ yếu bằng TypeScript, có phần backend bằng Go, phát hành theo giấy phép AGPL-3.0. Dự án có trang chủ tại photoview.github.io, mã nguồn tại github.com/photoview/photoview và có Docker image chính thức trên Docker Hub.
Photoview phù hợp với ai?
- Người có NAS, home server hoặc VPS muốn tự host thư viện ảnh cá nhân.
- Nhiếp ảnh gia muốn duyệt ảnh theo thư mục, xem metadata EXIF và giữ file RAW.
- Gia đình/nhóm nhỏ muốn chia sẻ album ảnh bằng link riêng, có thể đặt mật khẩu.
- Người thích self-hosted, muốn kiểm soát dữ liệu ảnh thay vì đưa toàn bộ lên cloud.
- Homelab user đang tìm một photo gallery chạy bằng Docker Compose.

Các tính năng nổi bật
1. Bám sát cấu trúc thư mục trên server
Photoview không ép người dùng phải import ảnh vào một cấu trúc riêng. Ứng dụng scan thư mục ảnh trên file system và hiển thị lên website theo cách tương ứng. Điều này rất hợp với người đã có bộ sưu tập ảnh được sắp xếp theo năm, sự kiện hoặc khách hàng.
2. Quản lý người dùng theo đường dẫn ảnh
Mỗi user có thể được tạo kèm một đường dẫn trên file system. Ảnh nằm trong đường dẫn đó sẽ được user tương ứng truy cập. Cách này hữu ích khi server có nhiều bộ ảnh hoặc nhiều người dùng khác nhau.
3. Chia sẻ album và ảnh bằng public link
Photoview cho phép chia sẻ album hoặc từng media bằng public link. Link có thể được bảo vệ bằng mật khẩu, phù hợp khi muốn gửi ảnh cho khách hàng, bạn bè hoặc gia đình mà không mở toàn bộ thư viện.
4. Hỗ trợ RAW, EXIF và video
Dự án được xây dựng với người chụp ảnh trong đầu, nên có hỗ trợ định dạng RAW và phân tích EXIF. Nhiều định dạng video phổ biến cũng được hỗ trợ; video sẽ được tối ưu để xem trên web.
5. Nhận diện khuôn mặt
Photoview có khả năng tự động phát hiện khuôn mặt trong ảnh và nhóm ảnh của cùng một người. Đây là tính năng rất hữu ích với thư viện gia đình hoặc bộ ảnh sự kiện dài ngày.
6. Tối ưu hiệu năng duyệt ảnh
Ứng dụng tạo thumbnail tự động, chỉ tải ảnh khi cần hiển thị và trong chế độ fullscreen sẽ hiển thị thumbnail trước khi ảnh độ phân giải cao được tải xong. Với thư viện hàng nghìn ảnh, đây là điểm rất quan trọng.
Nền tảng và cơ sở dữ liệu được hỗ trợ
Theo README, Photoview hỗ trợ Docker, Debian/Ubuntu, Arch Linux AUR, NixOS, Unraid, EmbassyOS, YunoHost và TrueNAS. Với người dùng phổ thông hoặc homelab, Docker Compose thường là cách triển khai dễ quản lý nhất.
Về database, Photoview hỗ trợ SQLite, MariaDB LTS và PostgreSQL 17/18. SQLite đơn giản nhất vì không cần service riêng, MariaDB là lựa chọn mặc định cân bằng, còn PostgreSQL thường hướng tới hiệu năng tốt hơn nhưng cần quản trị kỹ hơn.

Cách cài đặt nhanh bằng Docker
README khuyến nghị dùng thư mục docker-compose example trong repo. Trong đó có hai cấu hình:
- docker-compose.example.yml: cấu hình đầy đủ, khuyến nghị cho đa số trường hợp.
- docker-compose.minimal.example.yml: cấu hình tối giản cho người muốn bắt đầu nhanh hơn.
Quy trình tổng quát:
- Tải nội dung thư mục docker-compose example về server.
- Đổi tên file .env.example thành .env và docker-compose.example.yml thành docker-compose.yml.
- Mở .env, docker-compose.yml và Makefile để chỉnh đường dẫn media, database, port và các biến môi trường.
- Đảm bảo thư mục ảnh có quyền đọc/search cho container Photoview.
- Khởi động stack bằng Docker Compose.
README cũng lưu ý người dùng Docker cần dùng registry mới photoview/photoview trên Docker Hub. Nếu đang dùng cấu hình cũ từ registry trước đây, nên cập nhật docker-compose.yml theo ví dụ mới trong repo.
Lưu ý quan trọng khi nâng cấp
README hiện có cảnh báo riêng cho người dùng PostgreSQL: nhánh master đã chuyển sang PostgreSQL 18, trong khi PostgreSQL 17 vẫn được hỗ trợ. Nếu theo nhánh master hoặc cập nhật deployment, cần đọc hướng dẫn nâng cấp PostgreSQL chính thức và sao lưu database trước khi nâng cấp.
Với Docker, cũng cần chú ý thay đổi mount point volume database trong PostgreSQL 18. Đây là chi tiết kỹ thuật nhỏ nhưng có thể gây lỗi nếu nâng cấp vội mà không đọc kỹ file ví dụ.
Ưu điểm của Photoview
- Mã nguồn mở, giấy phép AGPL-3.0.
- Giao diện web sạch, phù hợp duyệt ảnh theo timeline/album.
- Không phá vỡ cấu trúc thư mục ảnh đã có trên server.
- Có hỗ trợ RAW, EXIF, video, sharing và face recognition.
- Có Docker Compose example để tự triển khai tương đối nhanh.
- Phù hợp cho NAS, homelab, server cá nhân và người thích tự quản lý dữ liệu.
Hạn chế cần cân nhắc
- Cần có kiến thức cơ bản về Docker, volume, permission và database.
- Không phù hợp nếu muốn dịch vụ cloud “đăng ký là dùng ngay”.
- Self-hosted nghĩa là người dùng tự chịu trách nhiệm backup, bảo mật, cập nhật và cấu hình HTTPS/reverse proxy.
- Face recognition và xử lý media có thể cần tài nguyên CPU/RAM đáng kể với thư viện ảnh lớn.
- Nếu triển khai trên nền tảng không chuẩn hoặc dùng abstraction layer như Portainer, việc debug có thể khó hơn.
Kết luận
Photoview là một lựa chọn rất đáng thử nếu anh/chị muốn tự host thư viện ảnh cá nhân trên NAS hoặc server riêng. Ứng dụng không chỉ xem ảnh mà còn hỗ trợ RAW, EXIF, video, chia sẻ link, nhận diện khuôn mặt và duyệt ảnh hiệu quả. Với người thích self-hosted, Photoview nằm trong nhóm phần mềm hữu ích để thay thế cách lưu ảnh rời rạc bằng một giao diện web hiện đại hơn.
Nguồn tham khảo
- GitHub: https://github.com/photoview/photoview
- Website: https://photoview.github.io/
- Docker Hub: photoview/photoview
- Demo: https://photos.qpqp.dk/
- Release mới nhất tại thời điểm viết: v2.4.0

