[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)