#photoprism — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #photoprism, aggregated by home.social.
-
Nutze PhotoPrism. Funktioniert gut, auch mit IPv6 only...
-
@electric pravda, pravda. Ale pořád lepší (dmn) než #photoprism kde se vývoj vleče skutečně šnečím tempem anebo #ente , které postupuje taky rychle, ale nemá fokus a míří všemi směry. Zůstávám u Immichu
-
Using Photoprism and Immich in Tandem Across Three Machines
Reading Time: 3 minutesTable of Contents- Propagating from Photoprism to Immich
- Woupsie Daisies
- Drive not Mounted
- A Sync Shell Script
- The Standalone Immich Backup
- The Tertiary Backup
- And Finally
I have an HP laptop running Photoprism, and two Raspberry Pi 5 running Immich. One of the Pi devices is running Immich, solo, and is made accessible via Tailscale when I am on the move. Photoprism runs on the HP laptop and is not available at all times. When the laptop sleeps, Photoprism is not available. This means that I have to consciously decide to ingest the photos to photoprism.
Propagating from Photoprism to Immich
I setup Photosync on my phone to upload the most recent photos and organise them by year and month. This is easy to forget, so I consciously set that up. The reason for this decision is two-fold. The first reason is that by organising photos in this manner it is easy to mirror them to multiple drives, as well as to make them accessible to Immich, and Photoprism on the second Pi I mentioned earlier.
At the time when I set this up I was using the Ubuntu machine daily so every morning I could upload the photos with photosync.
Woupsie Daisies
Recently I allowed the HP laptop to run out of battery, and when it rebooted everything seemed fine, so I went to sync between devices and that’s when the “woopsie daisisies” incident occured. The “Woopsie Daisies Moment” was both catastrophic, but luckily recoverable. The SD card that I use within the laptop didn’t mount properly but I didn’t notice. When I told rsync to sync from the HP SD card to the external hard drive locally, and to Immich on the Pi it deleted all the files on the Mac spare drive. I suddenly noticed that Nextcloud had no more photos so I killed the sync within seconds. When a delete command is sent it goes for a while before the kill command was received.
The impact was that my secondary backup was wiped, and that my cloud backup, as a result was also in danger. When I realised I unplugged drives, safely, to isolate them, until I understood what happened.
Drive not Mounted
When I looked at the mounted drives on the HP machine I checked to see if the external hard drive was mounted. It was, but the photos were gone. It occured a few weeks ago so I don’t remember if the Pi5 was also wiped, but I don’t think it was. I then realised that the primary drive that I was using had not mounted after the dead battery incident. I mounted the drive, and the photos were intact.
A Sync Shell Script
To avoid this mistake from occuring again I made two key changes. The first is that I removed –delete from the rsync commands. If a file is not present rsync will not delete anything. Accidental deletion is almost instanteneous. The second change was to make sure that the shell script checked that the drives are mounted before doing anything. If the drive is not mounted it aborts the transfer.
Now I sync from the local SD card to the local external hard drive. When that’s done I sync the external hard drive to the Pi5 currently running Immich before then syncing from Linux to MacOS and my kDrive cloud instance. Within two or three minutes I have things backed up across the HP machine, the MacOS machine, a Pi5, and Infomaniak.
The Standalone Immich Backup
I have an entirely seperate workflow for my second Pi5. I synchronise to this Pi5 via the Immich app directly. In theory, within seconds of taking a photo it can be synced and indexed by this Pi5. If the Photoprism and Immich suffers an issue such as a describe above, this one is entirely seperate and isolated. A mistake with one worfkflow only affects one workflow.
The Tertiary Backup
The primary worflow goes from Photosync to Photoprism, and then Immich across multple machines and drives. The secondary worflow is from the Immich iPhone app to the Immich instance on a seperate Pi. The tertiary backup is kDrive. All of the photos are automatically backed up by kDrive in the year/month folder structure, so if the primary and secondary workflow fail, I can still revert to the tertiary solution.
Each library uses the same structure therefore migration data from one library to the other should be seamless. This gives me the opportunity to continue learning, and if I make a mistake I have several recovery solutions.
And Finally
The key mistake was not to check that the volume was available. If I had done that, then I would not have run rsync. I have removed that risk by replacing manual operation with a shell script. The second mistake was to have a delete flat in an rsync workflow by default. I removed it. The third mistake was to allow the battery on the laptop to run flat. That’s why when the machine was rebooted it did not mount correctly.
If you see that files are missing, the first thing to do is check that the volume is mounted. If I had done that, then I would have seen it wasn’t and I could have mounted it, and the issue would have been resolved within seconds.
The current workflow is now more resilient, and automated.
#immich #photoprism #rrsync -
The "convenience" of Google Photos often comes at the cost of your privacy. If you're tired of big tech scanning your family memories to build a data profile, it's time to switch.
PhotoPrism uses AI to tag your photos and recognize faces locally on your own instance. Same smart features, zero data mining.
Host it on PikaPods from $6.20/mo (sponsor features included): https://pikapods.com/pods?run=photoprism
-
Super happy that Photoprism somehow took "index the two months of photos I just uploaded" as "please reindex every single one of the 110k photos I've ever uploaded and make sure you thrash my main server for [checks notes] 10 hours and counting".
Time to read the Lobsters thread about Immich and Ente, I guess!
https://lobste.rs/s/pxnyf9/immich_vs_ente_photos_photo_backup
#Photoprism #Immich #Ente -
The latest PhotoPrism update introduces enhanced Ollama configuration options, improved security, and multiple bug fixes related to indexing, folders, and metadata.
https://linuxiac.com/photoprism-ai-powered-photos-app-brings-better-ollama-integration/ -
Migrating Photoprism From One Machine to Another
Reading Time: 4 minutesDue to the Raspberry Pi 5, and older, having issues with heat throttling and more it makes sense to build a Photoprism on a "normal" laptop before migrating towards the Pi. The process is an interesting one.
Photo Consolidation
The First step is to consolidate your photos from Google Photos, Apple Photos, Flick and any other source you might have. The simplest method is to organise them chronologically, and then to spend time removing as many duplicates as possible. There are tools for that. They will help you add exif data back into the photo exif fields, as well as look for duplicates.
Photo Ingestion
If your library is organised and ready there are three folders that are interesting to us.
- ./photoprism/originals:/photoprism/originals
- ./photoprism/import:/photoprism/import
- ./photoprism/storage:/photoprism/storage
Originals
The originals folder is where you put your chronological library. Photoprism will automatically index all the files in this folder. If you have decades of photos this takes time. It applies machine learning to catalogue dates, locations, people, objects and more.
Storage
The storage folder is critical because this is where json, yaml and other metadata files. This is also where the thumbnails are stored and this is key for migrating from a high spec laptop to a limited spec Pi. When I migrated this folder I had 1.8 million files for 110,000 photos.
Import
The import folder works as a stepping stone. It allows you to import photos and videos at a later date. If you select "move" then it will import photos, and then move them out of the folder leaving it empty.
Phone Ingestion via Photosync
Photosync is a partially free app. If you pay once you can unlock more functionality. With Photosync you can setup photoprism syncing. You add a configuration title, for example "laptop" and then you select the destination folder, and make sure to use "create sub-directories yyyy/mm/dd to preserve the hierarchy you spent hours preparing earlier.
Be careful, because usually the default is Device Name + Album Name. There are other options but they are out of scope for now.
The advantage of Photosync is that once it is set up correctly, it will keep uploading photos according to the hierarchy you want, eliminating the need to do things manually.
Moving to the Pi 5
Once all the heavy lifting has been done, and the logs say that tasks are completed you can move everything to an NVMe card or external hard drive depending on budget, and convenience. With an NVMe card and a 400 gb library you still have head room. With a 2-6TB hard drive you have plenty of head room.
It's worth keeping in mind that the docker-compose file for an intel machine and a Pi are different so you will need to find a template for the Pi and ARM architecture.
I like to have a folder /apps/photoprism/ for the docker compose file on the SD card. I also have /apps/photoprism/database on the HD, that was prepared on the laptop, as well as /photoprism/photos, photoprism/storage and photoprism/import on the external hard drive. I prefer to keep the photos and DB separated.
The Thumbnail Mistake
When I migrated from the laptop to the Pi I didn't bother to copy the storage folder because I thought "the thumbnails won't take too long to generate". I quickly realised the error of my ways, shut down the Pi, rsynced the files, and then plugged the drive back in before rebooting the file. Within seconds Photoprism was happy.
If I had let the Pi regenerate all of the thumbnails and video files it would take hours, if not days and weeks.
The Vanished HEIC Files
According to the laptop library I have 119,000 photos but according to the Pi5 I only have 110,000. That's a huge difference. I noticed that the photos that were missing were those taken with a phone, specifically HEIC files. I tried uploading them as jpeg and they appeared almost instantly.
The quick solution is to upload the photos as jpeg rather than HEIC via Photosync. The slow solution, and this isn't a solution, since it makes the Pi unusable for hours is to reindex the library. I am attempting this now.
The Thumbnails Exist
the paradox, in this situation, is that Photoprism, on the intel based laptop already did all of the heavy lifting so Photoprism should just have seen that each photo had a thumbnail and reflected that in the index, instead of re-inventing the wheel.
And Finally
The Good
I was able to migrate my library from one computer to the other and it worked almost flawlessly except for the HEIC issue. If I had transferred jpeg images I would have had a flawless migration.
The Mistake
The mistake is to re-index the entire library, especially in light of the limitations of rRaspberry Pi devices.
The elegant Solution
The elegant solution is to revive an old phone with all these photos, make sure Photosync is installed and setup, and tell it to upload to the Pi5 as JPEG rather than HEIC. It takes more than five minutes, but it worked instantly with a few test photos.
Silver Lining
The Proof of Concept migration was a success. If I had moved between two intel devices it would have been flawless. It's because I migrated from one architecture to another that I hit a little snag. I simply noticed it while writing the blog post.
#laptop #photoprism #photos #pi #Raspberry #selfHosting -
Frustrated by Google Photos' privacy trade-offs? 📸
PhotoPrism brings AI-powered organization—like face recognition and world maps—to your collection without the Big Tech tracking.
On PikaPods, you get the full experience with all Sponsor features included, starting at $6.20/mo. Keep your memories, lose the surveillance.
https://pikapods.com/pods?run=photoprism #PhotoPrism #Privacy #OpenSource
-
PhotoPrism troubleshooting tip:
If PhotoPrism crashes during photo import/indexing, it's almost certainly an out-of-memory kill.
PhotoPrism requires minimum 4GB of swap space. Without it, the Linux OOM killer terminates the process during TensorFlow face detection.
Fix:
sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfileAdd to /etc/fstab for persistence.
#selfhosted #photoprism #docker #linux #homelab #troubleshooting #foss
-
On Familiar Faces and Forgotten Names
Reading Time: 2 minutesIt's amusing. I look through Immich and Photoprism and I am struck by how many names I have forgotten, but how easily I remember certain faces. I'm also curious to see how I remember certain names after scrolling through faces yet to be identified.
Decades ago when I was playing with iPhoto and Picasa I knew all these people well, and I saw them daily. It was easy to match faces to names. Now it's a challenge, because I haven't seen these people in years, if not decades.
For a while iPhoto and Picasa were happy to encourage us to add names to faces, until people worried about privacy, and the need to deactivate this functionality. It's about privacy.
Now that we are moving back to to an era of locally installed apps, or self-hosting, if we want to use a trendy term, we can allow facial recognition to know which face belongs with which name. The challenge is to remember the name.
If Facebook was still the network of uni friends and their friends, and our families, and friends of theirs, then it would be easy to remember who A, B and C are.
Instead I rely on patience, and triggers. I might not recognise a face for days or weeks, and eventually I remember because by remembering name A and Context C I find the name from that memory subset.
On Immich I have identified plenty of people, but I have 11,000 faces in total, so remembering all those names is highly unlikely. On Photoprism I have recognised 80 faces out of 999+ faces. Each time I recognise a dozen I end up with 999 more faces to recognise.
In some cases I met the people two or three times, so to forget their name is normal. In other cases I spent years seeing these people daily so I should remember their names with ease.
The forgotten names don't really matter. The value of Photoprism, and Immich facial recognition is consolidating my name recollection for people that are part of my current life, whether it is people I cycle, hike, discuss books with or more. It would be nice to recognise people by their names, as well as their faces.
Photoprism V Immich
Immich is head and shoulders above Photoprism when it comes to browsing and naming faces. With Immich you can regonise a face, name it, double check, and return to naming other people within a second or two. With Photoprism it's slow and sluggish. For context Photoprism is slow and suggish on an HP455(need to double check) whereas immich on a Raspberry Pi 5 with 8 gigs of ram is fluid.
And Finally
When Immich and Photoprism instances crash and I need to repopulate a library most of the work is quick and automatic. I remember the name of via ferrata, and places. It's adding a name to a face that I find difficult. That's the part that takes time.
And finally, I do get a sense of accomplishment with recognising a face after days or weeks of trying to remember. Why do we forget names of familiar faces?
#facialRecognition #immich #machineLearning #photoprism -
On PhotoSync and Photo Uploader for Photoprism
Reading Time: 2 minutesPhotosync is a photo uploading app that allows you to upload to various devices and cloud solutions with ease. Photo Uploader for Photoprism is a specialist app for Photoprism. The reason for which I bring up both of these apps is that they allow you to sync to photoprism.
When I was testing uploads with Photosync I noticed that I can upload to the Photoprism library directly but that it creates a "current_phone" folder, and adds photos within this folder. Since my originals folder is meant to be clean and chronological this breaks the flow I want.
That's why I tested Photo Uploader for Photoprism. This is a specialist app. It's designed to upload to Photoprism and nothing else. I configured it correctly, went out for a walk and uploaded a few pictures and they appeared right where I expected and wanted them to appear.
Tidy with Photo Uploader
If I use a Fairphone 4, and an iPhone Se, and an Iphone 14 I'd end up with three or four camera folders, each filed with photos. It would require manual maintenance to ensure that the library remains organised chronologically.
With a chronological library photos appear by year, month, day, so whether you upload from camera A or B, or C, they all get organised into the same hierarchy reducing the risk of duplicates, triplicates or worse. It also makes it possible to share your library between apps.
Imagine that you have a photos directory that Photoprism can feed and Immich and Nextcloud can see. If Immich and Nextcloud can see the same directory as Photoprism, then photoprism is the primary interface and Immich and Nextcloud mirror it.
In this way you have a single library to backup and maintain and the others mirror. With rsync you can mirror this drive to a secondary drive for a backup, and you can also get a service like kdrive, iCloud, Google Drive or other to watch and mirror changes either automatically or via cron jobs.
Versatile with PhotoSync
Photosync offeers WebDav, Google Drive, Google Photos, Flickr, Photoprism and more. If you want to you can set it up to sync automatically to the service of choice, and you can tell it to delete photos once they're backed up. I never use the delete after backup option. I prefer to have files mirrored in at least one other place before deleting files.
Date Based Folders
While looking through I noticed that we have the Date Based Formats option, and the option of choosing recording date (year + month + day). I took a test photo this morning and it was automatically sorted into 2026/02/18/filename. By keeping the desired folder hierarchy I have little to no tidying up to do.
And Finally
Photosync and Photo Uploader for Photoprism do almost the same thing. Photosync feels more polished and stable. By allowing me to keep the folder hierarchy I want I can then feed Immich and Nextcloud with the shared folder without worrying about duplicates and triplicates.
If there is a breaking change for Photoprism, or Immich, and I need to start from scratch, my folder hierarchy will simplify the task, thanks in part to how Photosync or Photo Uploader for Photoprism, helped me keep my photos organised.
#apps #iOS #mobile #photoprism #photosync #upload -
Sorting Photoprism Photos With the Mistral Cat
Reading Time: 3 minutesI chose to experiment with Le Chat by Mistral, the French AI alternative to Gemini, Claude and CatIFARTED (ChatGPT). For the experiment I copied my Photoprism photos from the drive I use that is connected a Raspberry pi to a laptop before running scripts to sort and remove duplicates. It worked well, with a nice little bonus which I'll expand on later.
Goal: Clean Up Duplicate Photos
My objective was to Remove duplicate photos from a large collection while keeping the best version of each file. I Used jdupes to identify duplicates and a custom script to decide which files to keep.
The sources of duplication were that I imported photos from Google Takeout on one side, as well as from two or three iphones and an android phone. I suspect that Photosync might also contribute by encouraging the creation of a folder per device that we import from.
Custom Rules for Keeping Files
After running jdupe I set up custom rules that looked at file Naming: I told it to Prefer IMG_ or VIRB over hash-named files. iPhones, Android phones and photo cameras never, or rarely, use names that are hashes. These are usually created by Whatsapp and similar apps.
I chose to apply directory priority to Keep files in human-readable directories (e.g., "Spain bike ride") over generic ones (e.g., "Photos from 2018"). Google Takeout creates two or more folders. It creates a primary year folder with all photos from that year, as well as secondary event specific folders based either on the name we chose, for example 'spain bike ride' or date based, if we did not give a specific name.In the final step I noticed that it seemed to be choosing to delete HEIC files, rather than .JPG/.JPEG files. As HEIC are usually the original I want to keep the original. Eventually I saw that we had duplicate HEIC files, in which case I allowed it to remove duplicates of this file type. Finally I noticed that video files were either kept as mov files or converted. I accepted to have a rule to choose.MOV over .MP4. I used Le Chat (The cat) to help me understand the output from jdupe runs.
Script Development and Testing
As we progressed through the project The Chat offered three types of automation. It suggested Digikam, Pillow, a bespoke python script or using exiftool. In several cases it Wrote a Python script to apply the rules and generate a list of files to delete based on the output from jdupe being run.
Testing and Iteration
Part of collaborating with AI tools is experimentation and iteration. It's about running a command, seeing the output, understand what you see, and then perfecting the command until you get what you want. It's also about seeing opportunities.
One of the scripts I got The Cat to run was to check the "to delete" list and check if they had exif data for the creation date. i.e. the date when photos were taken. When a script confirmed that this was the case, that's when the process of fine tuning the deletion script advanced. These are the rules we mentioned above.
Verification and Safety Checks
We ran a lot of dry runs. When you run dry-run jdupe it checks for duplicates and outputs to the terminal. When you have thousands of duplicates the terminal window forgets plenty of results. that's where writing to a text file helps. It's persistent.
The beauty of these text files is that they're light, and you can share them with The Cat and the cat, in some situations, will actually run the script you discussed with it, rather than outputting the python script. This differs from Gemini in two ways. First it runs the script, so you don't have to, but secondly if it reaches the token limit for script execution then it gives you the python script to run locally.
What is especially nice is that you can still keep "chatting" even if you reach that limit. It just won't run scripts internally.
Backup: Emphasized
Along the way The Cat constantly encourages you to make sure you have a backup before running a command. As I was working from a copy, rather than the primary library I felt safe to experiment. Eventually I did execute the command to delete the duplicates and ran jdupe one last time to ensure the duplicates were gone.
And Finally
While experimenting I hit the limitations of the free plan, first for code execution, and then for chat. I didn't intend for it to run scripts on files I uploaded. I think running scripts locally makes more sense. I uploaded the data for The Cat to get a better understanding of the data.
Hitting the data limit is a feature. It encourages us to take a break and work on something else.
What surprised me, yesterday, but again today, is that I get fatigued from playing with AI, because although large language models do some of the thinking, you still need to babysit them, and understand and supervise what they're doing.
#AI #cat #jdupe #machineLearning #mistral #photoprism -
@pixeldorf
Schön, dass Du's wieder am Laufen hast... ja, NC kann schon a bissl rumzicken.
Vor allem vor nem Update gibts immer nen Snapshot. 😜Hab hier gelesen, dass ihr alle #Immich nutzt... sehr cool!
Da trau ich mich als #Photoprism User ja garnix mehr sagen. 😆 -
Happy I Love Free Software Day! 💕
Unfortunately, this year I could not join nor organize any in-person celebration, BUT of course I want to share my gratitude to the many, countless #FreeSoftware services I don’t merely use, but actually depend on.
Last year, I decided to focus only on #YunoHost, because it would have been crazy to list all the projects I use and I love.
This time, even if I will most certainly forget someone, I am challenging myself to mention all the #LibreSoftware my life is powered by.
Without further ado, THANK YOU to:
- @yunohost, for powering Nebuchadnezzar
- @fedora, for running my beloved #Framework laptop
- @frameworkcomputer, for designing and building repairable, #Linux-friendly and truly open hardware
- @gnome and @GTK, for being just gorgeous
- @calyxos (thus @LineageOS), for powering my #Fairphone5
- #Obtainium, for making me directly download apps on my phone, and @fdroidorg for distributing them
- #AuroraStore, for proxying the download of apps I am doomed to get from Google Play
- @element, for developing #Synapse, even though the new proprietary Synapse Pro is VERY PROBLEMATIC AND DISAPPOINTING
- #Fractal, for being the most beautiful and awesome #Matrix client ever
- @signalapp, for keeping me connected with the people I love
- @Mastodon, for also maintaining a feature-packed experimental fork (#GlitchSoc), that is what Pan runs
- #Tuba and #Moshidon, for being the most beautiful and awesome #Mastodon clients ever
- #Firefox, for still remaining the best possible #browser choice, despite #Mozilla’s governance messiness
- @openstreetmap, for allowing us to find the right path, both literally and metaphorically!
- @organicmaps, for being the simplest, cleanest, yet feature-rich #OSM client and navigation app
- @protonvpn, for making me browse safely from/to anywhere in the planet and @protonprivacy #ProtonMail, for hosting my email, despite the latest alarming political statements…
- @libreoffice, for allowing me to draft documents with ease, the last of which was my #CV
- #LanguageTool, for preventing me from making embarassing spelling mistakes
- @photoprism, for safely storing and indexing all my photographic memories, on Aby, and for providing stellar and friendly support too!
- #Actual, for moderating the very likely risk of ending up completely broke, since it forces me to manage my finances consciously and coherently
- @readeck, for storing and sorting ALL my varied and overwhelming inputs
- @nextcloud, for storing and synchronizing my data, for its #calendar, its #tasks, and all its awesome apps
- #Rustdesk, for preventing my friends and family members from going crazy, by allowing me to remotely connect to their devices and directly address the issues they have
- #Listmonk, for sending out my newsletter
- @eleventy, for powering all the websites I maintain, above all the virtual representation of my mind, and for being the only reason why I resist and try to continue learning #JavaScript
- @forgejo, for giving us a chance to truly control and collectively develop the sources of our software, but most importantly @Codeberg, for RESISTING, RESISTING, RESISTING, despite the hatred and attacks nazi assholes throw at them
- @musicbrainz for keeping music knowledge open and free, and @ListenBrainz for scrobbling the crazy music I listen to
- The @fsfe, for promoting this celebration and fighting the good fight!
Lastly, but most importantly, the biggest thank you goes to all the free software libraries and dependencies the above mentioned #software are made of/built with, including #C, #JavaScript, #Python, #Rust, and all community-maintained programming languages.
I am super sorry if I forgot someone!
#OpenSource #ILoveFS #SoftwareFreedom #Fairphone #Android #LineageOS #FSFE #OpenStreetMap #PhotoPrism #LibreOffice #Readeck #Eleventy #11ty #GNOME #Signal #forgejo #Codeberg #MusicBrainz #ListenBrainz #MetaBrainz
-
Reading Time: 2 minutes
This morning I made PhotoPrism self-booting. I am not certain that this is the write term so I will specify what I mean. PhotoPrism, when run via docker boots, when we tell it to boot, like any other app on our laptop. This morning, after a little time spent with AI I found the solution.
I used ChatGPT for this help but this is to give you an idea of how to enable docker containers to boot automatically rather than manually. It’s by a little trial and error that I suceeded in what I wanted to do.
Boiled down Chat GPT gave this overview
To start a service: sudo systemctl start servicename.service
To stop a service: sudo systemctl stop servicename.service
To restart a service: sudo systemctl restart servicename.service
To enable a service to start on boot: sudo systemctl enable servicename.service
To disable a service from starting on boot: sudo systemctl disable servicename serviceIn concrete terms you need to “sudo nano /etc/systemd/system/photoprism.service” and add
[Unit]Description=PhotoPrism Docker Compose Service
Requires=docker.service
After=docker.service[Service]Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/local/bin/docker-compose -f /path/to/your/docker-compose.yml up -d
ExecStop=/usr/local/bin/docker-compose -f /path/to/your/docker-compose.yml down[Install]WantedBy=default.target
In my case it was /usr/bin rather than local bin. That’s a little thing to look out for. To double check use “which docker-compose” and you will see what to use for the execstart address.
If you are using an external volume double check that the mount point is static. I rebooted twice and got three mount points as well as an “original picture folder empty” message due to the photo drive being mounted in the wrong place. To fix this I used.
sudo blkid
to locate the uuid of the hard drive before personalising this line:
UUID= /path/to/mountpoint ext4 defaults 0 2
I left the defaults behaviouts. The 0 is for fsck to check the file system and 2 is the backup priority number.This is added via:
sudo nano /etc/fstab
Once you have ensured that the drive mount point will remain the same, boot after boot you can run the next lines.
Reload Systemd
sudo systemctl daemon-reload
Enable PhotoPrism to launch at boot
sudo systemctl enable photoprism.service
To start the service
sudo systemctl start photoprism.service
And finally you can run
sudo systemctl status photoprism.service
to check service status.And Finally
When I set up a server for photoprism or other services I want it to boot automatically as soon as the computer is booted. I don’t want to have to start services manually. With this workflow I was able to setup PhotoPrism to boot automatically, as well as to make sure that the photo drive would mount to the right place each time I booted the system.
https://www.main-vision.com/richard/blog/photoprism-self-boot/
-
Migrating Photos to Photoprism Via Rsync
Reading Time: 2 minutesI downloaded my photographs from Google Photos via Google Takeout before using Exiftool to repopulate the exif metadata. Once this was done, I had to move the files from the mac to the Raspberry Pi running photoprism. For this I used rsync because it can run in the background as you sleep.
The Rsync command
The command is rsync -avzP /source/ user@remote_host:/destination/
-a is for the archive mode
- v is verbose. It tells you what it's doing
-z compresses data to save a little on bandwidth
-P gives you a progress report in the form n/total number of files.
The Process
With Photoprism I moved the files from the takeout folder, in full, to the import folder in Photoprism. As there were a lot of files I let it run overnight.
This morning I opened Photoprism in the browser and chose to import the folder, making sure to have "move" selected. With "move" selected files that are finished with are deleted from the import folder to keep things tidy.
Resume
The advantage of using rsync is that if either machine crashes, or if the transfer is interrupted you can resume from where the issue occurred. I had to resume once during a previous transfer.
Remember, don't ask Photoprism to import the directory until all the photos have been ingested, because if you do it might transfer the same files over and over.
Integration with Kdrive Photo Backup
I automatically backup the photos from my phone to kdrive, and from kdrive I back them up to a local hard drive. With Rsync I can transfer the files from the local backup to photoprism to ensure that I have a complete backup.
The Photosync app for Android and iOS works well, but it can take hours, if not days to back up photos especially if the originals are stored in iCloud and they need to be downloaded back to the phone before being uploaded to Photoprism, and Immich.
By using Kdrive to backup all photos locally and using rsync to transfer them to the Photoprism import folder you're saving time, especially given that iOS devices have storage limitations.
The other advantage is that it doesn't alter exif information. The files are only moved from one device to another, not altered.
And Finally
Whilst transferring files with Rsync takes hours, and importing those files into Photoprism also takes hours, all of the work is done without the need for human intervention.
#kdrive #photoprism #rsync - v is verbose. It tells you what it's doing
-
Migrating Photos to Photoprism Via Rsync
Reading Time: 2 minutesI downloaded my photographs from Google Photos via Google Takeout before using Exiftool to repopulate the exif metadata. Once this was done, I had to move the files from the mac to the Raspberry Pi running photoprism. For this I used rsync because it can run in the background as you sleep.
The Rsync command
The command is rsync -avzP /source/ user@remote_host:/destination/
-a is for the archive mode
- v is verbose. It tells you what it's doing
-z compresses data to save a little on bandwidth
-P gives you a progress report in the form n/total number of files.
The Process
With Photoprism I moved the files from the takeout folder, in full, to the import folder in Photoprism. As there were a lot of files I let it run overnight.
This morning I opened Photoprism in the browser and chose to import the folder, making sure to have "move" selected. With "move" selected files that are finished with are deleted from the import folder to keep things tidy.
Resume
The advantage of using rsync is that if either machine crashes, or if the transfer is interrupted you can resume from where the issue occurred. I had to resume once during a previous transfer.
Remember, don't ask Photoprism to import the directory until all the photos have been ingested, because if you do it might transfer the same files over and over.
Integration with Kdrive Photo Backup
I automatically backup the photos from my phone to kdrive, and from kdrive I back them up to a local hard drive. With Rsync I can transfer the files from the local backup to photoprism to ensure that I have a complete backup.
The Photosync app for Android and iOS works well, but it can take hours, if not days to back up photos especially if the originals are stored in iCloud and they need to be downloaded back to the phone before being uploaded to Photoprism, and Immich.
By using Kdrive to backup all photos locally and using rsync to transfer them to the Photoprism import folder you're saving time, especially given that iOS devices have storage limitations.
The other advantage is that it doesn't alter exif information. The files are only moved from one device to another, not altered.
And Finally
Whilst transferring files with Rsync takes hours, and importing those files into Photoprism also takes hours, all of the work is done without the need for human intervention.
#kdrive #photoprism #rsync - v is verbose. It tells you what it's doing
-
The Mature Phone Photo Backup Landscape
Reading Time: 3 minutesMany years ago, if I took photos with a nokia phone I had to sync them via a memory card. With the arrival of the Android Nexus on and the Apple iPhone our digital photography habits changed. With time we would leave our cameras at home, and carry our mobile phones, and photograph paries and hikes with these.
In the process we had two apps to backup. Google Photos and iPhoto. Both of these were optimal for whether we were on iOS or Android. For a while this was fine because they automatically backed up to our computers. With time though, the backup was more and more cloud centric, to the point where our photos were now either on iCloud or Google Photos.
iCloud and Google One
People like me, of course, had a backup in iCloud and Google Photos. For a considerable amount of time Google Photos had a counter that increased every day so storage felt unlimited, until they decided to charge for storage. By then emmigrating from their cloud solutions was complicated by the time it would take to download the data, but also because with Google Takeout the photo data was separated from the photo files. Migrating would now be a hassle but that is a topic for another post.
Telecom Operators
Today we have a multitude of photo backup solutions. Some are provided by our telecom operator. MyCloud is provided by Swisscom for example. Infomaniak has both the kDrive app, if you want to backup with their own tool, or you can setup a Nextcloud instance that you host via their 'self-hosting' offerings.
Self-Hosting
NextCloud can also be self-hosted on a Pi, personal laptop or other but in my experience it can be fragile.
Immich and Photoprism are two interesting alternatives. Immich feels a lot like Google Photos and Photoprism is similar. Photoprism is developed in the EU.
There are other options but I mention two of the key players.
Flickr
If we think laterally then Flickr is another option. For around 8 CHF per month you can backup an unlimited amount of photos, and you can then choose to make some of them public and share them to groups.
Since this is a community of photographers, rather than influencers quality is higher, and the focus is on landscapes, urban views, people and more. This is an expensive option that fills a niche that other apps do not fill.
Google Photos and Photos
The key difference between Google Photos, Photos, on MacOS and iOS and third party options such as Kdrive, immich and others is that they usually do not run in the background automatically. with Google Photos and Photos as soon as you take a photo it is backed up. With almost every other app you need to open the app, and keep it open until uploading ends.
With Immich and Photoprism I kept the apps open, on a specific screen to backup years of photos. This could take the entire night. That's why iCloud is a good parachute, until you've backed up to third party solutions.
The Temporarily Free Trap
iCloud, Google Photos and MyCloud were all free for long enough for us to store photos with them, and when they became paying we had to choose between abandoning photos or paying for their service. That's why Immich and Kdrive are interesting options. Immich is local, and kDrive can be backed up locally with ease.
And Finally
For me the ideal setup includes Immich, Kdrive and iCloud if you're on iOS. Immich is the primary photo app, used to backup and catalogue photos. Kdrive is excellent as an offsite backup, but it also has the advantage of automatically backing up to a hard drive in my home. If I see a cheaper contract I can easily slide to that one within minutes, in theory.
Finally icloud is the parachute. As soon as photos are backed up to Immich and Kdrive they can be deleted from the phone, saving space.
#Google #icloud #immich #kdrive #MyCloud #NextCloud #photoprism #selfHosting -
The Mature Phone Photo Backup Landscape
Reading Time: 3 minutesMany years ago, if I took photos with a nokia phone I had to sync them via a memory card. With the arrival of the Android Nexus on and the Apple iPhone our digital photography habits changed. With time we would leave our cameras at home, and carry our mobile phones, and photograph paries and hikes with these.
In the process we had two apps to backup. Google Photos and iPhoto. Both of these were optimal for whether we were on iOS or Android. For a while this was fine because they automatically backed up to our computers. With time though, the backup was more and more cloud centric, to the point where our photos were now either on iCloud or Google Photos.
iCloud and Google One
People like me, of course, had a backup in iCloud and Google Photos. For a considerable amount of time Google Photos had a counter that increased every day so storage felt unlimited, until they decided to charge for storage. By then emmigrating from their cloud solutions was complicated by the time it would take to download the data, but also because with Google Takeout the photo data was separated from the photo files. Migrating would now be a hassle but that is a topic for another post.
Telecom Operators
Today we have a multitude of photo backup solutions. Some are provided by our telecom operator. MyCloud is provided by Swisscom for example. Infomaniak has both the kDrive app, if you want to backup with their own tool, or you can setup a Nextcloud instance that you host via their 'self-hosting' offerings.
Self-Hosting
NextCloud can also be self-hosted on a Pi, personal laptop or other but in my experience it can be fragile.
Immich and Photoprism are two interesting alternatives. Immich feels a lot like Google Photos and Photoprism is similar. Photoprism is developed in the EU.
There are other options but I mention two of the key players.
Flickr
If we think laterally then Flickr is another option. For around 8 CHF per month you can backup an unlimited amount of photos, and you can then choose to make some of them public and share them to groups.
Since this is a community of photographers, rather than influencers quality is higher, and the focus is on landscapes, urban views, people and more. This is an expensive option that fills a niche that other apps do not fill.
Google Photos and Photos
The key difference between Google Photos, Photos, on MacOS and iOS and third party options such as Kdrive, immich and others is that they usually do not run in the background automatically. with Google Photos and Photos as soon as you take a photo it is backed up. With almost every other app you need to open the app, and keep it open until uploading ends.
With Immich and Photoprism I kept the apps open, on a specific screen to backup years of photos. This could take the entire night. That's why iCloud is a good parachute, until you've backed up to third party solutions.
The Temporarily Free Trap
iCloud, Google Photos and MyCloud were all free for long enough for us to store photos with them, and when they became paying we had to choose between abandoning photos or paying for their service. That's why Immich and Kdrive are interesting options. Immich is local, and kDrive can be backed up locally with ease.
And Finally
For me the ideal setup includes Immich, Kdrive and iCloud if you're on iOS. Immich is the primary photo app, used to backup and catalogue photos. Kdrive is excellent as an offsite backup, but it also has the advantage of automatically backing up to a hard drive in my home. If I see a cheaper contract I can easily slide to that one within minutes, in theory.
Finally icloud is the parachute. As soon as photos are backed up to Immich and Kdrive they can be deleted from the phone, saving space.
#Google #icloud #immich #kdrive #MyCloud #NextCloud #photoprism #selfHosting -
On Self Hosting and Having Multiple Devices
Reading Time: 4 minutesI grew up in the eighties, and 90s, and so computing, open source software and the world wide web grew up with me. In that time we went from going to magazine shops to buy mags, and cd shops to buy CDs, and book shops to buy books. We also took photos on rolls of films and then took those rolls to La Combe or the Garden Centre to have the films processed, and then we put them in albums.
When we had VCRs and VHS tapes we would either record things from terrestrial TV or satellite TV to VHS. We would have shelves, and furniture to store all of this physical media.
Shifting to Digital from Physical
With time we began to have feature phones with cameras, and then digital photo cameras. We went from using VHS tapes to having digital satellite receivers paired with PVRs. We went from using physical mediums to digital mediums and with time our habits changed.
For a long time we took photos, and if we scanned them, or if we digitised video tapes, then we would have electronic versions, stored on hard drives in our homes. For years we went for walks and took pictures with digital photo cameras, and eventually mobile phones, and then we would transfer them to our computer's hard drive, before uploading them via Picasa and other sites to share on the web via Flickr and other sites.
Wired Synchronisation
When I went for scuba dives and hikes my Suunto Dive computer or Suunto GPS watch would track my activity. When I got home I would remove the watch from my wrist and I would sync that data to Sports Tracker, and eventually MovesCount, and then back to Sports Tracker, Strava, Komoot and a multitude of services.
With the Ambit 2 and the Ambit 3 we would go for a hike, and then sync the data by connecting the watch to the computer. With the Suunto Spartan Wrist HR Baro watch, and other watches our data was synced automatically from our watch to the app, and then to cloud services. We no longer charged our device after every outing.
Seamless Syncing to Cloud Services
Over the years, as mobile phones improved, and as projects like Picasa and iPhoto gained maturity so culture shifted. We shifted away from desktops with easily upgradeable storage to laptops with half a terabyte of storage. As all of our devices synched either to Google Photos, and Google Drive, or with iPhotos and iCloud, so we dropped the habit of storing things locally.
This was for two reasons. The first is that we had terabytes of data now and only half a terabyte on our laptops, and 128gb on our mobile phones. We can get iPhones with more storage but that takes you from 3 CHF per month to 10 CHF per month with iCloud for two Terabytes. With Google One it costs 100 CHF per year for the same amount of storage. With Kdrive it costs 67 CHF per year for six terabytes. With kDrive you can easily back up to the cloud, and seamlessly back up at home.
Backing up to the cloud became so simple and intuitive that a generation grew up, never thinking of hard drives and local storage, because they're cloud native.
I saw an article "I finally understand why people self-host their media" and it illustrates the paradigm shift from my childhood to today.
When I was playing with self-hosting, and learning about Photoprism, Immich and other self-hosting solutions I thought about the shift from computer applications that ran on our desktops, stored on our personal computers, towards the age of the laptop and cloud based apps.
In essence, as we moved from using our desktop when we were home, to laptops at university, and then all the time, so we dropped the desktop, and local applications.
A Multi Device Life
In this day and age we might have an Apple laptop, a linux laptop and two or three phones that we have, from years of using phones until the battery begins to fail and then replacing them. This means that our decentralised media consumption habits, via phone, laptop, fitness watch and more, encourages us to shift from desktop apps to self-hosted apps on servers. Instead of having a single computer with 'huge' amounts of storage we're using phones with 128gb of storage and laptops with half a terabyte.
If you're curious about why I keep bringing up 128gb of storage, it's because this is the most affordable option for iPhones, and it can still be backed up to iCloud without investing in the 10 CHF per month plan. With a 200 or 500gb phone you would need to upgrade to a more expensive cloud solution if you don't self-host.
On Streaming Films, TV, but Not Music
Years ago I streamed music, until I realised that whereas I would spend 30-90 CHF in a year on music, at most, I spent much more on streaming services. That's why I dumped streaming services. It's cheaper to buy an "album". You also listen to the same songs, over and over again, so it makes sense to own them rather than stream them.
With film and television it is different. For 40 CHF or more you buy a film or TV series, watch it once, and then it's gathering dust, and degrading gradually over time.
I was going to expand on this topic but it's simple. Self-hosting TV series and films costs more money than it saves.
And Finally
When I was learning about Linux and self-hosting I eventually thought, "but self hosting is just running an app locally, like we used to do before. The only difference is that the app is on a server, rather than our main computer."
I believe that the shift from iPhoto and Picasa to cloud based solutions and self-hosting reflects a shift from a desktop and laptop centric use case to a more diverse one, where cloud based apps simplify our technological flow throughout the day.
Now that I use a Mac Mini certain habits might change. It's easier to keep an HD plugged permanently.
#Google #icloud #immich #kdrive #NextCloud #photoprism #selfHosting #suunto -
On Self Hosting and Having Multiple Devices
Reading Time: 4 minutesI grew up in the eighties, and 90s, and so computing, open source software and the world wide web grew up with me. In that time we went from going to magazine shops to buy mags, and cd shops to buy CDs, and book shops to buy books. We also took photos on rolls of films and then took those rolls to La Combe or the Garden Centre to have the films processed, and then we put them in albums.
When we had VCRs and VHS tapes we would either record things from terrestrial TV or satellite TV to VHS. We would have shelves, and furniture to store all of this physical media.
Shifting to Digital from Physical
With time we began to have feature phones with cameras, and then digital photo cameras. We went from using VHS tapes to having digital satellite receivers paired with PVRs. We went from using physical mediums to digital mediums and with time our habits changed.
For a long time we took photos, and if we scanned them, or if we digitised video tapes, then we would have electronic versions, stored on hard drives in our homes. For years we went for walks and took pictures with digital photo cameras, and eventually mobile phones, and then we would transfer them to our computer's hard drive, before uploading them via Picasa and other sites to share on the web via Flickr and other sites.
Wired Synchronisation
When I went for scuba dives and hikes my Suunto Dive computer or Suunto GPS watch would track my activity. When I got home I would remove the watch from my wrist and I would sync that data to Sports Tracker, and eventually MovesCount, and then back to Sports Tracker, Strava, Komoot and a multitude of services.
With the Ambit 2 and the Ambit 3 we would go for a hike, and then sync the data by connecting the watch to the computer. With the Suunto Spartan Wrist HR Baro watch, and other watches our data was synced automatically from our watch to the app, and then to cloud services. We no longer charged our device after every outing.
Seamless Syncing to Cloud Services
Over the years, as mobile phones improved, and as projects like Picasa and iPhoto gained maturity so culture shifted. We shifted away from desktops with easily upgradeable storage to laptops with half a terabyte of storage. As all of our devices synched either to Google Photos, and Google Drive, or with iPhotos and iCloud, so we dropped the habit of storing things locally.
This was for two reasons. The first is that we had terabytes of data now and only half a terabyte on our laptops, and 128gb on our mobile phones. We can get iPhones with more storage but that takes you from 3 CHF per month to 10 CHF per month with iCloud for two Terabytes. With Google One it costs 100 CHF per year for the same amount of storage. With Kdrive it costs 67 CHF per year for six terabytes. With kDrive you can easily back up to the cloud, and seamlessly back up at home.
Backing up to the cloud became so simple and intuitive that a generation grew up, never thinking of hard drives and local storage, because they're cloud native.
I saw an article "I finally understand why people self-host their media" and it illustrates the paradigm shift from my childhood to today.
When I was playing with self-hosting, and learning about Photoprism, Immich and other self-hosting solutions I thought about the shift from computer applications that ran on our desktops, stored on our personal computers, towards the age of the laptop and cloud based apps.
In essence, as we moved from using our desktop when we were home, to laptops at university, and then all the time, so we dropped the desktop, and local applications.
A Multi Device Life
In this day and age we might have an Apple laptop, a linux laptop and two or three phones that we have, from years of using phones until the battery begins to fail and then replacing them. This means that our decentralised media consumption habits, via phone, laptop, fitness watch and more, encourages us to shift from desktop apps to self-hosted apps on servers. Instead of having a single computer with 'huge' amounts of storage we're using phones with 128gb of storage and laptops with half a terabyte.
If you're curious about why I keep bringing up 128gb of storage, it's because this is the most affordable option for iPhones, and it can still be backed up to iCloud without investing in the 10 CHF per month plan. With a 200 or 500gb phone you would need to upgrade to a more expensive cloud solution if you don't self-host.
On Streaming Films, TV, but Not Music
Years ago I streamed music, until I realised that whereas I would spend 30-90 CHF in a year on music, at most, I spent much more on streaming services. That's why I dumped streaming services. It's cheaper to buy an "album". You also listen to the same songs, over and over again, so it makes sense to own them rather than stream them.
With film and television it is different. For 40 CHF or more you buy a film or TV series, watch it once, and then it's gathering dust, and degrading gradually over time.
I was going to expand on this topic but it's simple. Self-hosting TV series and films costs more money than it saves.
And Finally
When I was learning about Linux and self-hosting I eventually thought, "but self hosting is just running an app locally, like we used to do before. The only difference is that the app is on a server, rather than our main computer."
I believe that the shift from iPhoto and Picasa to cloud based solutions and self-hosting reflects a shift from a desktop and laptop centric use case to a more diverse one, where cloud based apps simplify our technological flow throughout the day.
Now that I use a Mac Mini certain habits might change. It's easier to keep an HD plugged permanently.
#Google #icloud #immich #kdrive #NextCloud #photoprism #selfHosting #suunto -
Reading Time: 5 minutes
Yesterday I started the proper migration of my Google Photo assets from Google Takeout to PhotoPrism. The first step was to mount the drives to the linux system, the second was to transfer the photos from the external hard drive to the internal SD card, unzip them, and then start imposing assets.
The first bottle neck is exporting 800 gigabytes from Google drive to a local drive. I chose to download the files in one gigabyte packages in fifty gigabyte sets over many hours. This depends on your connection so the experience will vary.
Moving Between Disks
The second bottle neck is when moving the files from an external hard drive to a microsd card. The transfer can be quite time consuming which is part of my reason for using a Pi, rather than a laptop. A laptop would be much faster but it will time out unless you tell it not to sleep. The issue with that is that laptops are not designed to be un for days at a time, without sleeping every so often. Once the Pi is working you can leave it to work.
Ideally I would keep the files on the external drive and skip this time consuming step. I wanted to test the feasability of using an SD card, to keep things tidy once the time consuming phase is over.
Unzipping
PhotoPrism needs files to be unzipped to work. This can be a time consuming task if you do so with the Pi, rather than a laptop or desktop. I would recommend unzipping the files ahead of moving the files from an external drive to an internal drive. At the time of writing I did not find a quick way of unzipping files with a single command.
Importing From the Import Folder
PhotoPrism has an import folder. This is where you extract your unzipped Google Takeout Folders to. Select “move files” to delete all files that have been automatically imported. Click import and then PhotoPrism does the rest. This is the stage that takes the most time. PhotoPrism orgqanises the photos by year, month, date, location, tags, and people. This is the stage where you can go for a walk, or enjoy a good night of sleep because it will take hours to complete.
I am not clear whether the JSON files for images are always zipped within the same archive or whether they are zipped once every few files. This is part of my reason for experimenting with ingesting several gigabytes at a time, rather than one folder at a time. The second reason is that if I give it tasks that take hours it gives me no excuse to procrastinate. That’s what I did before writing this blog post.
Recognising Faces
PhotoPrism recognises faces but it doesn’t create a “person” until it has several images. When it does have several images it gives you the opportunity to name that face, or add it to a pre-existing face. It’s nice to watch as faces from your past re-appear, and amusing when you realise how many names you have forgotten, as well as seeing which ones you clearly remember.
Recognising Places
At the moment when I am writing this post it has recognised 200 places and 15 states. When it recognises a place you can search by country via the search tool, or by location with the map. States are towns, villages or regions. This is a useful way of organising photos because it shows how much you travel, but also how many places you have been to, once you zoom in enough.
Cameras
This tool, by reading EXIF info, makes it possible to search for photos by camera. You can search for 360 photos with insta360 or photos from years ago with canon s70 or Canon EOS 5 MkII etc.
Categories
If you’re looking for photos of food, or aircrafts, or goats, or sheep, or monuments, or historical, you can. It also allows you to seach by colours, for example teal for grass and diving or blue for sunny days and more.
Years and Months
It is possible to search by year or by month, or both. You can search for December images to see if you can find images of snow, or you can search for June and yellow to find images of drought.
Import and Log
Two tabs that I spent time watching last night when I first started to import Google Photos properly were “import” and “log”.
The import tab is important because it allows you to know whether files are being imported or not so this allows you to decide whether to import more images or not. I prefer to import 50 gigabytes, clear the import directory, and then import the next 50 gigabytes, rather than to leave it to run for hours and assume that everything was imported correctly. If something fails I like to know when it’s easier to fix. So far I am under the impression that photos are, at the very least, imported into folders by year and month, as well as indexed automatically based on content.
I like to watch the logs to see if errors occur, but also to see when new faces are recognised, whether thumbnails are being generated correctly as well as when a new face cluster is ready to be named.
Making Photos and Videos Private
With PhotoPrism you can set several images or videos as private at once. You select the first image and then before clicking the last image press shift as you click and it will select that range. You can then click on the lock and those images or videos will be marked as private. Having the ability to select a range of images and apply changes, such as privacy is useful. I use privacy as an example but you could just as easily add a country, or keyword, or anything else.
The Index Tab
I realise that I should mention the index tab. Indexing runs automatically, as soon as it detects images in a directory or a mounted drive it will attempt to index those files which is both useful and likely to cause a mess. Luckily PhotoPrism comes with a “cleanup” tool to make clearing up orphan files and tidying the index easier.
It’s Fast
Despite indexing thousands of files, adding metadata, recognising colours, adding categories and labels, as well as generating thumbnails it’s fast. I can load images almost instantly when scrolling up and down. This is despite running on a Pi whilst it’s working hard. This is a great self-hosted alternative to Google Photos and iPhotos. Remember, before cloud storage was a default tools like Picasa existed, and these were great for organising photos. The difference is that now they’re cloud solutions where the cloud is your home Raspberry Pi rather than an app on your phone or laptop.
User Roles
When you use PhotoPrism for free you can have just one user. If you pay 2 Euros per month you can have “Super Admin, Admin, User, Viewer, Guest” accounts. This allows you to create individual users, to add friends and family.
Cloud Option
If you don’t desire to have your own private instance running at home you have a cloud based solution that starts at 6.50 Euros per month but it’s unclear what the cost is for storage.
And Finally
Initially I thought that I would use Nextcloud for media asset management but when it failed to display video files as thumbnails and when I saw that I couldn’t easily get rid of orphan index entries I hesitated between Immich and PhotoPrism. What made me commit to PhotoPrism is that I saw that they had a tool to import from Google Takeout built in. Instead of spending hours or even days or weeks re-organising photos the software would do it for me.
Adobe Lightroom costs 99 CHF per year. Kyno by LessPain Software costs 150 Euros per year and CatDV costs several thousand CHF to purchase. If you know how to setup PhotoPrism you can save money, or upgrade the hard drive to a higher capacity once per year, to ensure less risk of drive failure due to age.
https://www.main-vision.com/richard/blog/migrating-media-assets-from-google-photos-to-photoprism/
#bottleNecks #day415 #googlePhotos #googleTakeout #photoprism #workflow
-
When I take a picture on my phone, #syncthing puts it on the network storage where #inotify sees it and signals #incrond to run 'index' for #photoprism
in other words:
in less then ten seconds every picture taken with my phone is available in my photo-library application and backed up, all using free and open source software.
-
Mẹo nhỏ: Dùng Nextcloud làm cầu nối để đồng bộ ảnh từ điện thoại vào PhotoPrism hoàn toàn miễn phí, không cần mua app trả phí. Cài đặt: Dùng app Nextcloud để tự động tải ảnh lên, sau đó mount thư mục ảnh vào PhotoPrism qua Docker. Ảnh sẽ tự động được đồng bộ và index. Mình cũng dùng Nextcloud để đồng bộ Joplin (WebDAV) và Floccus (WebDAV). #Nextcloud #PhotoPrism #SelfHosting #Docker #Sync #NextcloudSync #Joplin #WebDAV #Tự_động_hóa #Dữ_liệu_riêng #Lưu_trữ_tự_chủ
-
Reading Time: 2 minutes
A Cold Walk
Yesterday I went out for my daily walk but within minutes I noticed that my legs felt cold and that I really did need the scarf that I wore. It’s exceptional for me to wear a scarf. My fleece and my inner coat both have neck protection built in so I usually feel fine. Yesterday was unusually cold so I was happy to add the scarf to really keep my neck warmer. I removed it for a few minutes because it felt itchy but I soon put it back on.
PhotoPrism is Still Indexing
In the meantime PhotoPrism has been chugging away, indexing tens of thousands of files and adding location information as well as other metadata. It has indexed 60,000 files of which 20,000 are videos. Most of the video files are junk though, stuff I saved that has no personal value. I’m marking the video files as private and I will probably delete them as they take teraybtes of space without having much value.
Migrating to a Linux Machine
I also experimented with migrating my blog writing from this mac to a Linux machine. I managed to gh clone the blog files from github to my local linux machine but struggled a little with uploading the test file from the linux machine to the web server. While writing this blog post I was reminded of the solution that should work.
My mac is old and I suspect that at some point the battery will fail and I will lose access to it. I already had to swap the battery once and soon it will die again, and that’s when I will stop using it.
I considered swapping the battery a second time but I saw that Apple is about to stop support for it. If I can use a Linux machine instead, then I save money.And Finally
Walking in challenging weather is good. It requires us to equip ourselves better, to remain comfortable, whether it’s cold, rainy, windy, or a heatwave. By migrating from Google Photos to PhotoPrism I can keep photos and videos locally rather than in the cloud, and access them with ease, as well as slide from the cheapest service to the cheapest service without investing days or weeks in the effort.
Sliding from Mac to Linux is about learning, and cutting costs, but mainly about experimentation and learing about a different OS. It’s good to be comfortable on Windows, Linux and Mac. At least now if, and when, the mac fails I will be ready to slide from one device to the other.
https://www.main-vision.com/richard/blog/photoprism-walks-in-cold-weather-and-migrating-to-linux/
#cold #freezing #indexing #laborious #photoprism #unpleasant #weather #wind
-
I've seen some pretty nifty #homelab network maps on here, I need to get around to making something like that.
I'm kind of addicted to spinning up and hosting cool and useful services in #Docker at home (and/or on a #VPS).
Here are a few of them I use on a regular basis:
- #AudioBookshelf (audiobook server)
- #BoringProxy (reverse proxy and tunnel manager)
- #CalibreWeb (ebook server)
- #croc relay (file transfer utility)
- #EternalJukebox (your favorite song ∞)
- #glauth (LDAP server with 2FA)
- #MIMIC3 (TTS engine)
- #mirotalk (WebRTC video conferencing)
- #nitter (Twitter frontend/proxy)
- #Photoprism (photo gallery)
- #pihole with #dnscrypt (DNS-based adblocker)
- #Plex (media server)
- #PodGrab (podcast server)
- #PretendYoureXyzzy (Cards Against Humanity clone)
- #StepCA (certificate authority)
- #TransmissionOpenVPN (Transmission torrent client and OpenVPN in Docker)
- #UptimeKuma (service monitoring tool)
- #VaultWarden (BitWarden-compatible server)
- #WireGuard (VPN)
Anything super nifty y'all think I'm missing?
-
@sesivany @newhinton I am pretty happy with #PhotoSync. Give it a try. So far I have tried #photoprism and #Immich as targets.
-
Using #PhotoSync to sync my newly-created photos in real-time from my phone to my #PhotoPrism server is damn powerful!
-
It's week two on #PhotoPrism after switching away from #Immich . So far so good.
#SelfHosted #Photosync #DIY #Linux #Photos #DeGoogle #DeGoogled
-
@cooper not yet, but I was considering #Syncthing for synchronisation and something like #PhotoPrism for categorising and sharing; they have a #DockerCompose available for #Selfhosting (https://docs.photoprism.app/getting-started/docker-compose/)
Apparently this¹ #PhotoSync also works with it, but I was considering Syncthing Lite (apparently hasn't been updated in 3.5 years 😔).
Alternatively I would run Nextcloud and their clients for photo syncing and sharing ✌️🙃
-
Reading Time: 5 minutes
Last night I installed Immich on an HP laptop with ease. The issue I came up against is that laptops sleep and hibernate after a few minutes unless you are actively using them. This means that you need to use them whilst files are being transferred if you do not want tasks to be interrupted. That’s why, this morning I decided to try installing immich on two different raspberry Pi devices. The first is the one running Nextcloud.
Trial and Error Installation
I struggled with this install because first I had to download the right docker packages and then I had to unpack them and then I needed to check that docker was up and running and then I had to try to get Immich to launch but I encountered an error message. “no matching manifest for linux/arm/v8 in the manifest list entries”. After a quick search of the web I found that version of Linux and ARM processor are not supported via this instance so I searched for whether Jammy Jellyfish is. It is and that’s when I tried to install on my other Raspberry Pi 4 device. This time was a success so I have Photoprism and Immich running on one Pi and Nextcloud running on the second.
Best for 360 Photos
The biggest difference I noticed with Immich is that it supports 360 photos. If you’re the type of person to take spherical photographs you will be happy with this version. Another strength is that the app is free. It gives you the option of uploading in the foreground or the background, and on or off wifi.
With this experiment I am uploading the photos from a secondary iphone that I retired from outdoor use due to the battery getting old. I am now uploading 19,000 images and videos from that device to Immich to see how it copes. With the laptop it struggled against the device’s desire to sleep. Now it should run until it’s done on the Pi.
Jobs Status
If you look at the administration page you will see job status for a few jobs. These are: Generate thumbnail, extract metadata, library, sidecar metadata, tag objects, smart search, recognise faces, transcode video, storage template migration and migration.
With this instance you see that each job has “active”, “waiting”, “clear” and pause.
Server Stats
The server stats aren’t as complete as Nextcloud. These stats tell you about total usage in terms of photos, videos, storage as well as info by user about photos, videos and size of photo gallery.
Image Tagging
Image tagging is off by default in settings. It uses microsoft/resnet-50 as the image classification model.
Video Transcoding
Immich gives quite a bit of control for video encoding. It gives you options to control Constant rate factor, preset for how quick or slow an encode is, audio codec, video codec, whether h.264, hevc or vp9. You can also select video encoding from 480p to 4k.
It gives you control over max bit rate, threads used, transcode policy, tone mapping, two pass encoding hardware encoding and more.
The Phone App
The phone app has four tabs. Photos, search, sharing, and library. Photos shows all photos that the app is allowed to see, as well as clouds next to the images that have been synced and clouds with a line for images that are yet to be synced. The library tab shows you the albums that are on the device.
The backup icon at the top allows you to select which albums you want to include or exclude, as well as the total number of images, the number of images backed up and the remainder.
The uploading file info gives you the file name, creation date and id info for immich.
It’s in the backup settings that you can choose automatic foreground backup, for when you open the app and want to sync, automatic background backup if you want background options as the nuance to only upload when charging.
With Photoprism and Immich I noticed that you have the option not to backup iCloud images. Immich and Photoprism indicate when they are downloading images from iCloud to the phone, and uploading from the phone to themselves.
Geeking Out
When files are uploaded from the phone or other device they are moved to the uploads folder and from there Immich reads their metadata and sorts them into folders by year, and then by individual days of the year. The format is year-date-day. The images are then stored with their default name.
Export from Google Photos – Takeout
Yesterday I came across Immich-Go which is a tool that can, among other things import from zipped archives without prior extraction. This is great, considering the eight hundred or more zip files from Google Takout, containing all my photos. With this tool I can save a lot of time and effort but it does come with two disclaimers:
?? This an early version, not yet extensively tested
?? Keep a backup copy of your files for safetyImmich comes with the same warning: “The project is under very active development. Expect bugs and changes. Do not use it as the only way to store your photos and videos!”
Since I have Nextcloud, Photoprism and now Immich running I think I’m spreading the risk of all three failing at once.
Why use PhotoPrism, NextCloud and Immich?
iCloud, Picasa and other tools were great for storing photos on our laptops until we lost the ability to swap out the default drive with a bigger drive. Now that we the same storage on our mobile phones, as on our laptops we need external devices to back up images. If we use hard drives then we need to plug them in before each sync and this takes time, and limits mobility. NAS storage solutions are interesting but if the NAS driver fails then we have hard drives that we can no longer access. The beauty of using Raspberry Pi, thin clients and Bare bone PCs is that we have redundancy.
If a Pi dies we just remove the SD card and within seconds our photo gallery is restored by inserting it into a second device. We could start with a 256 gigabyte SDXC card and move up to a 500 gig sd card before moving up to a two terabyte card.
For more resiliency I would use a USB drive connected to the Pi to really increase storage capacity from half a terabyte up to 120 terabytes, in theory, with certain multidisk storage solutions.
With this setup if the Pi fails you just swap out the Pi.
And Finally
I reconfigured my Pis around. Now I have one Pi with photoprism and Immich. I have another with Homeassistant, a third with Nextcloud and a fourth running Pi-Hole. By swapping cards between Pis I got to see whether installations were easily transferred between devices. Home Assistant was, but the Pi-Hole wasn’t happy. Until this experiment I had just copied and pasted instructions. With Immich I did this too, but because I saw that I had to download specific packages to get docker to work I practiced using curl, and then replacing version numbers for an unpack command.
I encountered an error that meant that one setup woudln’t work, but instead of destroying a Pi configuration that I had a added to another one and it worked. It’s easier to start from scratch and get things to work, especially if they have a Pi image, like Photoprism does. Photoprism and Immich run on docker, so they both need the same base setup, which is why they work in parallel.
To conclude, with Docker you could install Nextcloud, Immich and Photoprism on the same Pi and have the three of them running on the same system. Each one uses a different port so they do not clash. You could even add a splash page so that when people browse to this device they are given the choice of all three storage solutions.
https://www.main-vision.com/richard/blog/installing-immich-alongside-photoprism/
#day407 #immich #linux #photography #photoprism #raspberryPi #raspian
-
#Blinko passe en version 1.2.0 (https://github.com/blinkospace/blinko/releases/tag/1.2.0), #OpenWebUI passe en version 0.6.17 (https://github.com/open-webui/open-webui/releases/tag/v0.6.17), et #PhotoPrism en version 250707-d28b3101e (https://github.com/photoprism/photoprism/releases/tag/250707-d28b3101e) 😎
-
Dùng Nextcloud làm cầu nối để đồng bộ ảnh từ điện thoại vào PhotoPrism hoàn toàn miễn phí, không cần app trả phí. Dùng app Nextcloud để tự động tải ảnh lên, sau đó mount thư mục ảnh vào PhotoPrism để tự động index. Nextcloud cũng có thể dùng để đồng bộ Joplin, bookmark (Floccus) qua WebDAV. Cấu hình Docker kèm hướng dẫn đầy đủ.
#Nextcloud #PhotoPrism #SelfHosting #Sync #Mobile #Joplin #WebDAV #NextcloudVietnamese #TựLưuTrữ #ĐồngBộẢnh -
Built two NAS-es on older hardware laying around. Used TrueNAS for the first time. One NAS is syncing its data to the other one. The Asus router is just used as a switch. The services (Photoprism and Jellyfin for now) on the main NAS are exposed via a Pangolin instance using a cool (undisclosed) new domain name. Am bidding now on a small server rack, which I hope to acquire in two days. Then it will all be shipped to my sister as a mini-datacenter. Then she can migrate her data from an old USB drive to the main NAS and will she have one sexy setup.
Had fun and learned a few things. Jellyfin is nice and I might consider migrating from Kodi to Jellyfin for my own setup.
-
Finally got my iCloud subscription cancelled thanks to #GrapheneOS, #Syncthing, and #Photoprism. My photo library is now stored 100% locally and is properly backed up. Entering 2026 with paying zero to Apple or Google.
-
Poddaję się.
Dawarich + PhotoPrism/Immich mnie przerosło.
Za Chiny Ludowe nie chcą mi się wyświetlać zdjęcia.
-
PhotoPrism, l'app open per la gestione di foto con AI, si aggiorna e porta la modifica in blocco per metadata e label, integrazione diretta con i modelli AI Ollama e OpenAI per generare didascalie, e miglioramenti nella gestione del riconoscimento facciale #PhotoPrism #Linux #Docker #SelfHosted
-
People with self-hosted photo storage: I'm considering moving from #Photoprism to #Immich. Any experiences with that (or with either of these)?
For context: I know that you can run both in parallel, but that feels like more bother than it’s worth, and getting trivial non-hacky upload in itself is enough reason to move (and that's without mentioning that Immich just seems on a much better trajectory as a project).
Addendum: experiences with using internal vs external libraries with Immich?
-
#photobackup #share
Nevím, asi jsem stará struktura
Nenadchnul mne #photoprism ani #immich prostě místo #googlephoto budu zálohovat z mobilu fotky na NAS pomocí jednoduché APP stylem ROK/MESIC/DEN/fotka.jpg a následně si je ručně (jak to dělám s fotkami ze zrcadlovky rovnat do #jAlbumA je to ...
PS: tak po domluvě jsme dali šanci Immich, ač je opravdu náročný na HW.
Asi nejvíce, včetně APP připomíná Google Photo.
Necháme to zatím běžet jen lokálně doma, bez VPN, holt se zálohy provedou jen když budeme doma. I tak posílám příspěvek vývojářům a zkoumám nastavení, abych HW odlehčil, nový NAS jsem spočítal na 50k a to prostě nedám, takže příští rok nové disky - to se vejdu do 10k. -
2 dni temu walczyłem z restartem dcokerowego środowiska #IMMICH na #RPI4B spowodowane generowaniem miniaturek, dziś społeczność dostarcza rozwiązanie. i działa.
bardzo mnie to cieszy, bo mimo iż #photoprism jest wciąż backendem dla zdjęć, to jednak immich ma przyjaźniejszy UI
edit: jakby ktoś był ciekawy problemu, to
-> temat restartów dockera https://github.com/immich-app/immich/issues/21189
-> https://github.com/immich-app/immich/issues/21237 <- probelm i rozwiazanie -
I'm looking for self-hosted alternatives for my Google Photos backups. I have some old photos on an external drive and I'd like to make them searchable, ideally within an android app. But I'd like to keep them within my local network. I could either simply share a folder via samba, e.g. Solid Explorer handles the network folders quite well, but I'm sure there must be better solutions. Recently, I found #immich, which looks very promising. #photoprism seems interesting. Any other ideas?
-
@davidoclubb @mymymy It's #Pikapods - I have #Nextcloud #photoprism #pinry and #paperlessngx running!
-
Liebe #ITBubble, ich brauche deine Hilfe. Würde gerne meine #Fotos aus dem #Synology Ökosystem in eine andere Photoverwaltungs-App migrieren. Habe mir schon #Nextcloud Memories angesehen, das erkennt aber nicht, dass meine Fotos in Ordner liegen, die in Jahr, Monat, Tag unterteilt sind. #Immich habe ich noch nicht getestet, weil es noch in Entwicklung ist. Muss mir noch #Photoprism ansehen. Kennst du noch eine Alternative? #itsupport #selfhosting
-
Liebe #ITBubble, ich brauche deine Hilfe. Würde gerne meine #Fotos aus dem #Synology Ökosystem in eine andere Photoverwaltungs-App migrieren. Habe mir schon #Nextcloud Memories angesehen, das erkennt aber nicht, dass meine Fotos in Ordner liegen, die in Jahr, Monat, Tag unterteilt sind. #Immich habe ich noch nicht getestet, weil es noch in Entwicklung ist. Muss mir noch #Photoprism ansehen. Kennst du noch eine Alternative? #itsupport #selfhosting
-
Liebe #ITBubble, ich brauche deine Hilfe. Würde gerne meine #Fotos aus dem #Synology Ökosystem in eine andere Photoverwaltungs-App migrieren. Habe mir schon #Nextcloud Memories angesehen, das erkennt aber nicht, dass meine Fotos in Ordner liegen, die in Jahr, Monat, Tag unterteilt sind. #Immich habe ich noch nicht getestet, weil es noch in Entwicklung ist. Muss mir noch #Photoprism ansehen. Kennst du noch eine Alternative? #itsupport #selfhosting
-
Liebe #ITBubble, ich brauche deine Hilfe. Würde gerne meine #Fotos aus dem #Synology Ökosystem in eine andere Photoverwaltungs-App migrieren. Habe mir schon #Nextcloud Memories angesehen, das erkennt aber nicht, dass meine Fotos in Ordner liegen, die in Jahr, Monat, Tag unterteilt sind. #Immich habe ich noch nicht getestet, weil es noch in Entwicklung ist. Muss mir noch #Photoprism ansehen. Kennst du noch eine Alternative? #itsupport #selfhosting
-
Liebe #ITBubble, ich brauche deine Hilfe. Würde gerne meine #Fotos aus dem #Synology Ökosystem in eine andere Photoverwaltungs-App migrieren. Habe mir schon #Nextcloud Memories angesehen, das erkennt aber nicht, dass meine Fotos in Ordner liegen, die in Jahr, Monat, Tag unterteilt sind. #Immich habe ich noch nicht getestet, weil es noch in Entwicklung ist. Muss mir noch #Photoprism ansehen. Kennst du noch eine Alternative? #itsupport #selfhosting
-
Reading Time: 2 minutes
A Cold Walk
Yesterday I went out for my daily walk but within minutes I noticed that my legs felt cold and that I really did need the scarf that I wore. It’s exceptional for me to wear a scarf. My fleece and my inner coat both have neck protection built in so I usually feel fine. Yesterday was unusually cold so I was happy to add the scarf to really keep my neck warmer. I removed it for a few minutes because it felt itchy but I soon put it back on.
PhotoPrism is Still Indexing
In the meantime PhotoPrism has been chugging away, indexing tens of thousands of files and adding location information as well as other metadata. It has indexed 60,000 files of which 20,000 are videos. Most of the video files are junk though, stuff I saved that has no personal value. I’m marking the video files as private and I will probably delete them as they take teraybtes of space without having much value.
Migrating to a Linux Machine
I also experimented with migrating my blog writing from this mac to a Linux machine. I managed to gh clone the blog files from github to my local linux machine but struggled a little with uploading the test file from the linux machine to the web server. While writing this blog post I was reminded of the solution that should work.
My mac is old and I suspect that at some point the battery will fail and I will lose access to it. I already had to swap the battery once and soon it will die again, and that’s when I will stop using it.
I considered swapping the battery a second time but I saw that Apple is about to stop support for it. If I can use a Linux machine instead, then I save money.And Finally
Walking in challenging weather is good. It requires us to equip ourselves better, to remain comfortable, whether it’s cold, rainy, windy, or a heatwave. By migrating from Google Photos to PhotoPrism I can keep photos and videos locally rather than in the cloud, and access them with ease, as well as slide from the cheapest service to the cheapest service without investing days or weeks in the effort.
Sliding from Mac to Linux is about learning, and cutting costs, but mainly about experimentation and learing about a different OS. It’s good to be comfortable on Windows, Linux and Mac. At least now if, and when, the mac fails I will be ready to slide from one device to the other.
https://www.main-vision.com/richard/blog/photoprism-walks-in-cold-weather-and-migrating-to-linux/
#cold #freezing #indexing #laborious #photoprism #unpleasant #weather #wind
-
Reading Time: 2 minutes
A Cold Walk
Yesterday I went out for my daily walk but within minutes I noticed that my legs felt cold and that I really did need the scarf that I wore. It’s exceptional for me to wear a scarf. My fleece and my inner coat both have neck protection built in so I usually feel fine. Yesterday was unusually cold so I was happy to add the scarf to really keep my neck warmer. I removed it for a few minutes because it felt itchy but I soon put it back on.
PhotoPrism is Still Indexing
In the meantime PhotoPrism has been chugging away, indexing tens of thousands of files and adding location information as well as other metadata. It has indexed 60,000 files of which 20,000 are videos. Most of the video files are junk though, stuff I saved that has no personal value. I’m marking the video files as private and I will probably delete them as they take teraybtes of space without having much value.
Migrating to a Linux Machine
I also experimented with migrating my blog writing from this mac to a Linux machine. I managed to gh clone the blog files from github to my local linux machine but struggled a little with uploading the test file from the linux machine to the web server. While writing this blog post I was reminded of the solution that should work.
My mac is old and I suspect that at some point the battery will fail and I will lose access to it. I already had to swap the battery once and soon it will die again, and that’s when I will stop using it.
I considered swapping the battery a second time but I saw that Apple is about to stop support for it. If I can use a Linux machine instead, then I save money.And Finally
Walking in challenging weather is good. It requires us to equip ourselves better, to remain comfortable, whether it’s cold, rainy, windy, or a heatwave. By migrating from Google Photos to PhotoPrism I can keep photos and videos locally rather than in the cloud, and access them with ease, as well as slide from the cheapest service to the cheapest service without investing days or weeks in the effort.
Sliding from Mac to Linux is about learning, and cutting costs, but mainly about experimentation and learing about a different OS. It’s good to be comfortable on Windows, Linux and Mac. At least now if, and when, the mac fails I will be ready to slide from one device to the other.
https://www.main-vision.com/richard/blog/photoprism-walks-in-cold-weather-and-migrating-to-linux/
#cold #freezing #indexing #laborious #photoprism #unpleasant #weather #wind