[{"data":1,"prerenderedAt":154},["ShallowReactive",2],{"seo-verification":3,"blog-heberger-photoprism-en":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"id":7,"slug":8,"title":9,"excerpt":10,"readTime":11,"views":12,"isPinned":13,"publishedAt":14,"category":15,"categories":21,"featuredImage":23,"bgImage":24,"posterImage":25,"relatedSolution":26,"intro":28,"sections":29,"ctaTitle":109,"ctaBody":110,"ctaButton":111,"ctaUrl":112,"relatedPosts":113},83,"heberger-photoprism","Host PhotoPrism on Your Own VPS","Deploy PhotoPrism on your VPS: a self-hosted photo manager with AI tagging, search and SSL via Docker. Complete guide.",8,271,false,"2026-03-29T00:00:00+00:00",{"id":16,"name":17,"slug":18,"color":19,"icon":20},7,"Self-hosting","self-hosting","bg-indigo-500\u002F10 text-indigo-400","cloud",[22],{"id":16,"name":17,"slug":18,"color":19,"icon":20},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fheberger-photoprism-poster.svg",{"categorySlug":18,"appSlug":27},"photoprism","PhotoPrism is a self-hosted photo manager that automatically sorts your pictures by location, content and color thanks to embedded machine learning. On your own VPS, it turns a disorganized collection into a searchable library, without any external cloud service.",[30,34,44,47,66,106],{"type":31,"title":32,"body":33},"h2","Why self-host PhotoPrism on a VPS","Where Immich aims for the full cloud experience with real-time mobile backup, PhotoPrism focuses on indexing and organizing an existing photo library, often large, sitting on a file system. It analyzes your folders, sorts photos by labels (mountain, beach, car), detects faces, reads EXIF and geocodes pictures. All of this runs locally via embedded TensorFlow. Hosting it on a VPS has a twofold benefit: centralizing photo archives scattered on a disk accessible from anywhere, and getting automatic tagging without ever transmitting the images to a third-party service. PhotoPrism works with MariaDB for good performance and directly reads an `originals` folder that you fill via WebDAV, rsync or a mount.",{"type":35,"title":36,"items":37},"ul","The strengths of a self-hosted PhotoPrism",[38,39,40,41,42,43],"Automatic tagging by local AI: search by keywords, locations and colors without a cloud.","Indexing of existing archives placed on disk, via WebDAV, rsync or network mount.","Detection of duplicates and similar photos to clean up a cluttered collection.","Interactive maps based on the GPS coordinates extracted from EXIF metadata.","Read-only mode available: PhotoPrism indexes without ever modifying your original files.","Installable PWA interface, accessible from any browser on your network.",{"type":31,"title":45,"body":46},"Hardware and software requirements","PhotoPrism recommends at least 4 GB of physical RAM, part of which will serve the TensorFlow indexing operations; below that, analysis becomes slow or fails on large libraries. 2 vCPUs are enough for personal use, but the initial indexing of a large archive benefits from additional cores. Storage must cover your `originals` plus about 30% for thumbnails and cache. On the software side: Docker and `docker compose` v2, MariaDB 10.5+ (strongly preferable to SQLite for large collections), a domain (`galerie.yourcompany.com`), and ideally some swap to absorb indexing spikes on modest VPSes.",{"type":48,"title":49,"steps":50},"steps","Deploy PhotoPrism step by step",[51,54,57,60,63],{"title":52,"body":53},"Prepare the VPS and volumes","Install Docker, then create two persistent folders: `\u002Fopt\u002Fphotoprism\u002Foriginals` for your photos and `\u002Fopt\u002Fphotoprism\u002Fstorage` for the cache and the index database. Separating these volumes simplifies backups.",{"title":55,"body":56},"Declare PhotoPrism and MariaDB","In `docker-compose.yml`, add a `mariadb` service with a dedicated volume and a `photoprism` service (image `photoprism\u002Fphotoprism:latest`). Link them via `PHOTOPRISM_DATABASE_DRIVER=mysql` and point `PHOTOPRISM_ORIGINALS_PATH` to your photo folder.",{"title":58,"body":59},"Set the administrator and the indexing mode","Set `PHOTOPRISM_ADMIN_PASSWORD` and enable `PHOTOPRISM_READONLY=true` if you want it to index without touching the originals. Then launch the stack with `docker compose up -d`.",{"title":61,"body":62},"Import and run the first indexing","Copy your photos into the `originals` folder via `rsync` or WebDAV, then trigger the analysis from the interface or on the command line with `docker compose exec photoprism photoprism index`. This is where the AI generates labels and thumbnails.",{"title":64,"body":65},"Add a reverse proxy with SSL","Place Caddy or Traefik in front of PhotoPrism for `galerie.yourcompany.com`, with automatic Let's Encrypt certificate generation. Make sure to forward the headers to keep the correct `https` scheme in the application.",{"type":67,"title":68,"headers":69,"rows":73},"comparison","PhotoPrism or Immich: which to choose",[70,71,72],"Criterion","PhotoPrism","Immich",[74,78,82,86,90,94,98,102],[75,76,77],"Main objective","Index and organize an existing photo library","Full photo cloud with mobile backup",[79,80,81],"Mobile app","PWA, no native automatic backup","iOS\u002FAndroid apps with automatic backup",[83,84,85],"Database","MariaDB or SQLite","PostgreSQL with vector extension",[87,88,89],"AI search","TensorFlow labels by content and color","Semantic search and advanced facial recognition",[91,92,93],"Recommended RAM","4 GB","6 to 8 GB",[95,96,97],"File model","Reads an originals folder, read-only mode available","Manages its own upload tree",[99,100,101],"Multi-user","Limited, geared toward a single collection","Isolated libraries per user",[103,104,105],"Ideal use case","Archive and search large photo folders","Replace Google Photos day to day",{"type":107,"body":108},"tip","Mount your `originals` folder read-only (`:ro` in the Docker volume) and enable `PHOTOPRISM_READONLY=true`. PhotoPrism will index and generate labels and thumbnails in the separate `storage` volume, without ever risking modifying or deleting an original file. This way you can safely point to a precious archive, and even synchronize that folder via rsync from another server.","Organize your photo archives with full autonomy","The ServOrbit Cloud VPS provides the RAM, storage and Docker required by PhotoPrism, its TensorFlow engine and MariaDB. Index thousands of pictures and find them again in a few keywords, without a third-party cloud.","Deploy PhotoPrism on a Cloud VPS","\u002Fvps-cloud",[114,127,141],{"id":115,"slug":116,"title":117,"excerpt":118,"readTime":16,"views":119,"isPinned":13,"publishedAt":120,"category":121,"categories":122,"featuredImage":23,"bgImage":24,"posterImage":124,"relatedSolution":125},71,"heberger-nextcloud","Hosting Nextcloud on your own VPS","Take back control of your files: deploy Nextcloud on your VPS with Docker, database, reverse proxy and SSL.",2720,"2026-04-10T00:00:00+00:00",{"id":16,"name":17,"slug":18,"color":19,"icon":20},[123],{"id":16,"name":17,"slug":18,"color":19,"icon":20},"\u002Fblog\u002Fcovers\u002Fheberger-nextcloud-poster.svg",{"categorySlug":18,"appSlug":126},"nextcloud",{"id":128,"slug":129,"title":130,"excerpt":131,"readTime":132,"views":133,"isPinned":13,"publishedAt":134,"category":135,"categories":136,"featuredImage":23,"bgImage":24,"posterImage":138,"relatedSolution":139},72,"heberger-ghost","Hosting Ghost on your own VPS","Launch a professional blog or newsletter with Ghost on your VPS: Docker, database, paid subscriptions, reverse proxy and SSL.",6,2000,"2026-04-09T00:00:00+00:00",{"id":16,"name":17,"slug":18,"color":19,"icon":20},[137],{"id":16,"name":17,"slug":18,"color":19,"icon":20},"\u002Fblog\u002Fcovers\u002Fheberger-ghost-poster.svg",{"categorySlug":18,"appSlug":140},"ghost",{"id":142,"slug":143,"title":144,"excerpt":145,"readTime":16,"views":146,"isPinned":13,"publishedAt":147,"category":148,"categories":149,"featuredImage":23,"bgImage":24,"posterImage":151,"relatedSolution":152},73,"heberger-wordpress","Host WordPress on your own VPS","Host WordPress on your VPS for maximum performance and control: Docker, MariaDB, caching, reverse proxy and SSL.",501,"2026-04-08T00:00:00+00:00",{"id":16,"name":17,"slug":18,"color":19,"icon":20},[150],{"id":16,"name":17,"slug":18,"color":19,"icon":20},"\u002Fblog\u002Fcovers\u002Fheberger-wordpress-poster.svg",{"categorySlug":18,"appSlug":153},"wordpress",1785628444664]