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