[HN Gopher] PhotoPrism: AI-powered photos app for the decentrali...
       ___________________________________________________________________
        
       PhotoPrism: AI-powered photos app for the decentralized web
        
       Author : pretext
       Score  : 283 points
       Date   : 2023-07-11 11:18 UTC (11 hours ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | timetraveller26 wrote:
       | Also check out PiGallery for a more light weight solution
       | https://github.com/bpatrik/pigallery2 (with less features of
       | course, but it may work if you only want an online gallery)
        
       | schwank wrote:
       | I've been using Photoprism for perhaps 18 months, primarily as a
       | basic way to categorize and browse my photos. Not a power user by
       | any means but I found it easy to use and upgrade over time. I had
       | a couple small issues like image deletion and easy sync to s3,
       | which may have been addressed in recent builds. I actually need
       | to get back into it to upload my recent summer vacation pics.
       | Overall I was a happy user and the tool met my needs for a photo
       | catalog that I control and run locally.
        
       | dillydogg wrote:
       | I am extremely happy with my photoprism setup. I tried to
       | degoogle my life and found their docker setup to be great.
       | 
       | I use FolderSync on my android phone to copy any pictures I take
       | to my photoprism WebDAV
        
         | victor106 wrote:
         | > I use FolderSync on my android phone
         | 
         | Genuinely curious, if you use Android can you truly de google
         | your life?
        
           | FazJaxton wrote:
           | I tried for a while. You can use a ROM based on AOSP with
           | microg services in place of the google binaries. It was about
           | 80-90% of what the normal android experience is. I finally
           | got frustrated with it and reinstalled with the Google
           | binaries, but it is doable.
        
           | seszett wrote:
           | It probably depends on what you mean by "de-google", but if
           | you simply do not want to host your data at Google or depend
           | on Google services, it's quite easy.
           | 
           | As far as I can tell, the only place you really need to be
           | logged in to a Google account to get a "normal" Android
           | experience is the Play Store, which makes sense.
           | 
           | I use Google Maps for example (Osmand when I can, but Google
           | Maps is the only free app that has good traffic information)
           | while not logged in, but my photos are hosted by Photoprism,
           | my emails are not at Gmail, my backups are on my home server,
           | etc.
           | 
           | I find myself largely independent from Google and if that's
           | your goal, as opposed to trying to hide yourself from Google
           | (which would be better, but I find it unrealistic for my
           | needs), it's easy to achieve on an Android phone and
           | certainly easier than independence from Apple on an iPhone.
        
           | sureglymop wrote:
           | You definitely can. I use GrapheneOS and F-Droid as the app
           | store. I guess the phone itself is from Google but other than
           | that nothing. I even get OTA updates asap. I use NewPipe
           | instead of YouTube, my own Nextcloud instead of Google Drive
           | etc.
        
           | dillydogg wrote:
           | Extremely good point! I think with stock android, not really.
           | I use grapheneOS so I guess as much as reasonable.
        
           | hn92726819 wrote:
           | To add to that second point, stock android is tied to google
           | still. last I checked, it would phone home on internet
           | connectivity check, I think hal but I could be wrong, and a
           | few more.
           | 
           | But, if you use grapheneos, they replace the google services
           | with their own alternatives and sometimes let you disable the
           | feature entirely. Also, on any rooted android. You can use
           | AFwall+ to firewall any google connection or app. This way,
           | even system services can't make network requests.
        
         | zerkten wrote:
         | Can you share how you are hosting it, photo library file types
         | or size, and what the performance is like? I'm always skeptical
         | of stated requirements and what other people are prepared to
         | put up with.
         | 
         | I've got an older Synology NAS that currently stores my 250GB
         | photo library with a lot of RAWs. While it can run docker I'm
         | not going to attempt to run it there. I'm wondering if a VM on
         | my 10700k is going to be sufficient for great performance, or
         | if handing over the complete machine is going to be necessary.
         | I'm happy adding more NVMe 3.0 drives for storage.
         | 
         | I'm also curious how version upgrades have been for you. I want
         | to get out of the ops business but I feel like I'm going to be
         | dragged in.
        
           | mcfedr wrote:
           | I run it on an Intel nuc, i5 8xxx runs great, along side a
           | bunch of other self hosted stuff, nothing very taxing.
           | 
           | Biggest thing was to put all the photos on SSD, at least the
           | thumbnail cache if not all.
           | 
           | I also run it, on my backup server, pi 4, with all ai
           | disabled, it's slower, but probably because it's all on HDD
           | still usable.
        
       | kouru225 wrote:
       | I use this but would love something that's better at tagging
       | content and face recognition. Photoprism misses the mark often,
       | and it's also not very easy to fix mistakes.
       | 
       | Edit: for example, just yesterday I uploaded ~30 photos of my
       | girlfriend. It recognized her in one photo and didn't even
       | identify her face as a face in the rest.
       | 
       | I also don't understand what's doing the processing for the
       | facial recognition. Is my cpu doing it or is an external service
       | doing it?
        
       | remisharrock wrote:
       | Haha I saw a few hours ago immich on top of HN, wanted to tell
       | everybody I'm using photoprism + syncthing for quite a long time
       | now and I see that photoprism made it to the top , well, good !
        
       | jl6 wrote:
       | Has anybody tried using this on a large (500k+) photo collection?
        
       | AlanSE wrote:
       | I tried this about a year ago and it was alright. I wanted to
       | like Photonix, as it was a python library and I expected would be
       | easier to hack, but I couldn't lie to myself. PhotoPrism is very
       | clearly and very obviously the most mature of the available
       | projects for this.
        
       | simultsop wrote:
       | Having it running is more complex than to be put as: All you need
       | is a Web browser and Docker... This makes it sound like average
       | users make use of Docker everyday.
        
         | jck wrote:
         | That marketing is clearly aimed at the self hosting crowd. Lots
         | of self hosted apps don't have prebuilt docker images.
        
       | dgrabla wrote:
       | For family photos shared on the LAN I use
       | https://github.com/bpatrik/pigallery2 It is simple and FAST. I do
       | the face recognition on Digikam.
        
       | blitz_skull wrote:
       | Can it remove duplicates? That's the holy grail along with
       | storing my images. I've got so many damn photos, and I want to
       | reduce the total amount I have but going through them is so
       | daunting I'll never do it without a computer-assisted organizer.
        
         | agent531c wrote:
         | [dead]
        
         | poulpy123 wrote:
         | I used successfully https://github.com/qarmin/czkawka to remove
         | duplicate and also https://www.scootersoftware.com/ to merge
         | pictures folders
        
         | jyrkesh wrote:
         | I used to use DupeGuru which has some photo-specific dupe
         | detection where you can fuzzy match image dupes based on
         | content: https://dupeguru.voltaicideas.net/
         | 
         | But I switched over to czkawka, which has a better interface
         | for comparing files, and seems to be a bit faster:
         | https://github.com/qarmin/czkawka
         | 
         | Unfortunately, neither of these are integrated into Photoprism,
         | so you still have to do some file management outside the
         | database before importing.
         | 
         | I also haven't used Photoprism extensively yet (I think it's
         | running on one of my boxes, but I haven't gotten around to
         | setting it up), but I did find that it wasn't really built for
         | file-based libraries. It's a little more heavyweight, but my
         | research shows that Nextcloud Memories might be a better choice
         | for me (it's not the first-party Nextcloud photos app, but
         | another one put together by the community):
         | https://apps.nextcloud.com/apps/memories
        
           | robobub wrote:
           | Memories is definitely loads better, especially with
           | Recognize for face/object/video tagging
        
         | mceachen wrote:
         | Deduplicating by SHA (so, exactly the same bytes) is
         | straightforward, and phototprism does that:
         | https://docs.photoprism.app/user-guide/library/duplicates/
         | 
         | Unfortunately, if you've used Google Takeout or other systems
         | that can both downsample your photos and videos, as well as
         | actually deleting _or changing_ metadata, deduplicating becomes
         | a big wad of heuristics.
         | 
         | My first approach was to build a UID based on a series of
         | metadata fields (like captured-at time, the shutter count of
         | the camera body, and the geohash), but that breaks when
         | metadata is missing or edited from their sibling variants.
         | 
         | Just finding what assets to compare against by time proved to
         | be problematic in some edge cases. By storing in UTC (which is
         | how I've built systems for the last thirty years!) made any
         | file that didn't encode a time zones be wrong by whatever the
         | correct offset was--almost all videos, and many RAW file
         | formats don't have timezones. The solution I came up with was
         | to encoding captured-at time _in the local time_, rather than
         | UTC. I also infer or extract a milliseconds of precision for
         | the date stamp, so files with more or less precision will still
         | overlap during the initial captured-at query.
         | 
         | If you're interested, more details are here:
         | https://photostructure.com/faq/what-do-you-mean-by-deduplica...
         | 
         | My main point here is to expose how deep this rabbit hole goes
         | --I'd suggest you think about these different scenarios, and
         | how aggressive or conservative you want to be in duplicate
         | aggregation, and what you want to do with inexact duplicates.
         | 
         | Most importantly: have full offline backups before you use any
         | deduping or asset management system. When (not if) the tool
         | you're using behaves differently from how you expected, you
         | won't have lost any data.
        
           | taneq wrote:
           | > Most importantly: have full offline backups
           | 
           | Do this anyway. Always.
        
           | j1elo wrote:
           | Deduplicating by SHA, or by exactly identical metadata,
           | sounds so rudimentary in 2023... 10 years ago VisiPics was
           | already doing an excellent job to help find similar or
           | identical images in a collection, based on visual similarity!
           | 
           | http://www.visipics.info/
           | 
           | So much time later, I would hope that we expect more
           | sophisticated and flexible tools, not less, for that task.
        
             | Bloating wrote:
             | I was trying to remember the name of this. Worked well,
             | from what I remember
        
           | rivo wrote:
           | And if you just want to go by the pixel data, look into
           | "perceptual hashing". https://github.com/rivo/duplo works
           | quite well for me, even when dealing with watermarks or
           | slight colour correction / sharpening. You could even go
           | further and improve your success rate with Neural Hash or
           | something similar.
        
             | mceachen wrote:
             | Unfortunately, (almost all!) image hashing don't detect
             | color differences--they map images to greyscale first. This
             | may be fine for many situations, but it will return the
             | same result for a sepia tint, a full color original with
             | incorrect white balance, and the final result you made
             | after mucking with channels for a couple minutes.
             | 
             | I also found that there really isn't one "best" image hash
             | algorithm. Using _several different_ image hash algos turns
             | out to be only fractionally more expensive during both
             | compute and query times, and substantially improves both
             | precision and recall. I'm using a mean hash, gradient diff,
             | and a DCT, all rendered from all three CIELAB-based layers,
             | so they're sensitive to both brightness and color
             | differences.
        
               | rivo wrote:
               | The library I posted uses colour information. It won't
               | map to greyscale first.
        
           | groby_b wrote:
           | If software is deduplicating images by SHA _including
           | metadata_ , it's missing a lot about photography workflows :)
           | So, huge props (and I mean that - so many tools get that
           | wrong!) on your approach of trying to identify asset groups
           | and trying to ID members via a number of heuristics.
           | 
           | If you want to go deeper, I suggest grouping everything by
           | image content - that means, at the very least, comparing
           | images via a resolution independent hash. (E.g. average down
           | to e.g. an 8x8 picture in greyscale for the simplest
           | approach). (undouble does that nicely, and has a number of
           | different approaches:
           | https://erdogant.github.io/undouble/pages/html/index.html)
        
           | michaelteter wrote:
           | If there was ever an obvious use for AI, identifying (or at
           | least scoring likeliness) images should be one.
           | 
           | Heck, we could even brute force this by resizing images via
           | different methods and comparing checksums. But _surely_ AI
           | can help us here.
        
             | mceachen wrote:
             | Certainly, but it depends on your goal. Models like CLIP
             | (https://openai.com/research/clip) are designed to help
             | describe images with an embedding, but are trained to give
             | similar embeddings for similar image _content_, not for
             | similar _pixels_.
             | 
             | Simple image hashes based on small thumbnails can do
             | similar image detection quite well (see sibling comments
             | for links to several different approaches).
        
           | buildbot wrote:
           | I went about depdup in a similar but opposite way then you
           | did - https://github.com/mgolub2/photodb
           | 
           | I used libraw to read the actual raw data from my images,
           | ignoring possible metadata that can get changed/updated by
           | Capture One for example. The raw data is just fed into a
           | hashing function, to get an exact content hash. Does not work
           | if your image is down-sampled of course, but that was
           | actually my goal - I want to know if the raw content has
           | changed/bit flipped, but don't care if the metadata is
           | altered or missing.
        
             | mceachen wrote:
             | Ah! In this case, you might be happy to discover that
             | ExifTool just added an "image content" hash--it's the SHA
             | (or MD5 or whatever) hash of the _actual image bytes_,
             | after ignoring the metadata header (and possible footer)
             | payloads.
             | 
             | So if you, say, change the rotation of your RAW image file
             | (which normally will just add or change the EXIF
             | `Orientation` tag), the image content hash will stay the
             | same.
             | 
             | See https://exiftool.org/ExifTool.html#ImageHashType
             | 
             | (of course, your current approach should prove
             | substantively faster, but will only work with the formats
             | that libraw supports)
        
               | dcow wrote:
               | Why is GP's approach substantially faster?
        
               | mceachen wrote:
               | His tool is in rust, so he can directly call the libraw
               | function. ExifTool is a perl tool, so it'd be an external
               | process that he'd need to coordinate with.
        
         | jonathankoren wrote:
         | I wrote some scripts a few years ago to do just that. I haven't
         | used them myself in a while, but they should still be good.
         | 
         | https://github.com/jonathankoren/photo-autorganize
        
         | gardenhedge wrote:
         | Same. Killer feature
        
       | jsmith99 wrote:
       | Some features are only in the paid version which is fair enough,
       | but when I tried it a few months ago there was a small but
       | permanently visible message on the app reminding me this was the
       | free version. That was annoying.
        
         | RobotToaster wrote:
         | I've read you just need to add "PHOTOPRISM_SPONSOR: "true"" to
         | the docker compose lol.
        
           | seszett wrote:
           | It's not really a secret since the application is open-
           | source. I find their relaxed approach to a paid open-source
           | application very nice.
        
           | [deleted]
        
         | gigatexal wrote:
         | If I am going to host something myself and not pay i'd like to
         | do so without a "this is the free version" reminder all the
         | time. At that point I'll just keep paying for my Apple One
         | subscription.
        
           | giamma wrote:
           | It's opensource and AGPL, as long as you do not redistribute
           | it I believe you can fork it and rebuild it.
        
         | buzzy_hacker wrote:
         | I'm curious how this works with AGPL. Do they not have to
         | release the source of the paid version?
        
           | joshuaissac wrote:
           | They have a contributor licence agreement that allows them to
           | relicense incoming contributions, so they can release the
           | paid version under a proprietary licence, if they so wish.
           | 
           | https://www.photoprism.app/cla
        
             | mcfedr wrote:
             | Yea, cla is a massive turn off for contributing. I've made
             | a couple of small PRs but wouldn't do anything more
             | substantial
        
           | velosol wrote:
           | Wouldn't that source only need to be available to those who
           | purchase the paid version?
        
             | mcny wrote:
             | > Wouldn't that source only need to be available to those
             | who purchase the paid version?
             | 
             | Yes but I am trying to see if there is a better solution to
             | the red hat freeloader problem. To spell it out, What is to
             | stop Oracle (doesn't make sense but couldn't come up with a
             | more evil name) from purchasing a license and releasing
             | IronPrism or whatever by doing s/PhotoPrism/IronPrism?
        
           | rakoo wrote:
           | Their obligation is only to the users who paid for it, and if
           | you host the paid version to serve someone else, the
           | obligation is on you only.
           | 
           | That doesn't mean the code can't get distributed more widely.
           | I guess it's a bet based on the honesty of users.
        
       | mcny wrote:
       | Am I the only one who is amazed by this technology?
       | 
       | > Please don't upload photos containing offensive content.
       | Uploads that may contain such images will be rejected
       | automatically.
       | 
       | > Non-photographic and low-quality images require a review before
       | they appear in search results.
       | 
       | How does it know what is "offensive"? Is this configurable? I
       | don't want to upload photos of people (for obvious reasons) but
       | other than that, does it even know the contents of a photo to
       | tell if a photo is offensive?
       | 
       | Is a photo of a shelf at a grocery story selling beer offensive?
       | 
       | Is a photo of ice on the sidewalk offensive?
       | 
       | Or is it just about human nudity and porn?
        
         | kouru225 wrote:
         | You can upload nsfw images to your own server. It automatically
         | sets them to private, but it's not incredible at identifying
         | photo content yet.
        
         | McDyver wrote:
         | IMO offense is taken, not given.
         | 
         | In cases like this the "burden" should be on the party choosing
         | the content they want to see.
         | 
         | Everyone should be able to upload a photo of ice on the
         | sidewalk, but the other users should define that ice or
         | sidewalks are offensive to them.
        
         | gigglesupstairs wrote:
         | Where is your quoted text from? I couldn't find it on linked
         | github.
         | 
         | Edit: Okay, found it. I think it's likely that those warnings
         | are only for uploading on their demo server linked on github
         | and not on the locally hosted product.
        
           | _a9 wrote:
           | Theres an option to disable it on the local version. Just
           | noticed mine also said that on the upload page and went
           | looking in the options
        
         | jdthedisciple wrote:
         | That's strange.
         | 
         | Why do private photos need to be reviewed?
         | 
         | What am I missing? Is everyone just okay with giving up their
         | privacy?
        
           | Angostura wrote:
           | What you are missing is that these aren't private photos. The
           | warning is specifically displayed when you upload photos to
           | their demo server.
           | 
           | I get a bit bored of the knee-jerk "Free Speech" stuff.
        
             | lambda_matt wrote:
             | 1. This is a feature of the base software, largely inherent
             | to the core feature (see below)
             | 
             | 2. Is is configurable and I believe mostly off by default,
             | depending on install method
             | 
             | 3. It is lit up in their demo instance
             | 
             | 4. It is not a bespoke content filter, this is an `AI
             | POWERED` app that classifies and labels photos so that they
             | can be indexed for text search. Everything is processed
             | through a NASNet and labeled. The upload filter just does
             | some pretty rudimentary heuristics on the labels and
             | decides if it will allow or quarantine the upload. To be
             | clear, It is all server side-- the image is uploaded, its
             | just quarantined.
        
           | 542354234235 wrote:
           | It is a setting you can choose to enable when you install it.
           | It judges "NSFW" images locally and automatically tags them
           | as private, and you can choose to mark them "public" (as in
           | they will appear in searches and albums and the like), they
           | appear in your search. Or you can just choose not to enable
           | that when you install it and it wont run that analysis. I
           | have it turned on just in case something gets mixed in with
           | my regular photos. I'd say 80% are false positives completely
           | random pictures, or of bikini pictures or my gf laying on the
           | couch in short shorts. But it does catch the occasional
           | "private" image, so I like having it on. I also mark some
           | photos private for various reasons, so I can pull up and show
           | people my vacation photo album without worrying.
           | 
           | The review section is not for NSFW things. It is for low
           | resolution or low information images. Again, it runs locally.
           | As far as I know, it is to keep your library from being
           | clogged up with crappy thumbnails or screenshots or other
           | junk. If you don't care, you can just bulk approve them.
           | 
           | It also does facial recognition locally. You aren't giving up
           | any privacy, which is why I use this after resisting Google
           | photos and just doing the folders method for years.
        
         | lambda_matt wrote:
         | When you're already running everything through a NASNet and
         | labeling, its pretty easy to somewhat arbitrarily pick a list
         | of labels to blacklist
         | 
         | https://github.com/photoprism/photoprism/blob/ff5f3ddeb1a198...
        
       | kunwon1 wrote:
       | I deployed this recently and added a bunch of pictures to it.
       | PhotoPrism prominently features an AI-generated (?) 'description'
       | on each photo, but for 98% of my photos, it was unable to come up
       | with any description. The install procedure is needlessly
       | complicated, there's no good reason for an app like this to
       | require docker.
       | 
       | Overall, I was underwhelmed
        
         | shocks wrote:
         | Docker made it basically trivial to run PhotoPrism on my
         | Synology NAS...
        
         | xienze wrote:
         | It did the same for me, and (at least when I looked at it)
         | there was no way to just manually tag photos/identify subjects.
        
           | Ruthalas wrote:
           | You can manually tag photos and identify people, though the
           | UI flow is not the most convenient. (I've been trying it put
           | for a couple months.)
        
             | kouru225 wrote:
             | How? I can't find the option to add faces. I can add
             | keywords and add labels but not faces
        
               | breput wrote:
               | It isn't very intuitive, especially for one of the major
               | features, but:
               | 
               | 1. Select a photo with a recognizable face
               | 
               | 2. Click the Pencil / Edit icon in the upper right menu
               | 
               | 3. Select the People tab
               | 
               | 4. Enter the name/names
        
         | FireInsight wrote:
         | > there's no good reason for an app like this to require
         | docker.
         | 
         | Well, there is a good reason. To make the install more simple.
         | IMHO containerization makes selfhosting way easier.
        
           | kunwon1 wrote:
           | I disagree with the contention that docker makes installs
           | more simple. I would argue that it only makes installs more
           | simple if you are already setup with Docker, and only when
           | things go 100% correctly.
           | 
           | When I see a software application that recommends Docker for
           | deployment, I always assume that I'm going to need to do
           | extra work to make it behave correctly. Whether that is
           | figuring out how to make it auto-start, or how to forward
           | network ports, or how to share a data partition with the host
           | OS.
           | 
           | Non-docker installs are simpler. At least, for my skill set.
        
             | r_p4rk wrote:
             | Can't you just copy what the Dockerfile is doing bud?
             | Plenty of home server enthusiasts love docker for the
             | simplicity it brings to handling a bunch of software. Not
             | trying to knock you, just wondering where the complexity is
             | coming from for you.
        
               | kunwon1 wrote:
               | Sure I can. But it's not always that simple. Let's look
               | at the repository for the software discussed in this
               | thread [1]
               | 
               | I see one dockerfile and 7 docker compose files (.yml)
               | 
               | The dockerfile does not apparently do anything useful.
               | I'd be amazed if running that dockerfile by itself
               | produced anything useful
               | 
               | Now, I don't know very much about docker compose, but I
               | learned a bit of it in order to get this software running
               | on my server. If I worked at it, I could almost certainly
               | get a working install of PhotoPrism without using Docker,
               | but it would be annoying work, and I wouldn't have any
               | certainty. I wouldn't know that it was correct, and any
               | time something didn't work the way I expect, I would
               | worry that I screwed something up during the installation
               | 
               | Not to mention the added operational complexity involved
               | in managing a dockerized application compared to managing
               | e.g. an equivalent webapp deployed without
               | containerization (systemd service file, configuration
               | file, etc)
               | 
               | [1] https://github.com/photoprism/photoprism
        
               | j1elo wrote:
               | That Dockerfile doesn't seem to do anything because it
               | inherits from another container that probably has more
               | interesting stuff in it.
               | 
               | In any case, I found this in the docker/ subdirectory (if
               | it was me I would have put it in the main README):
               | 
               | https://github.com/photoprism/photoprism/tree/develop/doc
               | ker...                 Building From Source       You can
               | build and install PhotoPrism from the publicly available
               | source code:*       git clone
               | https://github.com/photoprism/photoprism.git       cd
               | photoprism       make all install DESTDIR=/opt/photoprism
        
               | kunwon1 wrote:
               | I found this too. They mention this:
               | Missing build dependencies must be installed manually as
               | shown in our human-readable and versioned Dockerfile.
               | 
               | I haven't been able to find any dockerfile that lists
               | dependencies. My guess is that the documentation is
               | referring to some prior architecture or something similar
        
             | cvwright wrote:
             | This is why I like https://github.com/mother-of-all-self-
             | hosting/mash-playbook and its associated Ansible roles for
             | configuring various services.
             | 
             | All the portability of Docker, plus (something close to)
             | the ease of use of installing a distro package like an .rpm
             | or .deb.
        
       | jamesdwilson wrote:
       | This seems to be light on the details for the p2p / decentralized
       | part. Anyone have more details? Does this use DHT or a blockchain
       | or how are they doing that?
        
         | jadbox wrote:
         | I was also confused by the decentralized part as there's no
         | mention of what exactly is decentralized on the website.
        
       | HankB99 wrote:
       | I gave this a shot a while ago and it looked promising. I
       | particularly like the ability to identify pictures, something
       | that Google Photos seems to be slipping on. (*)
       | 
       | The deal breaker for me was that there was no way to share the
       | entire inventory of my photos without providing admin access.
       | Does anyone know if that feature has been provided?
       | 
       | (*) I used to be able to find some pictures using simple keywords
       | like "dog" but Google finds far fewer pictures with those
       | keywords any more. OTOH, it is amusing to see the interpretation
       | of some of my photos in Photoprism, but I suspect that will get
       | better with time.
        
       | Bishonen88 wrote:
       | Somewhat related: anyone knows a service/tool which creates short
       | movies like an iphone does automatically?
       | 
       | I have a nas to which I automatically upload all my phone and
       | DSLR photos/videos. I'd love to see automatic montages every not
       | and then with some animations/music etc. without having to do
       | them myself...
        
         | subpixel wrote:
         | Small, important things like this and support for 'live photos'
         | keep me in Apple's embrace.
         | 
         | The 'memories' feature of of Apple Photos is frankly amazing.
        
           | madebythejus wrote:
           | It looks like PhotoPrism does have Live Photos support, but I
           | haven't tried it myself.
        
       | secfirstmd wrote:
       | Anyone also used Synology Photos and able to compare it's
       | functionality to this? Which is better?
        
         | rce wrote:
         | The Synology Photos UI feels much more polished and it includes
         | a mobile app. Synology Photos only has community mobile apps,
         | which weren't well maintained. And last I checked Photoprism
         | did not have multi-user support. Synology Photos feels much
         | more like something I could get my partner and kids to adopt.
         | 
         | The downside is that Synology Photo's database schema and API
         | are not officially documented, but you can find people who have
         | documented them and since it's on a machine you own you have
         | unlimited access to them, so it's still a big step up from
         | Google Photos and Apple Photos which are chock full of
         | restrictions - e.g. Apple Photos doesn't even have a web API.
        
         | tedtms wrote:
         | I used PhotoPrism some time ago when it was slightly less
         | featured, but wasn't satisfied with it. The dealbreaker for me
         | is auto mobile backup. PhotoPrism relies on a third party app
         | to "sync" photos, which isn't the same as backing them up. With
         | that said, PhotoPrism is all the rage in the self-hosting
         | community and I can definitely see why.
         | 
         | Conversely, Synology Photos (which I use instead now) has a
         | fantastic mobile app. However, if you really want reliable and
         | granular object/face recognition, the Syno app is a little bare
         | bones. It does some face recog but that's really it. However,
         | its backup feature is reliable and I don't have to worry about
         | if it's working in the background or not. I tried Nextcloud's
         | photo plugin for a while too, but its mobile app had issues and
         | I just couldn't rely on it.
         | 
         | Another project I've been keeping my eye on is immich:
         | https://github.com/immich-app/immich
         | 
         | I'm happy for now with Syno Photos but it would be nice to have
         | my photo app in my container environment with everything else I
         | run and just use the NAS for media storage like I intended to.
        
           | secfirstmd wrote:
           | Thanks for that!
        
         | justsomehnguy wrote:
         | It's not a proper comparison, because I have ancient ds115, but
         | Syno's app is really barebones. I tried it on Xpenology too,
         | just to be sure, but overall it's... meh. PhotoPrism was way
         | better compared to it.
        
       | nullcipher wrote:
       | I have tried to install this from source but it's quite
       | difficult. I don't like deploying opaque docker images.
        
         | Cyph0n wrote:
         | How is a Docker image more opaque than a binary built from
         | source?
        
         | smallerfish wrote:
         | I second this - docker images are a horrible way to distribute
         | applications. Please make an AppImage or flatpak for Linux.
         | 
         | General question: does this have import from google photos?
         | Please don't make me go through the google takeout pain.
        
           | fl0id wrote:
           | it's a server app. flatpak or appimage is a terrible way for
           | those.
        
             | smallerfish wrote:
             | Because...?
        
               | ekianjo wrote:
               | Because docker is made for server apps. Flatpak is for
               | desktop apps. Docker comes with batteries included to
               | keep things running 24 7
        
             | [deleted]
        
           | [deleted]
        
         | hn92726819 wrote:
         | I generally don't either, but I wonder: are you more
         | comfortable with running a docker image without internet
         | access? You can firewall your host so the container can't
         | access it and assign an internal network to the container.
        
           | nullcipher wrote:
           | Well, I don't want to run untrusted apps for a start. I am
           | not that desperate :)
        
             | duncan_idaho wrote:
             | Just read all the source code
        
             | laxis96 wrote:
             | Genuine question: what do you consider "trusted" code/apps?
             | What difference is there between compiling from source and
             | using the prebuilt official Docker image?
        
         | DistractionRect wrote:
         | You can always build and tag your own docker image using the
         | docker files included from source. Or simply follow the docker
         | files as install instructions:
         | 
         | [0]
         | https://github.com/photoprism/photoprism/blob/develop/docker...
        
           | JamesonNetworks wrote:
           | "simply follow the docker files"
           | 
           | I'm not sure if you perused the docker files for this repo,
           | but imho there is nothing simple about them
           | 
           | Edit:
           | 
           | I was curious so I dug into them a bit and found that the
           | dockerfile references a develop docker image. There is a
           | second docker file to see how that base image is built. In
           | the steps to build that base image, we grab some .zip files
           | from the web for the AI models. We install go, nodejs,
           | mariadb, etc for quite a few deps, and then there is also a
           | substantial list of packages installed. One step also does:
           | apt-get update && apt-get -qq dist-upgrade
           | 
           | Which seems a bit iffy to me. Each step calls a script which
           | in turn has its own steps. Overall, I'd say the unfurled
           | install script would be quite long and difficult to grok.
           | Also, I'm not saying any of this is "bad," but it is complex.
        
             | the_common_man wrote:
             | dist upgrade in a Dockerfile?
        
               | wiredfool wrote:
               | Yes. That just means upgrade and install extra required
               | packages.
               | 
               | The nonsensical one would be do-release-upgrade.
        
               | 411111111111111 wrote:
               | They're both kinda dumb though. Updating will create a
               | new layer, but the old binaries will still be a part of
               | the image as part of the history.
               | 
               | The only correct way is to either rebuild the base image
               | from scratch or just fetch a new base image. My
               | suggestion would be the latter, just run docker pull
               | again for the baseimage and use that, without running
               | update.
        
         | WirelessGigabit wrote:
         | I disagree.
         | 
         | Docker is the one thing that works on MANY flavors of Linux.
         | 
         | If I want to provide a tool I want to spend my time on building
         | the tool, not building an rpm, a snap, a deb, ...
         | 
         | The Docker build process is significantly easier. For example,
         | I can just pull in NodeJS 20. I can't do that on Ubuntu. It's
         | not available on packages.ubuntu.com.
         | 
         | Building a deb/snap/rpm is a whole other language to understand
         | how dependencies are set up.
         | 
         | And then I need to test those. I've never even ran CentOS.
        
         | faitswulff wrote:
         | Has anyone tried the Nix package?
        
           | joeyaiello wrote:
           | Yup, and it actually wasn't working until fairly recently
           | (maybe a few months ago? I was keeping an eye on it for a
           | while).
           | 
           | But yeah, it's even fully integrated into NixOS options now.
           | You can set up a default install with one line:
           | https://search.nixos.org/options?query=photoprism
        
           | flo123456 wrote:
           | Yes, it works quite well. I'm using the NixOS module to
           | configure it.
        
         | cevn wrote:
         | Full agreement, Immich has a similar problem. I don't know at
         | what point basic systemd services stopped being enough but
         | docker is usually a non starter for me.
        
       | sorokod wrote:
       | Stopped reading after "AI powered", no thank you.
        
         | sigg3 wrote:
         | The AI part is local. I believe it's used for coarse image
         | categorization and face recognition.
         | 
         | Providing face recognition sans a cloud seems like a big
         | selling point to me.
        
       | barbazoo wrote:
       | From https://www.photoprism.app/features for Community (free) and
       | Essentials (EUR2.00/month):
       | 
       | > User Management
       | 
       | > Account Roles: Super Admin, Admin
       | 
       | So unless I switch to the >=EUR6.00/month Plus plan I cannot add
       | a non admin user? So my grandma gets admin privileges? Is that
       | not a blocker for a lot of families?
       | 
       | Edit: From https://www.photoprism.app/plus/kb/multi-user
       | 
       | > PhotoPrism(r) Plus includes advanced multi-user functionality
       | and additional account roles. These roles are intended for
       | situations where you want other people to have access to your
       | library, such as giving family members access to your pictures
       | without granting write permissions or exposing private content.
       | 
       | > It is recommended to set up additional instances if you have
       | multiple users in a family, so that everyone can manage their own
       | files independently. This way you can avoid problems with
       | conflicting library settings, file permissions, and dealing with
       | duplicates.
       | 
       | So you're actually supposed to run an instance per person it
       | seems. But still, then my grandma would still be an admin. I
       | _think_ I 'd like to about that.
        
         | donmcronald wrote:
         | > So unless I switch to the >=EUR6.00/month Plus plan I cannot
         | add a non admin user? So my grandma gets admin privileges? Is
         | that not a blocker for a lot of families?
         | 
         | Maybe, but at least it's not per-user, per-month. I'm much more
         | likely to set up something like this if I can add / remove
         | family members as needed without thinking about the cost beyond
         | the annual fee I pay for to run my own instance.
         | 
         | The blocker for me is typically ease of use. They recommend
         | PhotoSync for transferring files to the instance. I currently
         | use that for my family, but sync to a Nextcloud install (which
         | I desperately want to replace). The part where it fails for me
         | is that my family members don't understand how to verify
         | everything is running as intended. For example, I checked one
         | of their phones earlier this year and they had 5k un-synced
         | photos.
         | 
         | What this really needs to be useful is a native app that does
         | sync from the phone in a way that makes it relatively
         | foolproof.
         | 
         | Beyond the ease of use, every link in the chain of the workflow
         | is a point of risk IMO. For example, what if PhotoSync rug
         | pulls everyone (I have no reason to believe they would) and
         | starts charging a subscription? The app that runs on your phone
         | and does the syncing is the more valuable half of the workflow
         | IMO.
        
         | mceachen wrote:
         | Freemium pricing is always a tricky balance. Your free tier
         | should provide a modicum of value to entice people into
         | installing your software, but ideally, it will also incentivize
         | the users that are getting value from your efforts to
         | remunerate to a degree that is reasonable and comfortable for
         | them.
        
         | nashashmi wrote:
         | If you're using it for reasons other than personal use, like
         | family use, then a heavier set of administrative options would
         | be necessary. and therefore pricing will be a part of the
         | equation.
        
       | zucked wrote:
       | I've tried a couple of self-hosted solutions to accompany my use
       | of Google Photos in case Google ever decides to pull a stunt with
       | Photos.
       | 
       | Nextcloud was basic, but serviceable. I liked that it handled
       | docs, contact sync, etc. The sync was clumsy and I found updates
       | frequently broke the system.
       | 
       | I just tried PhotoPrism with my ~75GB photo directory. The
       | classification is.. decent and all run locally. It took around a
       | full 24 hours to index and classify my photos, which it did
       | reasonably well. Google Photos' classifications is miles better
       | to be sure, but PhotoPrism was easy to set up and works pretty
       | well.
       | 
       | I no longer expose any of my services outside my local network
       | (besides Wireguard) so I'm hoping to find a Photosync system that
       | will only upload when on my home wifi and charging. Any
       | suggestions there?
        
         | bjord wrote:
         | Maybe use Resilio Sync (bittorrent-based) and force it to do
         | LAN only syncing?
         | 
         | https://help.resilio.com/hc/en-us/articles/204754349-Can-I-f...
        
         | robobub wrote:
         | Nextcloud is now pretty full featured google photos replacement
         | as well with the Memories and Recognize apps. It will create
         | face photo albums, tag images with objects, videos with
         | activities, and audio with genre. Though not as good as Google.
         | I've run it for maybe a year now and no updates have broken
         | anything.
         | 
         | I don't use docs/contacts or even the official photo sync
         | though, I just sync files through Foldersync on Android. That
         | can easily be set to only upload on certain wifi.
        
         | sir_brickalot wrote:
         | > so I'm hoping to find a Photosync system that will only
         | upload when on my home wifi and charging. Any suggestions
         | there?
         | 
         | Syncthing
        
       | Centigonal wrote:
       | I run a little Photoprism instance on my NAS as a self-hosted
       | complement to Google Photos.
       | 
       | It's a... passable alternative to Google Photos. I downloaded it
       | beforee they started advertising AI and decentralized features -
       | I'm kind of surprised they took this marketing direction.
        
       | ropeladder wrote:
       | I looked at a bunch of these 2 years ago and ended up using
       | PhotoView for a private gallery. It had the right mix of
       | simplicity and features, and I was actually able to get it
       | running.
       | 
       | https://github.com/photoview/photoview
        
       | mistrial9 wrote:
       | do not leave upload public-open for even minutes
        
         | dspillett wrote:
         | If public open is the default (I'm going to give benefit of the
         | doubt and assume it is not) then that is very bad design and
         | would make me question if I trust the devs much at all.
         | 
         | But yes, never set media hosting to open upload unless you want
         | to become an image host for content people can't host elsewhere
         | (or just for images used in spam campaigns).
        
       | MangezBien wrote:
       | I ran an instance of this for about a year. It is super cool and
       | pretty easy to manage. It was more than I needed - I was using it
       | as just a photo backup and then a way to share photo collections
       | with people - and pretty expensive to run on digital ocean.
        
       | em1sar wrote:
       | [dead]
        
       | lpasselin wrote:
       | Last time I tried, it did not have a good android app working.
        
       | infinitezest wrote:
       | This is a similar project but fully open source (and probably
       | less mature). The lead dev is very active and responsive.
       | https://immich.app/
        
         | xela79 wrote:
         | that demo site looks very promising, the feature set is really
         | quite exhaustive already at such early development stage; comes
         | closest to full blown google photos self hosted replacement.
         | 
         | would be cool if also had dynamic shared albums as google
         | photos has with facial recognition
        
         | ruph123 wrote:
         | Having used both I can say that PhotoPrism runs MUCH more
         | stable and surprisingly smooth. Immich constantly breaks.
        
         | pablo1 wrote:
         | Does immich support S3 storage and multiple users? These are
         | the two features I miss in most of theses projects, don't
         | really care about the AI stuff
        
           | samaritan1331 wrote:
           | Multiple users? Yes. As for s3, natively, no but you can
           | always mount s3 as a directory and point the app to use that
           | directory.
        
         | acatton wrote:
         | PhotoPrism is under AGPL, how is that not fully open source?
         | 
         | https://github.com/photoprism/photoprism/blob/develop/LICENS...
         | 
         | https://opensource.org/license/agpl-v3/
        
           | cvwright wrote:
           | AFAIK PhotoPrism itself is open source, but the PhotoSync
           | tool that they suggest for syncing your photos to it is not.
        
             | donpdonp wrote:
             | for those looking for an open source way to sync photos,
             | syncthing has an android app that works well. While it is
             | 'always running' on my android phone, I love how as soon as
             | I arrive home it connects to wifi and moves any new photos
             | to my home linux box (which is also running syncthing).
        
           | guptarohit wrote:
           | I believe OP meant some features of PhotoPrism is paid.
        
             | kaashif wrote:
             | Maybe that's what they meant. If so, they are confused
             | about what open source means.
             | 
             | Selling open source or free software is fine.
             | 
             | https://www.gnu.org/philosophy/selling.en.html
        
               | the_common_man wrote:
               | So all their features are open-source?
        
               | fl0id wrote:
               | yes. there's at least 2 different ios apps, and one of
               | those might not be (from another dev)
        
               | imtemplain wrote:
               | [dead]
        
         | guptarohit wrote:
         | Thanks for sharing. Its Design looks relatively more clean.
        
       | janfoeh wrote:
       | It looks interesting; I might be in their target group.
       | 
       | But after ten minutes of browsing around, I still have some open
       | questions regarding privacy. What would I have to do to have an
       | absolutely, unequivocally local-only install? Can I even do that?
       | Which features would I need to disable? Especially anything
       | related to AI and classification raises red flags in that regard.
       | 
       | While it is apparent that they've given a lot of thought to
       | privacy and while their privacy policy is definitely one of the
       | better ones I have seen, it still conflates things such as
       | website access with usage of the tool itself.
       | 
       | It would be nice to have one clear, guiding document that
       | outlines how private a private install really is.
        
         | A4ET8a8uTh0 wrote:
         | Yep. I like the design. I like the little globe that shows
         | where your pictures come from. It is all neat. I actually would
         | pay money for it, because right now I just watch pics/vids from
         | trips manually. I would not want to install another data hoover
         | ( especially of something as intimate as my family pictures )
         | unless I could be relatively certain data stays where it is.
        
           | vorpalhex wrote:
           | Do a docker install and disable outbound internet access on
           | it.
        
             | the_common_man wrote:
             | How does one disable outbound access entirely in a single
             | docker Container?
        
               | vorpalhex wrote:
               | Use "networks" in your compose, optionally with
               | HTTP_PROXY in your container
               | 
               | https://stackoverflow.com/questions/39913757/restrict-
               | intern...
        
               | the_common_man wrote:
               | Brilliant, thanks
        
         | vorpalhex wrote:
         | AI recognition is local. You can totally disable external
         | access and it will run fine (obviously assuming your photo
         | storage is local).
         | 
         | Their recognition model is loose. It works and it works well
         | enough for what this is to be useful but it's just a quick
         | classifier. It will absolutely have misses.
         | 
         | You can optionally aadd in a coral dev board to save yourself
         | some cpu load but I've never found it necessary.
        
           | janfoeh wrote:
           | That is good to know, thank you!
           | 
           | I'm absolutely fine with a good enough classifier, as long as
           | it is local. I would even be fine without one.
        
       | [deleted]
        
       ___________________________________________________________________
       (page generated 2023-07-11 23:00 UTC)