For a shareable photo album, the first results are photoview/photoview (Photoview is a self-hosted photo gallery with album management, password-protected link sharing, user accounts, thumbnail generation, and EXIF metadata support, covering all the features needed for organising and sharing photo collections), pulsejet/memories (Memories is a self-hosted photo and video management system with EXIF metadata handling, AI categorization, and sharing capabilities, fitting the core need for a self-hosted image gallery, though explicit album creation and permission-based sharing are not strongly detailed) and photoprism/photoprism (PhotoPrism is a self-hosted digital asset management platform with AI-powered photo organization, user accounts, and containerized deployment, making it a comprehensive fit for a self-hosted image gallery with album management and sharing capabilities). immich-app/immich and piwigo/piwigo round out the shortlist. Compare the match explanations and check the project documentation against your requirements.
Discover open-source platforms for hosting personal image collections and sharing private photo albums with friends.
Photoview is a self-hosted photo gallery and media manager designed for browsing and organizing personal photo and video collections. It functions as an AI-powered face recognition gallery that automatically detects, clusters, and labels human faces to organize media by person. The system persists metadata and user configurations using SQL-compliant databases such as PostgreSQL, MySQL, or SQLite. The platform distinguishes itself through specialized media processing and integration capabilities. It processes RAW camera files and transcodes videos into browser-compatible formats, while offerin
Photoview is a self-hosted photo gallery with album management, password-protected link sharing, user accounts, thumbnail generation, and EXIF metadata support, covering all the features needed for organising and sharing photo collections.
Memories is a self-hosted photo and video management system designed for organizing, indexing, and sharing media libraries from a private server. It functions as an AI-powered media organizer that uses artificial intelligence for face recognition and object tagging to automatically categorize large collections. The system distinguishes itself through deep metadata integration and specialized processing, featuring a geographic photo viewer that plots media on a map using GPS data and reverse geocoding. It also includes a self-hosted video transcoder that converts files into adaptive HLS stream
Memories is a self-hosted photo and video management system with EXIF metadata handling, AI categorization, and sharing capabilities, fitting the core need for a self-hosted image gallery, though explicit album creation and permission-based sharing are not strongly detailed.
PhotoPrism is a self-hosted digital asset management platform designed to organize, classify, and manage large collections of photos and videos on personal infrastructure. It functions as a private alternative to cloud-based services, ensuring that all media remains under the user's control. The platform utilizes neural-network-based media analysis to automatically detect objects, faces, and locations, providing a comprehensive, AI-powered approach to library organization. The project distinguishes itself through its containerized architecture, which simplifies deployment and lifecycle manage
PhotoPrism is a self-hosted digital asset management platform with AI-powered photo organization, user accounts, and containerized deployment, making it a comprehensive fit for a self-hosted image gallery with album management and sharing capabilities.
Immich is a self-hosted media management platform designed to provide a centralized, private repository for photos and videos. It functions as a comprehensive system for organizing, backing up, and viewing personal media collections across mobile devices, web browsers, and external storage locations. By maintaining full control over data ownership and storage infrastructure, the platform ensures that users retain sovereignty over their digital assets. The system distinguishes itself through a distributed architecture that coordinates background media synchronization, real-time filesystem moni
Immich is a self-hosted photo and video management platform that provides album organisation, sharing via links and permissions, user accounts, and automatic thumbnail generation, making it a comprehensive answer to your search.
Piwigo is a modular, open-source photo gallery and media management platform built as a PHP web application. It provides a self-hosted environment for organizing, managing, and displaying digital image collections through a web browser. The system is distinguished by its plugin-based architecture, which allows the core functionality to be extended with third-party themes and functional extensions. It leverages artificial intelligence for automatic image content recognition and tagging to automate the categorization of large libraries. The platform covers a wide range of capabilities includin
Piwigo is a full-featured, self-hosted photo gallery application with support for albums, user accounts, sharing via permissions, thumbnails, and metadata (EXIF, tags) — exactly the comprehensive image gallery you're looking for.
Home-gallery is a self-hosted media management server designed to organize, view, and search personal photo and video collections. It functions as a local application that indexes media files from your storage, generates web-friendly previews, and provides a browser-based dashboard for browsing your archives. The system is built to maintain full control over your digital assets while enabling intelligent discovery and cross-device streaming. What distinguishes this platform is its focus on metadata portability and visual intelligence. It utilizes sidecar files to store media information, ensu
Home Gallery is a self-hosted web gallery for photos and videos with tagging, EXIF metadata support, and thumbnail previews, which matches the core intent, but it lacks explicit album creation and sharing‑by‑link/permission features in the description.
Thumbnailator is a Java image thumbnailing library designed for generating resized images with aspect ratio preservation and high-quality scaling. It serves as a toolkit for rotating, cropping, and adjusting the opacity of images within Java applications. The library is distinguished by its ability to function as an Exif-aware image processor, automatically rotating thumbnails based on embedded orientation metadata. It also provides specialized utilities for digital watermarking, allowing secondary images and branding markers to be overlaid with adjustable transparency. Core capabilities cov
Thumbnailator is an image thumbnailing and processing library for Java, not a self-hosted gallery application — it provides resizing and EXIF handling but has no album management, user accounts, sharing features, or web interface.
django-allauth is a comprehensive authentication framework for Django applications that manages user registration, account ownership verification, and secure login processes. It provides a system for handling the entire user account lifecycle, including the ability to define custom signup fields and implement identity verification. The project distinguishes itself by providing a suite of OAuth and SAML integrations for social account authentication and the capability to act as an OpenID Connect identity provider. It further supports decoupled architectures through a token-based headless authe
This is a Django authentication library, not an image gallery—it handles user accounts and login, but has no support for image management, album creation, or sharing via links/permissions.
exif-js is a JavaScript library for extracting image metadata directly in the browser. It functions as a binary image buffer parser that reads raw image bytes to retrieve technical details without requiring files to be uploaded to a server. The library parses data following the EXIF and IPTC standards to extract camera settings, timestamps, GPS coordinates, captions, keywords, and copyright information. It utilizes typed arrays and offset-based traversal to navigate image structures and map numeric identifiers to human-readable tags.
exif-js is a client-side library for extracting EXIF metadata from images, not a self-hosted image gallery application with album creation, user accounts, or sharing features.
osxphotos is a command-line interface tool and programmatic database interface designed for managing and exporting media from Apple Photos libraries. It provides a bridge to the underlying system database, allowing for the automation of batch operations and the retrieval of technical metadata. The project distinguishes itself through a metadata-driven export system that uses custom templates to organize files into directory hierarchies. It can extract machine-learning data—including aesthetic scores and optical character recognition—and synchronize metadata across different libraries using un
rhettbull/osxphotos is a command-line tool for managing and exporting photos from Apple Photos libraries on macOS, not a self-hosted web gallery—it lacks album-based sharing via links or permissions, user accounts, and a web interface altogether.
Satellizer is an authentication library for AngularJS applications designed to manage user sign-in and session persistence using security tokens. It functions as a client-side implementation for exchanging credentials for tokens and attaching authorization headers to network requests. The library handles identity integration through a token manager that supports both email-based authentication and external OAuth providers. It enables the authorization of users via third-party services using secure popup windows and allows for linking or unlinking external accounts to a user profile. The proj
Satellizer is an authentication library for AngularJS that handles user sign-in and token management, not a self-hosted image gallery application with album organisation and sharing — it could serve as a component for user accounts but does not provide the core gallery functionality you need.
Appwrite is a backend-as-a-service platform that provides a unified development environment for building full-stack applications. It integrates essential infrastructure components—including authentication, databases, storage, and serverless functions—into a single, centralized interface to simplify application development and resource management. The platform distinguishes itself through a container-based microservices architecture that ensures consistent execution across diverse infrastructure. It features a versatile connectivity layer that links frontend applications with third-party servi
Appwrite is a backend-as-a-service platform for building full-stack apps, not a self-hosted image gallery application itself—you could build an album-sharing gallery on top of its storage and auth, but it is not the ready-to-use photo-organising tool this search is after.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| photoview/photoview | 6.5K | TypeScript | AGPL-3.0 | |
| pulsejet/memories | 3.7K | Vue | agpl-3.0 | |
| 39.8K |
| Go |
| NOASSERTION |
| immich-app/immich | 104.2K | TypeScript | AGPL-3.0 |
| piwigo/piwigo | 3.8K | PHP | GPL-2.0 |
| xemle/home-gallery | 1.2K | JavaScript | MIT |
| coobird/thumbnailator | 5.4K | Java | MIT |
| pennersr/django-allauth | 10.3K | Python | MIT |
| exif-js/exif-js | 5K | JavaScript | MIT |
| rhettbull/osxphotos | 3.3K | Python | mit |