Top Related Projects
A great looking and easy-to-use photo-management-system you can run on your server, to manage and share photos.
A self-hosted open source photo management service. This is the repository of the backend.
High performance self-hosted photo and video management solution.
Free and Open Source Photo Libraries
Quick Overview
PhotoPrism is an AI-powered photo management application that runs on a personal server or cloud instance. It uses machine learning for face recognition, object detection, and image classification, allowing users to organize and search their photo collections efficiently. PhotoPrism is designed to be a privacy-focused alternative to cloud-based photo services.
Pros
- Privacy-focused: Runs on personal servers, giving users full control over their data
- AI-powered features: Includes face recognition, object detection, and image classification
- Open-source: Allows for community contributions and customization
- Cross-platform: Works on various operating systems and devices
Cons
- Requires technical knowledge: Setting up and maintaining a personal server can be challenging for non-technical users
- Resource-intensive: AI features may require significant processing power and storage
- Limited ecosystem: Fewer integrations compared to popular cloud-based photo services
- Ongoing maintenance: Users are responsible for updates, backups, and server management
Getting Started
To get started with PhotoPrism, follow these steps:
- Install Docker on your system
- Create a directory for your photo library:
mkdir ~/Pictures/PhotoPrism
- Run PhotoPrism using Docker:
docker run -d \ --name photoprism \ -p 2342:2342 \ -e PHOTOPRISM_UPLOAD_NSFW="true" \ -e PHOTOPRISM_ADMIN_PASSWORD="insecure" \ -v ~/Pictures/PhotoPrism:/photoprism/originals \ photoprism/photoprism
- Open a web browser and navigate to
http://localhost:2342
- Log in with the username "admin" and the password you set in the Docker command
For more detailed instructions and advanced configuration options, refer to the official PhotoPrism documentation.
Competitor Comparisons
A great looking and easy-to-use photo-management-system you can run on your server, to manage and share photos.
Pros of Lychee
- Lightweight and easy to set up
- Supports multiple users with different permissions
- Offers a clean and minimalist interface
Cons of Lychee
- Limited advanced features compared to PhotoPrism
- Less robust search and organization capabilities
- Fewer AI-powered features for image analysis and tagging
Code Comparison
PhotoPrism (Go):
func (m *Search) Photos(f form.SearchPhotos) (results PhotoResults, err error) {
if err := f.ParseQueryString(); err != nil {
return results, err
}
s := UnscopedDb().Table("photos").Select("photos.*")
Lychee (PHP):
public function search(Request $request)
{
$request->validate(['term' => 'required|string']);
return $this->photoFunctions->search($request['term']);
}
Both projects use different programming languages, with PhotoPrism utilizing Go and Lychee using PHP. PhotoPrism's code snippet shows a more complex search function with query parsing, while Lychee's search implementation appears simpler. PhotoPrism's approach may offer more flexibility and advanced search capabilities, aligning with its more feature-rich nature compared to Lychee's lightweight design.
A self-hosted open source photo management service. This is the repository of the backend.
Pros of LibrePhotos
- Open-source and self-hosted, providing full control over your photo library
- Advanced face recognition and object detection capabilities
- Supports multiple users and sharing features
Cons of LibrePhotos
- Less polished user interface compared to PhotoPrism
- Smaller community and potentially slower development pace
- May require more technical expertise to set up and maintain
Code Comparison
PhotoPrism (Go):
func (m *MediaFile) HasJpeg() bool {
return m.JpegName() != ""
}
LibrePhotos (Python):
def has_jpeg(self):
return self.jpeg_name() != ""
Both projects use similar approaches for checking if a media file has a JPEG version, but PhotoPrism is written in Go while LibrePhotos uses Python. This reflects the different language choices and potentially impacts performance and ecosystem compatibility.
LibrePhotos offers more advanced AI-powered features like face recognition, while PhotoPrism focuses on a sleek user interface and faster performance. PhotoPrism has a larger community and more frequent updates, which may lead to better long-term support and feature development. However, LibrePhotos' multi-user support and sharing capabilities make it a strong choice for collaborative environments or families.
Ultimately, the choice between these two self-hosted photo management solutions depends on your specific needs, technical expertise, and desired features.
High performance self-hosted photo and video management solution.
Pros of Immich
- Native mobile apps for iOS and Android, offering a seamless mobile experience
- Built with modern technologies (React, Flutter, Rust) for better performance and scalability
- Supports live photo and video playback directly in the web interface
Cons of Immich
- Younger project with potentially less stability compared to PhotoPrism
- Smaller community and fewer third-party integrations
- Limited face recognition capabilities (as of the current version)
Code Comparison
PhotoPrism (Go):
func (m *Search) Photos(f form.SearchPhotos) (photos Photos, err error) {
s := UnscopedDb().Table("photos").Select("photos.*").
Where("photos.deleted_at IS NULL").
Where("photos.photo_quality >= 3")
// ... (additional query logic)
}
Immich (TypeScript):
async searchAssets(dto: SearchAssetDto): Promise<AssetResponseDto[]> {
const query = this.assetRepository.createQueryBuilder('asset');
query.where('asset.ownerId = :userId', { userId: dto.userId });
// ... (additional query logic)
}
Both projects use similar approaches for querying assets, with PhotoPrism using Go and SQL, while Immich uses TypeScript and TypeORM for database interactions. The core logic for searching and filtering photos is comparable, though the specific implementation details differ due to language and framework choices.
Free and Open Source Photo Libraries
Pros of foss_photo_libraries
- Comprehensive list of open-source photo library solutions
- Provides a quick overview of multiple options for users to explore
- Regularly updated with new entries and information
Cons of foss_photo_libraries
- Not a functional photo management tool itself
- Lacks detailed feature comparisons between listed solutions
- No hands-on testing or personal recommendations provided
Code comparison
Not applicable, as foss_photo_libraries is a curated list rather than a functional photo management application. PhotoPrism, on the other hand, is a full-fledged photo management solution with extensive codebase. A direct code comparison wouldn't be meaningful in this context.
Summary
foss_photo_libraries serves as a valuable resource for those seeking open-source photo management solutions, including PhotoPrism. While it doesn't offer functionality itself, it provides a comprehensive starting point for users to explore various options. PhotoPrism, being one of the listed projects, offers a complete photo management system with advanced features and active development.
foss_photo_libraries is ideal for initial research and discovery, while PhotoPrism is a ready-to-use solution for those who have decided on their preferred photo management tool. The choice between them depends on whether users need a curated list of options or a specific, feature-rich photo management application.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
PhotoPrism: Browse Your Life in Pictures
PhotoPrism® is an AI-Powered Photos App for the Decentralized Web. It makes use of the latest technologies to tag and find pictures automatically without getting in your way. You can run it at home, on a private server, or in the cloud.
To get a first impression, you are welcome to play with our public demo. Please be careful not to upload any private, unlawful or offensive pictures.
Feature Overview
Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible. That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality:
- Browse all your photos and videos without worrying about RAW conversion, duplicates or video formats
- Easily find specific pictures using powerful search filters
- Recognizes the faces of your family and friends
- Automatic classification of pictures based on their content and location
- Play Live Photos by hovering over them in albums and search results
- Since the User Interface is a Progressive Web App, it provides a native app-like experience, and you can conveniently install it on the home screen of all major operating systems and mobile devices
- Includes four high-resolution World Maps to bring back the memories of your favorite trips
- Metadata is extracted and merged from Exif, XMP, and other sources such as Google Photos
- Many more image properties like Colors, Chroma, and Quality can be searched as well
- Use PhotoSync to securely backup iOS and Android phones in the background
- WebDAV clients such as Microsoft's Windows Explorer and Apple's Finder can connect directly to PhotoPrism, allowing you to open, edit, and delete files from your computer as if they were local
Being completely self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services. Your data will never be shared with Google, Amazon, Microsoft or Apple unless you intentionally upload files to one of their services. ð
Getting Started
Step-by-step installation instructions for our self-hosted community edition can be found on docs.photoprism.app - all you need is a Web browser and Docker to run the server. It is available for Mac, Linux, and Windows.
The stable releases and development preview are available as a multi-arch image for 64-bit AMD, Intel, and ARM processors. That means, Raspberry Pi and Apple Silicon users enjoy the exact same functionality and can follow the same installation steps.
See our Getting Started FAQ for alternative installation methods, for example using the tar.gz packages we provide.
Support Our Mission ð
PhotoPrism is 100% self-funded and independent. Your continued support helps us provide more features to the public, release regular updates, and remain independent!
Our members enjoy additional features, including access to interactive world maps, and can join our private chat room to connect with our team. We currently have the following membership options:
- You can sign up directly on our website and pay with credit card or SEPA through Stripe, so you don't need to link an external account and can easily upgrade or downgrade at any time
- Alternatively, Patreon also supports PayPal, additional currencies, and lets you choose between monthly and annual billing for all tiers
If you currently support us through GitHub Sponsors, you can also register on our website and use the Activate GitHub Sponsors Membership button to link your account. For details on this and how to link your Patreon account, see our Activation Guide.
You are welcome to contact us for change requests, membership questions, and business partnerships.
View Membership FAQ âºâSign Up âº
Why Your Support Matters
- Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy
- Sustained funding is key to quickly releasing new features requested by you and other community members
- Being self-funded and independent, we can personally promise you that we will never sell your data and that we will always be transparent about our software and services
Please also leave a star on GitHub if you like this project. It provides additional motivation to keep going.
A big thank you to all current and past sponsors, whose generous support has been and continues to be essential to the success of the project!
View Sponsors âºâView Credits âº
Getting Support
Visit docs.photoprism.app/user-guide to learn how to sync, organize, and share your pictures. If you need help installing our software at home, you are welcome to post your question in GitHub Discussions or ask in our Community Chat. Common problems can be quickly diagnosed and solved using our Troubleshooting Checklists. Eligible members are also welcome to email us for technical support and advice.
Upcoming Features and Enhancements
Our Project Roadmap shows what tasks are in progress and what features will be implemented next. You are invited to give ideas you like a thumbs-up, so we know what's most popular.
Be aware that we have a zero-bug policy and do our best to help users when they need support or have other questions. This comes at a price though, as we can't give exact release dates for new features. Our team receives many more requests than can be implemented, so we want to emphasize that we are in no way obligated to implement the features, enhancements, or other changes you request. We do, however, appreciate your feedback and carefully consider all requests.
Because sustained funding is key to quickly releasing new features, we encourage you to support our mission by signing up as a sponsor or purchasing a commercial license. Ultimately, that's what's best for the product and the community.
GitHub Issues â ï¸
We kindly ask you not to report bugs via GitHub Issues unless you are certain to have found a fully reproducible and previously unreported issue that must be fixed directly in the app. Thank you for your careful consideration!
- When browsing issues, please note that our team and all issue subscribers receive an email notification from GitHub whenever a new comment is added, so these should only be used for sharing important information and not for discussions, questions, or expressing personal opinions
- In order for us to investigate new bug reports, they must include a complete list of steps to reproduce the problem, the software versions used and information about the environment in which the problem occurred, such as browser type, browser version, browser plug-ins, operating system, storage type, processor type, and memory size
- Contact us or a community member if you need help, it could be a local configuration problem, or a misunderstanding in how the software works
- This gives us the opportunity to improve our documentation and provide best-in-class support instead of dealing with unclear/duplicate bug reports or triggering a flood of notifications by replying to comments
Connect with the Community
Follow us on Mastodon, Bluesky, or join the Community Chat to get regular updates, connect with other users, and discuss your ideas. Our Code of Conduct explains the "dos and donâts" when interacting with other community members.
As a contributor, you are also welcome to contact us directly if you have something on your mind that you don't want to discuss publicly. Please note, however, that due to the high volume of emails we receive, our team may be unable to get back to you immediately. We do our best to respond within five business days or less.
Every Contribution Makes a Difference
We welcome contributions of any kind, including blog posts, tutorials, translations, testing, writing documentation, and pull requests. Our Developer Guide contains all the information necessary for you to get started.
PhotoPrism® is a registered trademark. By using the software and services we provide, you agree to our Terms of Service, Privacy Policy, and Code of Conduct. Docs are available under the CC BY-NC-SA 4.0 License; additional terms may apply.
Top Related Projects
A great looking and easy-to-use photo-management-system you can run on your server, to manage and share photos.
A self-hosted open source photo management service. This is the repository of the backend.
High performance self-hosted photo and video management solution.
Free and Open Source Photo Libraries
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot