Hacker Newsnew | past | comments | ask | show | jobs light | darkhn
Self-hosting my photos with Immich (stapelberg.ch)
470 points by birdculture 12 hours ago | past | 229 comments
add comment on default site

There is something to be said about NixOS, it really is a matter of setting `services.immich.enable = true;` in a configuration file. I find this really powerful and simpler than docker and docker-compose. But don't get me wrong, I am all for containerization when it comes to other OS/distros. Yes, there is a learning curve for the Nix language and creating your own packages. But anyone who can install a distro can install NixOS. Instead of running your apt/dnf/pacman commands, you edit a file with your package names and services you want to enable, and run `nixos-rebuild switch`. Though, you might find standalone binaries such as uv and its portable Python bundles don't work out the box, there is a a few lines configuration to get it working. Having a single language for configuring all services/applications (neovim,nginx,syncthing,systemd, etc) is refreshing. And of course combined with generative AI, you can set up a lot quickly.

Immich is one of the only apps on iOS that properly does background sync. There is also PhotoSync which is notable for working properly with background sync. I'll take a wild guess that Ente may have got this working right too (at least I'd hope). This works around the limitation that iOS apps can't really run as background apps (appears to me that the app can wake up on some interval, run/sync for a little and try again on the next interval). This is much more usable then for example, the Synology apps for photo sync, which is, the last time I tried, for some reason insanely slow and the phone needs to have the app open and screen on for it fully sync.

Some issues I ran into is the Immich iOS app updating and then being incompatible with the older version of the server installed on my machine. You'd have to disable app updates for all apps, as iOS doesn't support disabling updates for individual apps.

In my specific scenario, the latest version of Immich for NixOS didn't perform a certain migration for my older version of Immich. I had to track down the specific commit that contained the version of Immich which had the migration, apply that, then I was able to get back to the latest version. Luckily, even though I probably applied a few versions before getting the right one, it didn't corrupt the Immich install.


My problem with NixOS is the second you try to go "outside the guardrails", the difficulty increases 100x

Kind of the same for docker? Plopping a docker compose file and setting up few environment vars vs writing dockerfiles from scratch.

Not really. No. You can easily checkout repo containing the Dockerfile, add a Dockerfile override, change most of the stuff while maintaining the original Dockerfile instact and the ability to use git to update it. Then you change one line in docker-compose.yaml (or override it if it's also hosted by the repo) and build the container locally. Can't imagine easier way to modify existing docker images, I do this a lot with my self-hosted services.

I'll be honest, that does not sound "easy".

It is straightforward, but so is the NixOS module system, and I could describe writing a custom module the same way you described custom Docker images.


This is a familiarity problem. I've never used NixOS and all your posts telling me how simple it is sounds like super daunting challenges to me versus just updating a Dockerfile or a one liner in compose that I am already familiar with, I suspect its the inverse for you.

If that’s not easy I don’t know what is.

Is it? Why? If a NixOS module doesn’t support what you need, you can just write your own module, and the module system lets you disable existing modules if you need to. Doing anything custom this way still feels easier than doing it in an imperative world.

"Just" write your own module?

Have you seen how bad the Nix documentation is and how challenging Nix (the language) is? Not to mention that you have to learn Yet Another Language just for this corner case, which you will not use for anything else. At least Guix uses a lisp variant so that some of the skills you gain are transferable (e.g. to Emacs, or even to a GP language like Common Lisp or Racket).

Don't get me wrong, I love the concept of Nix and the way it handles dependency management and declarative configuration. But I don't think we can pretend that it's easy.


I’ve never seen nix, but I’d rather learn “yet another language” than fight yet another yaml syntax.

> you can just write your own module, and the module system lets you disable existing modules if you need to

That sounds about 100x more difficult to me


I can see your point that it can be daunting to have all the pain upfront. When I was using Ubuntu on my servers it was super simple to get things running

The problem was when I had to change some obscure .ini file in /etc for a dependency to something new I was setting up. Three days later I'd realise something unrelated had stopped working and then had to figure out which change in the last many days caused this

For me this is at least 100x more difficult than writing a Nix module, because I'm simply not good at documenting my changes in parallel with making them

For others this might not be a problem, so then an imperative solution might be the best choice

Having used Nix and NixOS for the past 6-7 years, I honestly can't imagine myself using anything than declarative configuration again - but again, it's just a good fit for me and how my mind works


In the NixOS scenario you described, what keeps you from finding an unrelated thing stopped working three days later and having to find what changed?

I’m asking because you spoke to me when you said “because I'm simply not good at documenting my changes in parallel with making them”, and I want to understand if NixOS is something I should look into. There are all kinds of things like immich that I don’t use because I don’t want the personal tech debt of maintaining them.


I'm running NixOS on some of my hosts, but I still don't fully commit to configuring everything with nix, just the base system, and I prefer docker-compose for the actual services. I do it similarly with Debian hosts using cloud-init (nix is a lot better, though).

The reason is that I want to keep the services in a portable/distro-agnostic format and decoupled from the base system, so I'm not tied too much to a single distro and can manage them separately.


Ditto on having services expressed in more portable/cross distro containers. With NixOS in particular, I've found the best of both worlds by using podman quadlets via this flake in particular https://github.com/SEIAROTg/quadlet-nix

How do you update the software in the containers when new versions come out or vulnerabilities are actively being exploited?

My understanding is that when using containers updating is an ordeal and you avoid the need my never exposing the services to the internet.


If you're the one building the image, rebuild with newer versions of constituent software and re-create. If you're pulling the image from a public repository (or use a dynamic tag), bump the version number you're pulling and re-create. Several automations exist for both, if you're into automatic updates.

To me, that workflow is no more arduous than what one would do with apt/rpm - rebuild package & install, or just install.

How does one do it on nix? Bump version in a config and install? Seems similar


Your understanding of containers is incorrect!

Containers decouple programs from their state. The state/data live outside the container so the container itself is disposable and can be discarded and rebuild cheaply. Of course there need to be some provisions for when the state (ie schema) needs to be updated by the containerized software. But that is the same as for non-containerized services.

I'm a bit surprised this has to be explained in 2025, what field do you work in?


> How do you update the software in the containers when new versions come out or vulnerabilities are actively being exploited?

You build new image with updated/patched versions of packages and then replace your vulnerable container with a new one, created from new image


Am I the only one surprised that this is a serious discussion in 2025?

Perhaps. There are many people, even in the IT industry, that don't deal with containers at all; think about the Windows apps, games, embedded stuff, etc. Containers are a niche in the grand scheme of things, not the vast majority like some people assume.

Really? I'm a biologist, just do some self hosting as a hobby, and need a lot of FOSS software for work. I have experienced containers as nothing other than pervasive. I guess my surprise is just stemming from the fact that I, a non CS person even knows containers and see them as almost unavoidable. But what you say sounds logical.

pull new container, stop old and start new. can also make immutable containers.

> But anyone who can install a distro can install NixOS. Instead of running your apt/dnf/pacman commands, you edit a file with your package names and services you want to enable, and run `nixos-rebuild switch`.

You can do the same with any configuration manager such as puppet, salt or chief.


This is my favorite use of CLI AI coding tools: updating my nix config. I can just ask my computer to configure services for me!

But what's the performance of NixOS compared to other distros? Also, I imagine CUDA installation is not as simple as changing a few lines of config file?

https://nixos.wiki/wiki/CUDA

It’s not too bad. As others have said, AI makes it easy to get right.


Immich was my gateway into NixOS. It did a really good job of showing how well it can work. I'm only a couple of months in, so we'll see if it sticks, but I'm also running it on my laptop now.

Regarding NixOS, I'm mostly afraid of them going on a user purge after their developer purge. You just never know who this group of people will come after next, especially after they started defining "Fascism" as "anyone asking for how they define Fascism".

And the jump of getting rid of people you hate who contribute to your project and you can do little harm to, to getting rid of people you hate who are of no use to you and you can do genuine damage to (e.g. by installing a tor exit node) is a step down if you think you could get away with it.


NixOS is open-source, if needed it can be forked anytime and continued to work on with new maintainers.

> There is something to be said about NixOS, it really is a matter of setting `services.immich.enable = true;` in a configuration file.

Assuming someone has added it to NixOS, yeah. There are plenty of platforms even easier than that where you can click "install" on "apps" that have already been configured.


Nix can be easy,but it's not simple.

Obligatory link: https://youtube.com/watch?v=SxdOUGdseq4


Immich is a Google Photos clone, and when they say "self-hosting", they mean SELF-HOSTING. You need to be a web dev or a sys admin to be able to wrangle that thing. Nightmare upgrades, tons of weird bugs related to syncing.

If your solution to an issue is "just reset the Redis cache", this is when I am done.

Immich solves the wrong problem. I just want the household to share photos - I don't want to host a Google Photos for others.


Actually, I've setup a proxmox server last week that run a couple of self-hosted application. I've nextcloud running and it was fairly easy to setup. The next item on my list WAS Immich. I decided against trying to deploy it. The reason is simple: they are essentially forcing the use of Docker, which I won't touch at at all. Either a native proxmox container (which is just lxc) or a proper VM, but I keep those in reserve as they can be heavy. I'm not asking of them to create a native package for debian or a container image; a simple install script that bootstraps the application (checks & install itself and dependencies), bootstrap the database and basic config (data directory, url & ports, admin password) is more than enough. The same script should be use to update the application if possible, or provide an updater on the admin panel to update the application without manual steps or data migrations. Adguard Home does all of this perfectly in my opinion. I know Immich thinks they are making things "easier" to just dump everything into a docker container, but some of us wont touch it at all. Same reason I avoid any projects that heavily relies on nodejs/npm ecosystem.

I really don't understand this take. A script that installs all required dependencies is fine if and only if you are dedicating a machine to immich. It probably requires some version of node, with possibly hidden dependencies on some python, it uses ffmpeg, so all related libraries and executables need to be there. You then have a couple separate DBs, all communicating together. Let's not talk about updates! What if you're skipping versions? Now your "simple install script" becomes a fragile behemoth. I would NOT consider this if it was non docker-native. Plus, I don't have a server with enough resources for a lot of VMs, with all of their overhead and complications, just to have one per service. Nowadays there are many ways to run a container not just the original docker.com software, and you can do that on pretty much any platform. Even Android now!

I've never understood it either. I still deploy some things into their own respective manual deployments but for lots of things having a pre-made docker compose means I can throw it on my general app VM and it'll take 5 seconds to spin up and auto get HTTPS certs and DNS. Then I don't lose hours when I get two days into using something and realize it's not for me.

Also have you read some of the setup instructions for some of these things? I'd be churning out 1000 lines of ansible crap.

Either way since Proxmox 9.1 has added at least initial support for docker based containers the whole argument's out the window anyway.


Me neither. Docker is the platform agnostic way to deploy stuff and if I maintained software, it is ideal - i can ship my environment to your environment. Reproducing that yourself will take ages, or alternatively I also need to maintain a lot of complex scripts long-term that may break in weird ways.

What are some arguments against using docker?

I think it's the best of every world. Self contained, with an install script. Can bring up every dependent service needed all in one command. Even your example of "a simple script" has 5 different expectations.


> Immich solves the wrong problem. I just want the household to share photos

That is a totally reasonable view. But others have different preferences. I, for example, do not want to share all my photos with Google, govvies and anyone else they leak them to.

So I self host, back up and share my files with the family. I can always dump what I want to insta, etc. but it is my choice what to share, picture by picture, with default "off". And have no dark patterns trying to catch a finger accidentally hitting a "back up to cloud" for the full album.

That, to me, is a big deal, worth dealing with occasional IT hassles for. Which is just a personal preference.


>> Immich solves the wrong problem. I just want the household to share photos

pixelfed may be what the parent want then. I don't like that it is PHP, but as long as they adhere to the ActPub protocal, we can roll our own in whatever flavor.



Because it doesn't solve your problem does not mean it solves the wrong problem.

What? It is literally just start the container and forget. When upgrading it is change the version tag and restart the container.

Upgrades are frequent but no hassle.

I have been running this for half a year. It might have been more work earlier?

My household is using this for our shared photos repository and everyone can use it. Even the kids.

There is both direct web access and an iPhone app.


I run Immich for more than two years and there was an upgrade to 1.33 I think around spring 2024 that required special instructions on editing docker compose file because they changed the vector database. I think there was also a database migration same year when - if you did not update the version regularly - would need to run two step upgrade. They provided plenty of documentation always. A while ago sync was quite wonky but they improved that a lot lately.

Idk maintaining the PG vector extensions has been kind of a pain in the ass, at least from an automation perspective

I never had to meddle with that

There is an Android app, too.

Such a weird take. Of course "self hosting" means "self hosting".

Sure it could be easier/safer to manage, everything can be better.

Over the last couple of years hosting it I had a single issue with an upgrade but that was because I simply ignore the upgrade instructions and YOLOed the docker compose update.

Again, is it perfect? No. Would I expect a non tech savy user to manage their own instance? Again no.


Couldnt Immich be used by a paid service provider to provide Immich google-free photo hosting ?

I was just telling a nonprofit the other day, who in the name of “self hosting” was running their business on a 73 plugin WordPress site:

Move to Shopify and LearnWorlds. Integrate the two. Stop self hosting. (They’re not large enough to do it well; and it already caused them a two week outage.)


> Move to Shopify and LearnWorlds.

Having seen a lot of companies and startups doinge exactly that, more of less everyone regrets it. Either you end up with such a lot of traffic through these vendors that you'll regret it financially, or you want to change some specific part of your page or your purchase process, which Shopify doesn't let you change, and you'll end up needing to switch or be sad, or, as I regularly have to (because we don't get the resources and time to switch): try to manipulate the site through some weird hacky Javascript snippets that manipulate the DOM after it loaded.

It's literally always the same. They get you running in no time, and in no time you're locked into their ecosystem: No customization if they don't want it; pricing won't scale and just randomly changes without any justification; if you do something they don't like they'll just shut you down.

> Stop self hosting.

Worst mantra of the century. Leading to huge dependencies, vendor lock ins, monopolies, price gauging. This is only a good idea for a prototype, and only as long as you'll not gonna run the prototype indefinitely but will eventually replace it. And maybe for one-person-companies who just want to get going and don't have resources for this.


If you need 73 plugins for wordpress, then Wordpress is a poor technology choice for your usecase.

disagree. as the sister comment mentions, wordpress may have been the wrong choice, but self hosting is never wrong, especially for a non profit who may not have the resources to deal with a situation if a hosting service decides to shut them out.

Of course it’s sometimes the wrong choice. Not everyone should self-host their own DNS and other things if their needs are already meet.

If they don't have the resources to switch to a different hosting provider, why do you assume they will have the resources to fix things when their self-host solution shits the bed?

You're comparing apples to oranges.

Switching the ecosystem from something like Shopify to some other shop software requires a lot of manual work, and some of the stuff won't even be transferable 1:1.

Fixing some issue with your WordPress installation will require a person who can google and knows a little stuff about webservers, and maybe containers, and will usually go pretty fast, as WordPress is open source and runs almost half the internet, and almost every problem that will come up will have been solved in some StackOverflow thread or GitHub issue.

Usually though, if you run WordPress and you're not doing a lot of hacky stuff, you will not encounter problems. Vendors shutting you down, increasing their pricing, or shutting down vital features in their software, happens regularly though. And if it happens, shit hits the fan.


Self hosting used to mean conceding on something. I can honestly say Immich is better in every way than Google Photos or whatever Apple calls it. The only thing is having to set it up yourself.

There are still some features that a miss from Google photos. There isn't any way (that I know of) to auto add pictures to an album based on the face. I used to have dedicated albums for family members, and it was nice to have the auto updated.

Face recognition in general just isn't as good as Google Photos.

It's still an amazing piece of software and I'd never go back, but it isn't perfect yet.


That's something that should be possible with the upcoming Workflow feature. Some details can be found in the November Recap blog post.

https://immich.app/blog/2025-november-recap


The /people page looks a lot like albums based on face to me, is that not what you are talking about?

Not who you're replying to, but no - this isn't the same. You can't share that album with others. Or have others collaborate on it.

You can do this with a few scripts and the Immich API - but that's not something the average user will do.


It seems like he’s saying that he could create an album and add a rule saying “add all pictures of John and Jan”

I'm waiting for that first point to. The good news is that they just started work on workflows, which should allow for that.

Does your phone silently and reliably upload all the photos to your server? My guess you're conceding on that part.

How's the offline app support? My full library (30k items) is available on my phone (not in high res). There are a lot more concessions I'm sure.


Yes, it does silently and reliably upload all my photos to my server. That's like, the entire selling point of the app? You even have control over how and when (on wifi or not) and the ability to change hostnames depending on what network you are on. And yes I can browse my entire collection back to 2001 no problem. I have no idea what the offline support is.

That was my selling point for Nextcloud, and it turns out it doesn't work reliably. It works most of the time, but for backing up photos it's not enough, and when it fails it's super annoying (you have to resync EVERYTHING from scratch).

People seem very happy about Immich, I'm tempted to try. But people seem very about Nextcloud as well, so it's difficult to tell.


The sync really is quite good. On wifi it's basically seamless. If I had 30k new images though it would be much faster to use the immich-go tool mentioned in the blog post.

Offline support is alright, though I haven't worried about this much. I think it doesn't do any local deletion, so whatever stays in your DCIM folder is still on device.


> The sync really is quite good.

Do you have to ever open the app though? On iOS/Android?

In my case I would need it to run on the phones of my family members, and they probably will never open the app.


The offline sync was a bit problematic in the past but this year they finally got it working properly.

I’d gladly trade manual but bulletproof sync over paying a fee forever for essentially… storing files on drives.

We got to this stage of having to sync because Apple can’t stand putting more storage on client devices.


> We got to this stage of having to sync because Apple can’t stand putting more storage on client devices.

It's not why I use sync services. All my photos fit on my devices (more or less). But I want to have seamless access to my files from both of my devices. And most importantly the sync is my first line of backup, i.e. if my phone gets obliterated I don't loose a day or two of files and photos, I only loose a couple of minutes.


> We got to this stage of having to sync ̶b̶e̶c̶a̶u̶s̶e̶ ̶A̶p̶p̶l̶e̶ ̶c̶a̶n̶’̶t̶ ̶s̶t̶a̶n̶d̶ ̶p̶u̶t̶t̶i̶n̶g̶ ̶m̶o̶r̶e̶ ̶s̶t̶o̶r̶a̶g̶e̶ ̶o̶n̶ ̶c̶l̶i̶e̶n̶t̶ ̶d̶e̶v̶i̶c̶e̶s̶.

"because a company that sells you Cloud storage has very few incentives to give away more local storage, or compress/optimize the files generated by its camera app." might be more accurate


More device storage wouldn’t help. I couldn’t fit all of my pictures on any phone sold today.

For the record, I think Immich is very good, and I use it myself. But there is something about the design and performance in the mobile app that still makes it feel "not quite there yet" on iOS at least.

Not in every way. Seems it has issues with Ultra HDR (https://github.com/immich-app/immich/issues/23094)

I'm actually in the process of building a home NAS server primarily for this purpose. Delighted to hear everyone has such a good experience.

How does sharing an album with others work on Immich?

I have not shared it with many people. But one of my most wanted feature is to completely share by photos with my partner. None of the services I tried (Plex, Synology Photos) had it. In Immich, it’s just a flip of a button.

Ugreen has it. It has conditional albums in which one can setup rules like person, file type, location, anniversary and more and share a live album. Or leave all params empty and simply mirror the entire library.

You get a link and you can set read or write permissions on it.

Whoever gets that link can browse it in a web browser.

I've used this to share albums of photos with gatherings of folks; it works very well. It does assume you have your Immich installation publicly available, however. (Not open to the public, but on a publicly accessible web server)


How safe is that to set up for novice it people? I have a pi with pi-hole on it and am thinking about putting immich on it but the fact that it exposes itself outside my LAN frightens me.

I have it set up in a container that I keep updated. Then it's reverse proxied by another container which runs nginx proxy manager, which keeps the HTTPS encryption online. So far, the maintenance has only been checking whether a new version has been released and docker pulling the images, then restarting the containers.

OK. Then you concede your security, as I can't imagine any single person self-hosting can be better at keeping their public service more secure than engineers at Google can. Especially with limited time.

You definitely have a dull imagination. If the software itself is secure, containerized version of Immich behind a containerized version of nginx proxy manager is probably as secure as you can get. Also google security tends to be mainly leaning towards securing google and less towards securing google's (non paying) customers.

I mean, if you’re confident about security best practices, have a moderate amount of networking experience, and are a seasoned web developer, it’s not too scary at all. I realize that’s a lot of prerequisites though.

it’s not a fair comparison with Google because Google has a much bigger target on their back. There are millions of users of Google, so the value of hacking Google is very high. The value of hacking a random Immich instance is extremely low.


If you want to share with family, you can permanently add them as users to your Immich instance. Otherwise, you can create a link that they can use.

Other than redundant hosting, what will I get as an Apple user by setting this up? It would be very easy to set up, just not sure what I’m gaining from it

Supporting someone who is not TooBigTech is a valid concern, IMO.

The selling point for me is that it is NOT TooBigTech. It doesn't have to be as good as TooBigTech, but it has to be reliable enough. In my case it means that it should be able to sync from iOS/Android, in the background, even if the user never opens the app, and it should never get out of sync and require setting up everything again. Nextcloud fails at that.


I plan to set up Immich so that I can have a central photo storage.

Apple Photos play poorly when you want to put the library on an external drive (and even more poorly when you want to put it on a networked drive).


I don't think it would add any value for you. For me, it adds value because I only have to turn my head to the left to see the computer that contains all my photos since I started taking pictures with a smartphone.

For once iCloud have a terrible sync speed. Even 500GB of photos / videos take forever to sync like a week and I can't imagine what it will take for someone with multi-TB archives.

Yes, but it's a one times occurrence, isn't it?

I'd imagine if you're person who make a lot of photos / videos slow sync can be pretty annoying. Unfortunately I'm not one of them to tell, but just had to wait like a week for the first sync of my wife's iPhone to finish.

My biggest worry with Immich is how to future-proof the albums. With photos sorted into folders, it should be no problem to access them in a couple of decades. With Immich, I have to rely on the software still working or finding some kind of tool to dump the database.

I work on an image search engine[0], main idea has been to preserve all the original meta-data and directory structure while allowing semantic and meta-data search from a single interface. All meta-data is stored in a single json file, with original Path and filenames, in case ever to create backups. Instead of uploading photos to a server, you could host it on a cheap VPS with enough space, and instead Index there. (by default it a local app). It is an engine though and don't provide any Auth or specific features like sharing albums!

[0] https://github.com/eagledot/hachi


Although Immich does backup from your phone, I don't see it as a viable backup solution. Git-annex, Unison, and Syncthing are much better at keeping files synchronized across devices. Immich will create its own copies of photos and transcode videos for playback on the web. That may be fine if you have enough storage space, but for me it makes the phone backup useless. I suppose you could use a git-annex special remote directory as an Immich external library.

I use Single File PHP Gallery. Put the file in root dir of your photos and set it executable in web server. That's it. The settings are also inside the file, if you need any tweaking.

https://sye.dk/sfpg/


I use photosync to upload to a folder that is an external library for immich. Immich then periodically scans that folder to load new assests. I usually use digikam to manipulate that folder. Immich is there just for easy remote browsing of those files.

This was why I was driven to use Photoprism. I use syncthing-fork to upload from phones, and a custom made thing to copy them to folders (this also works with Cameras that aren't phones).

https://www.photoprism.app/


The database is Postgres, and the schema is quite sensible. You can (and I have) write normal SQL queries in psql to modify the data.

It might not be as easy as rsync to transfer data out, but I would trust it way more than some of the folder based systems I've had with local apps that somehow get corrupted/modified between their database and the local filesystem. And I don't think ext4 is somehow magically more futureproof than Postgres. And if no-one else writes an export tool, and you feel unable to, your local friendly LLM will happily read the schema and write the SQL for you.


Don't storage templates handle this out of the box? I haven't actually checked my instance but that was my impression from reading the docs!

I have the same concerns and that’s why I only use software which accept my directory structure as input and isn’t messing with it. I, for example, added my top directories of my image directory structure hand by hand each bit itself as a shared directory (read-only) to immich.

The main reason: I don’t trust software NOT deleting my photos. (Yes, I have an off-site) backup, but the restore would take time.


I remember that Immich has a mode to not use cryptic hashes but folders for storage. When I used it it was somehow deprecated due to some problems, but supported. I actually stopped using Immich because newer versions run the keep alive via socket.io with a Prostgres notify, which does constant empty WAL flushes, triggering empty page writes on idle.

In the same boat. It seems there is API to export photos, so was thinking about some script that will export photos into separate folder and use hard links in order not to take more space.

Thank you, well put. thats why I am using next cloud and manual curation. Folders is the ultimate future proof structure. But I do see the value of a nice UI. But immich hides the files from me too much for my taste.

Although I am sure I can back them up to my PC somehow. But having them just on the server is not my favourite solution.


I share this worry.

You can configure the storage template for the photos and include an "album" part, so if a photo is in some album it'll get sorted into that folder. Then the file tree on disk is as you wish.

I haven't tested what it does when a photo is in multiple albums, but it does handle the no album case fine as well.


At this point you could just point Claude code at the database and the image folder and ask it to write a migration script

This is what I like about Ente. I can pay them to give me an e2e encrypted cloud service, and then the desktop app has a continuous export feature that will dump everything into a plain folder structure on my home NAS automatically.

Ente could go out of business tomorrow and I’d still have all my photos, neatly organized into folders.

And I don’t have to bother with self-hosting overhead. Or I could self host, too, if I wanted. But I still need an off-site backup so I might as well pay for the cloud service.


As long as it is running on an open source database engine, I don't understand the difficulty.

You'll have plenty of time to write your exportation script before postgres ever disappear completely of all the bytes stored on our planet.

Also, are you saying you don't do backups?


This is why I still use Piwigo as I don't need to mess with file names and structure as far as I have seen.

I adore Immich. I set it up a while ago, and I'm finally looking at my photos again. I was previously using Nextcloud for photos, but it was such a slog to find anything that I never took or looked at photos.

Immich put the joy back in photography for me, it's so easy to find anything, even with just searching with natural language.


Yeah I started with memories for nextcloud. But it was buggy/slow unfortunately.

Being able to scroll to dates with immich is golden. And the facial recognition is on device and works great.


I don't have that experience with Nextcloud Memories.

Everything works well and it's comparably fast with Google Photos for me, and scrolling to specific dates works fine.

How long ago did you try it? I've only been using it for a few months so maybe it's improved over time.


I do that with DayOne and curation, but obviously this means I keep only 2/3 pictures per event, but most of the time that's enough (and even better, since I choose the ones I prefer and keep those)

I had immich running great for a while, maybe for months. It would seamlessly sync photos from phone to local home server. I was going to setup nightly outbound sync too (1 is none, 2 is some).

I updated the container for usual appliance maintenance. Entire thing is toast. Metadata files can't be read, mounted, permission issues and more. It's been four months since.


That is why you should never update stuff that works :)

I never even used Google Photos (because, you know), so if somebody could explain more concretely: how do you use it? Is it actually a backup app (and if so, is it really much different from using a generic backup app or even just syncthing), or does it somehow magically allow you to keep the preview gallery and search on your device, while your actual 200 GB of photos are somewhere in the cloud and the local storage is basically just auto-managed cache, where everything you didn't access in the last 6 months gets deleted? Does it preserve all this additional data Android cameras add, like HDR, video fragments before photos, does it handle photospheres well, etc? I'm asking because I don't even fully understand how the camera app handles it itself, and if all the data is fully portable.

FWIW, I also don't use any fancy collection management and barely understand what all these Lightrooms and XMP files are for. Maybe I should, but up to this day photos for me are just a bunch of files in the folder, that I sometimes manually group into subfolders like 2025-09, mostly to make it easier on thumbnail-maker.


It auto uploads all your photos to the cloud and you can delete them locally and still have them. The biggest feature is the AI search, you can type anything and it will find your pictures without you doing any work categorizing them. It can do objects or backgrounds or colors and it can even do faces so you can search by people's name. That and there's share links to albums and multiplayer albums.

It keeps the originals locally when it uploads forever unless you delete them. There's a one click "free up space on this device" button to delete the local files. It's actually somewhat annoying to export in bulk, you pretty much have to use takeout.


It's annoying to export in bulk because you have to use the bulk export tool?

Key features that matter to me: 1) backup from android or iOS. This helps when I have switched phones over the years. 2) shared albums with family or friends where invited people can both see and contribute photos. Think kids albums, weddings, holidays. 3) ability to re-download at full resolution

For nearly a decade I've been using Google Photos with a love-hate relationship. I've tried a few alternative photo apps, even tried building one myself as a side side side side project, but nothing really felt like it could replace how I use Google Photos (haven't tried in the past couple of years mind).

I have a daughter, and my family lives in another country, so I want to be able to share photos with them. These are the feaures I need:

- Sharing albums with people (read only). It sounds pretty simply, but even Google fucked it up somehow. I added family members by their Google account to the album, and somehow later I saw someone I didn't know was part of the album. Apparently adding people gives (or did?) them permission to share the album with other people which is weird. I want to be able to control exactly who sees the photos, and not allow them to share or download them with others. On the topic of features, I should note that zero of the other social features (comments / reactions) have ever been used.

- Shared album with my spouse (write). I take photos of the kid, she takes photos of the kid. We want to be able to both add our photos to the shared album.

- Automatic albums or grouping by faces. Being able to quickly see all the photos of our kid is really great, especially if it works with the other sharing features. On Google you could setup Live Albums that did this... (automatic add and share between multiple people) but I can't see the option anymore on Android. I feel it could be a bit simpler though, just tagging a specific face, so that all photos should be shared within my Google One Family.

- The way we use it is we have a shared album between us or all the photos, and then a curared album shared with family members of the best photos.

Other than that I just use it as a place to dump photos (automatically backed up from my phone) and search if needed. Ironically the search is not very good, but usually I can remember when the photo I need was taken roughly so can scroll through the timeline. In total my spouse and I have ~200GB of media on Google Photos, some of it is backed up elsewhere.


What about automatic background sync without ever having to open the app on mobile? Does that work or do you have to open the app regularly for it to sync properly?

This doesn't work properly on Nextcloud (it sometimes gets out of sync and then I'm screwed because I have to reset the app on my family member's phone and have them resync for hours).


Wouldn't recommend. When I wanted to move from Google Photos to iCloud, there was no way to simply get all my photos. I had to use a JS script that would keep scrolling the page and download photos one by one.

Lesson learnt.


Google Takeout?

It technically gives you the data, but it’s not in a format that’s very easy to use

You can back up to Immich using various methods, including dumb file copy into a dropbox folder. For a while, I was using PhotoSync that uploaded photos to my NAS with Immich using WebDAV.

Immich also has an app that can upload photos to your server automatically. You can store them there indefinitely. There are galleries, timelines, maps for geotagged photos, etc.

The app also allows you to browse your galleries from your phone, without downloading full-resolution pictures. It's wickedly fast, especially in your home network.

> Does it preserve all this additional data Android cameras add, like HDR, video fragments before photos, does it handle photospheres well, etc?

It preserves the information from sidecar files and the original RAW files. The RAW processing is a bit limited right now, and it doesn't support HDR properly. However, the information is not lost and once they polish the HDR support, you'll just need to regenerate the miniatures.


I personally prefer Photoprism more.

Much more responsive and clear UI, golang backend are two main subjective advantages.


I’ve experimented with both Immich and Ente over the last year and run Immich in parallel with Google Photos right now for my family. Once they add a few more features to support things like smart albums, I’ll be able to drop Google Photos entirely.

I love that the consumer space is getting this kind of attention. It’s one of the biggest opportunities for big tech to lock people into their ecosystem, as photos are something everyone cherishes. You can extort people with ever increasing subscription fees because over time they reach a scale with their own photos that makes it inconvenient to manage themselves. It’s nice to have multiple options that are not Google or Apple.


Immich is wonderful in docker setup passing the gpu for ML which works pretty good and the amazing new OCR feature does miracles, I’m able to find notes that I photographed for this purpose but then forgot, I’m able to find memories just by remembering the name of the place and searching for it and everything is running local!

Docker + Immich + Tailscale is the killer replacement to Google & Apple Photos, it's simply that simple

I don't get the appeal of Tailscale for simple homelab use. I have OpenVPN and it's trivial. Hit the toggle and I'm connected, no fuss.

Tailscale (and similar services) is an abstraction on top of Wireguard. This gives you a few benefits:

1. You get a mesh network out of the box without having to keep track of Wireguard peers. It saves a bunch of work once you’re beyond the ~5 node range.

2. You can quickly share access to your network with others - think family & friends.

3. You have the ability to easily define fine grained connectivity policies. For example, machines in the “untrusted” group cannot reach machines in the “trusted” group.

4. It “just works”. No need to worry about NAT or port forwarding, especially when dealing with devices in your home network.


Also it has a very rich ACL system. The Immich node can be locked out from accessing any other node in the network, but other nodes can be allowed to access it.

Tailscale uses wireguard, which is better in a lot of ways compared to OpenVPN. It's far more flexible, secure, configurable and efficient. That said, you probably won't notice a significant difference

OpenVPN is far from "no fuss", especially when compared to Tailscale.

I like to self host things so I also self host Headscale (private tailnet) and private derp proxy nodes (it is like TURN). Since derp uses https and can run on 443 using SNI I get access to my network also at hotels and other shady places where most of the UDP and TCP traffic is blocked.

Tailscale ACL is also great and requires more work to achieve the same result using OpenVPN.

And Tailscale creates a wireguard mesh which is great since not everything goes through the central server.

You should give it a try.


Why not just use wireguard directly? The configuration is fairly trivial

Wireguard is great, I have personally donated to it and have used Wireguard for years before it became stable. And I still use it on devices (routers) where Tailscale is not supported. But as Jason stated - it is quite basic and is supposed to be used in other tools and this is what we are seeing with solutions like Tailscale.

Tailscale makes it simple for the user - no need to set up and maintain complex configurations, just install it, sign in with your SSO and it does everything for you. Amazing!


With Tailscale you don't have to learn anything, you just install apps and click.

One value of Tailscale for a ton of simple use-cases is that people don't have time / don't want to learn.


Tailscale is much more reliable in my experience. OpenVPN isn't very reliable in my experience as a network admin. And IPsec is an abomination.

I want to love Tailscale on mobile, but it conflicts with Adguard and regularly disconnects.

I keep Tailscale but switched over to Pangolin for access most of my self-hosted services.


Any reason you didn't just set tailscale DNS to ad guard? I have set it to controlD

With pangolin you are exposing it otside your private network right? Its public website. That might be undesireable for security.

Can you elaborate? What role does Tailscale play? I selfhost and have heard about Tailscale but couldn't figure out how it's used.

Not GP. My guess is that they’re self hosting this at home (not on a server that’s on the internet), and Tailscale easily and securely allows them to access this when they’re elsewhere.

Even if you are self hosting in the cloud or on a rented box, Tailscale is still really nice from a security perspective. No need to expose anything to the internet, and you can easily mix and match remotely hosted and home servers since they all are on the same Tailnet.

Tailscale routes my mobile device dns through my pile back at the home. I have nginx setup with easy to remember domains (photos.my domain.com) that work when i’m away as well without exposing anything to the open internet.

In my words, I use Tailscale at home but not for this (yet). Tailscale is a simple mesh network that joins my home computers and phones while on separate networks. Like a VPN, but only the phone to PC traffic flows on that virtual private network.

Tailscale can give you domains + ssl for local services with basically no effort.

With tailscale on your server and endpoints you can access the server from anywhere without even having to open any ports. It is like magic.

Tailscale gives me access to my home network when I'm not at home. I can be on a train, in another country even, and watch shows streamed off the Raspberry Pi in my home office.

I'm using it with Dokploy, which takes care of Docker+Tailscale for me, it's quite convenient

I use my Immich instance locally as photos and videos storage for 7-8 months now. It's really amazing. Reading comments here I'd say it's medium-difficulty tier to set up. I have it on my Elitedesk 800 G3 mini, in Docker Compose, with hardware encoding and it's more than sufficient to handle this work. Never had a bug.

I fail to get the problems with self hosting Immich. I mean, obviously you gotta have a server ready, and at least some knowledge about self hosting and docker. But apart from that, installing Immich was like a breeze. It was actually not more than pasting some lines into a docker-compose, and running it.

Have been using it for about 1.5 years, and I have not a single problem, which is quite incredible for a software that basically has all features that Google Photos has.


I gave it a try a few months ago. Unfortunately, my experience was not that great. I was hosting it on Synology through Docker and found that the iOS client was a bit buggy and quite slow. Synology Photos completed the initial sync in a few hours, while Immich took several days. After a few months, I switched back to Synology Photos. I might try Immich again in the future.

I started looking for alternatives after Synology became more restrictive with their hardware. I'm curious if anyone else has had a similar experience.


Long time synology user. Switched 3 weeks ago to ugreen. They rolled back their fiasco decision about drives (synology), but I wanted some good hardware in 2025. Everything that synology offers is outdated and slow.

Got myself a 6800 pro. It chewed through 98k photos, many of which are raw, within 24h AFAIK. Then came face recognition, text recognition etc. Within 2-3 days all was done.

The performance is night and day. Photos and movies load instantly. Finally can watch home movies on my TV without stuttering (4k footage straight from a nikon).

The photos app is similar to the synology one. Face recognition was better for me. Have compared the amount of photos tagged to a few people and ugreen found 15% more. Have seen photos of my grandma which I didn't see for years!

There's much more positive i could say. For the negatives: no native drive app (nextcloud which supposedly was an alternative doesn't sync folders on android), no native security cam app.

I am running now 10 docker containers without a sweat. My ds920+ was so slow, that I gave up on docker entirely after a few attempts.

The photos app has some nice features which synology didn't have. Conditional albums. Baby albums.


My guess would be that Synology is an expensive but weak computer, bare minimum for NAS.

Immich does require some CPU and also GPU for video transcoding and vector search embedding generation.

I had Immich (and many other containers) running successfully on AMD Ryzen 2400G for years. And recently I upgraded to 5700G since it was a cheap upgrade.


How do people handle backups with Immich? Ideally I’d like all my images to be uploaded to object storage if I’m self-hosting.


Unfortunately Immich doesn't (yet) support object storage natively, which IMHO would make things way easier in a lot of ways.

You can still mount an object storage bucket to the filesystem, but it's not supported officially by Immich and you anyways have additional delay caused by the fact that your device reaches out to your server, and your server reaches out to the bucket.

It would be amazing (and I've been working on that) to have an Immich that supports natively S3 and does everything with S3.

This, together with the performance issues of Immich, is what pushed me to create immich-go-backend (https://github.com/denysvitali/immich-go-backend) - a complete rewrite of Immich's backend in Go.

The project is not mature enough yet, but the goal is to reach feature parity + native S3 integration.


I think Ente uses MinIO for storage, I could see them supporting the ability to self-host in S3 at some point

Hey, you can connect any S3 compliant service to Ente.

Our quickstart.sh[1] bundles Minio, but you can configure Ente to use RustFS[2] or Garage[3] instead.

[1]: https://ente.io/help/self-hosting/#quickstart

[2]: https://github.com/rustfs/rustfs

[3]: https://garagehq.deuxfleurs.fr/


Thanks for the links 0 it’s been a while since I looked at the self hosting documentation.

My setup has Immich in a Docker container, which is itself in a Proxmox LXC container.

I then have Proxmox back it up to Proxmox Backup Server running in a VM, and it has a cron job that uploads the whole backup of everything to Backblaze B2.

The backup script to B2 is a bit awful at the moment because it re-uploads the whole thing every night... I plan on switching to something better like Kopia at some point when I'll get the time


I have the main volume for images in a zpool with two SSDs in a raid-1 configuration. I also have a daily cronjob that makes an encrypted off-site backup with Borg. I've also got healthchecks.io jobs setup so that if the zpool becomes unhealthy, the backups fail, or anything stops, then both me and my partner get alerted.

My partner isn't very technical, but having an Immich server we are both invested in has gotten her much more interested in self hosting and the skills to do it.


I'm using restic to backup the Immich photo directories as well as automatically generated Immich database dumps to an external drive and a Hetzner Storage Box.

I create local and remote restic backups (using Backrest). I just point to the docker mount points and run database export as a pre-hook.

Incremental borg backups uploaded to cloud storage... Have a cron job and get notified about every backup

Personally I do a daily sync from the underlying gocryptfs to Backblaze B2. It's also on btrfs so I can do snapshots, etc.


Immich is great, but I like Ente more because of the E2E encryption. I don't trust that someday my hardware wouldn't get stolen and all photos get in possession of someone else.

I'm much more worried about the Ente install getting broken for some reason and my pictures being locked and lost, than a burglar stealing a hard disk in my basement.

That's why I like how Photoprism just uses my files as they are without touching them (I think immich can do that as well now, but it wasn't so in the past). I can manage the filesystem encryption myself if I want to.


I like Ente's E2EE for hosting on a remote server.

In my case I want to host on my personal server at home, so it feels actually nicer to not have E2EE. I basically would like to have the photos of all my family members on a hard disk that they could all access if needed (by plugging it into their computer).


Ente looks interesting and worth looking into, thanks for mentioning it.

In the context of having a phone stolen, it's possible to at least limit the damage and revoke accesses via the Tailscale control server. Then the files on device are still vulnerable, but not everything in Immich (or whatever other service is running).


Why not encrypt your server? Or store the photos on an encrypted partition?

I have this dilemma.

> Why not encrypt your server?

I’d like to provide the service to my semi-extended family — not just me and my partner, but also my parents and siblings. And I respect their privacy, so I want to eliminate even the possibility of me, system administrator, accessing their photos.


I also run NixOS (btw) but opted for the container. My Docker compose setup has moved from Arch to Ubuntu to NixOS now, so I like the flexibility of that setup.

I also use Tailscale, and use cloudflare as nameserver and Caddy in front of Immich to get an nice url and https. For DNS redirects I use Adguard on the tailnet, but (mostly for family) I also set some redirects in my Mikrotik hEX (E50UG). This way Immich is reachable from anywhere and not on the internet. Unfortunately it looks like the Immich app caches the IP address somewhere? Because it always reports as disconnected whenever Tailscale turns off when I'm at home or the other way around and takes some time/attempts/restarts to get going again. It's been pretty flaky that way...

Other than that: Best selfhosted app ever. It has reminded me that video > photos, for family moments. Regularly I go back through the years for that day, love that feature.


I've had nothing but trouble with Immich. It's a CPU hog if you enable any kind of AI/ML (face detection is a notable culprit) or when preprocessing even small phone videos, I can't get it to import an existing photo tree from a filesystem, and the iOS app can't seem to sync reliably...

I'll throw in another "+1, quite satisfied with immich" comment, because I'm honestly that impressed.

The project as a whole feels competent.

Stuff that should be fast is fast. E.g. upload a few tens of thousands of photos (saturates my wifi just fine), wait for indexing and thumbnailing to finish, and then jump a few years in the scroll bar - odds are very good that it'll have the thumbnails fully rendered in like a quarter of a second, and fuzzy ones practically instantly. It's transparently fast.

And the image folder structure is very nearly your full data, with metadata files along side the images, so 99% backups and "immich is gone, now what" failure modes are quite easy. And if you change the organization, it'll restructure the whole folder for you to match the new setup, quietly and correctly.

Image content searching is not perfect (is it ever?), but I can turn it on in a couple clicks, search for the breed of my dog, and get hundreds of correct matches before the first mistake. That's more than good enough to be useful, and dramatically better than anything self-hosted that I've tried before, and didn't take an hour of reading to enable.

It's "this is like actually decent" levels that I haven't seen much in self-hosted stuff. Usually it's kinda janky but still technically functional in some core areas, or abysmally slow and weird like nextcloud, but nope. Just solid all around. Highly recommended.


How does the mobile syncing work?

Really looking for a system where I can install the app on my parents' iPhones and it backs up their photos to my server without them having to even know about the app. They won't open it, ever.

Nextcloud fails at that.



I honestly thought there was some app - even one from Google - that let you just run on your Windows or Mac and downloaded all of your Google Photos to your computer.

That’s all the author is trying to do. He isn’t trying to avoid or replace Google Photos - just have a local backup.

Even Apple has a Windows app that does that for iCloud Photos


I'm running Immich on NanoPi R6C (arm64, even lower idle power usage, still plenty fast for running Immich).

I use Cloudflare tunnel to make it available outside the home network. I've set up two DNS names – one for accessing it directly in the local network, and and a second one that goes through the tunnel. The Immich mobile app supports internal/external connection settings – it uses the direct connection when connected to home wifi, and the tunnel when out and about.

For uploading photos taken with a camera I either use immich-go (https://github.com/simulot/immich-go) or upload them through the web UI. There's a "publish to Immich" plugin for Adobe Lightroom which was handy, but I've moved away from using Lightroom.


Are you also facing the the 100mb upload limit when using cloudflare tunnel? Sometimes I want to upload a video from my phone will away from home but I can't and need to vpn

You have to disable Cloudflare proxy which is not an option with tunnels. It's technically against TOS to proxy non-HTML media anyway. I just ended up exposing my public IP.

> I just ended up exposing my public IP.

I considered doing that too. My main problem with it is privacy. Let's say I set up some sort of dynamic DNS to point foo.bar.example.org to my home IP. Then, after some family event, I share an album link (https://foo.bar.example.org/share/long-base64-string) with friends and family. The album link gets shared on, and ends up on the public internet. Once somebody figures out foo.bar.example.org points to my home IP, they can look up my home IP at all times.


If you’re lucky, you might have an ISP that will sell you more than one static IP (AT&T does this). In that case maybe you could isolate all your public-facing traffic to that IP and use a firewall/VLAN setup to isolate that traffic.

I also wonder if you could just run some kind of cheap tunnel box on a VPS server and have that act a lot like cloudflare. Maybe there’s an open source alternative to cloudflare’s IP tunneling?

My solution for photos is to pay Ente for their cloud product and then use the desktop app’s continuous export to export to my NAS automatically, so I don’t have to worry about the company going under or anything like that.


Immich struggles to act as a true unifying solution for users with large, existing archival collections (DSLRs, scanned film, etc.). Since those „Archival Assets“ are often decades old, already organized into complex, user-defined file structures (e.g., 1998/DATE_PLACE_PROJECT/PLACE_PROJECT_DATE.jpg), and frequently contain incomplete or inconsistent metadata (missing dates, no GPS, different file formats).

Immich's current integration solutions (like "External Libraries") treat the archive as a read-only view, which leads to a fragmented user experience:

- Changes, facial recognition, or tagging remain only within Immich’s database, failing to write metadata back to the archival files in their original directory structure (last time I checked, might be better now.

- My established, meaningful directory structure is ignored or flattened in the Immich view, forcing the user to rely entirely on Immich’s internal date/AI-based organization.

My goal (am I the only one?) of having one app view all photos while maintaining the integrity and organizational schema of the archival files on disk is not yet fully met.

Immich needs a robust, bi-directional import/sync layer that respects and enhances existing directory structures, rather than just importing files into its own schema.


This is where I'm at, really. I have my own filing hierarchy and storage templates can't really deal with it (and I don't get why they would be needed when all I want is for it to handle an "uploads" directory and re-scan the file tree after I file things)

Anyone used https://lycheeorg.dev for a comparison?

I'm curious to know which one would suit me best.


> Albums within albums

I didn't knew about Lychee previous to your comment, but given that they support what should be a basic feature of photo management software (unlike Immich), I'll give it a try

Thanks for the suggestion!


I use lychee. It’s been great. Uploads could be a bit rough a few versions back but they’ve been seamless for a while

immich is neat, but I tire of fiddling around with computers more than necessary so I pay for iCloud for the family because I don't want to be Oncall 24/7/365. I do self host home assistant sadly, just because certain things I want to do are just not possible with SmartThings. planning on moving to their hosted solution for that eventually too tho.

I actually did the math earlier and the iCloud 12TB plan for a family is way cheaper than the equivalent s3 storage assuming frequent access, even assuming a 50% discount. so that's nice.


> because I don't want to be Oncall 24/7/365

Yes I don't recommend doing that. My experience is that people understand you are human because they know you. They don't expect 9 9s availability but if they somehow do that can be clarified from the start : "I'm hosting this free of charge for family members because (insert your reasons here, it's important to clarify WHY it's different because Apple and BigTech in general somehow still have a ton of goodwill) but as you know as also have a job and our family life. Consequently sometimes, e.g. electricity outage or me having to update the server, there will be down time. Do no panic when this happens as the files are always safe (backup details if you want) but please do be patient. Typically it might take (insert your realistic expectation, do NOT be too optimistic) a day per month for updates. If you do have better solutions please do contribute."

... or something of the kind. I've been doing that for years and people are surprisingly understanding. IMHO it stems from the why.

The "way cheaper than the equivalent" argument reminds me of, and apologies I know it's a bit rough, Russian foreign minister days ago who criticize the EU for its plan to decouple with their oil & gas saying something like "Well if they do that they will pay a lot more elsewhere" and he's right. The point isn't the money though, the point is agency and sovereignty.


One option is use immich just to browse photos. I back my photos up to various places, one of which is my NAS. You can set up immich to browse but not modify photos so you can still use it as a "front end".

This is great timing, I'm just setting up a homelab and planning to run Immich on a mini PC server connected to a NAS. I did find icloudpd, which seems like a pretty reliable syncing tool for people in Apple ecosystem. https://github.com/icloud-photos-downloader/icloud_photos_do...

I just sync from my mac and iphone to immich. Works well

On iOS, does it keep syncing if you "swipe away" the app and never open it for e.g. a couple months?

I really would like something like this.


As far as I understand iOS’s behaviour, there’s no way to do what you’re asking unless you’re Apple Inc.

The Nextcloud app kind of does it, it seems. The fact that it stops working seems unrelated: starting the app doesn't make it recover, so it just seems buggy.

Nextcloud uses the location permission for some reason, presumably to wake up the app in the background once in a while? At least it can be closed (and "swiped away") for 2 months and keep syncing. Until it breaks and stops working entirely.


Surprised that neither the article, nor the comments mention Photoprism from what I can see. It’s not I’ve been hosting Photoprism and syncing my photos with PhotoSync from my iPhone for a while now. I would consider switching to another solution if it had in-browser basic editing (cropping, contrast / white balance adjustment, etc).

https://www.photoprism.app/


So am I seeing this right:

Immich, ente and photoprism all compete in a similar space?

Seems immich is the most polished webpage, but which solution will become the next cloud for photos is to be seen. Surely it's not next cloud anymore, considering the comments here.


> Surely it's not next cloud anymore, considering the comments here.

I have been testing Nextcloud for backing up photos from my family members' phones. Wouldn't recommend.

The sync on iOS works well for a while, then it stops working, then some files are "locked" and error messages appear, or it just stops syncing, and the only way I find to recover is to essentially restart the sync from scratch. It will then reupload EVERYTHING for hours, even though 95% images are already on the server.

Note that in my use-case, the user never opens the app. It has to work in the background, always, and the user should not have to know about it.


I've switched from photoprism to immich. Immich is a much more active project, bugs are fixed, face recognition is an order of magnitude better, just an overall more solid experience. If you are choosing, I wouldn't doubt for a second to go with immich.

Very nice the author uses tailscale serve! It's an underrated, and unfortunately under documented, way to host a web service directly to Tailscale. With that you can run a docker compose stack with one extra tailscale container, and then it's immediately a self contained and reasonably portable web server in your tailnet.

Immich really is fantastic software, and their roadmap is promising. I hope they have enough funding to keep going.


I prefer Photoview’s simplicity over Immich. Immich leans too much toward mimicking Google Photos for my taste.

I would disagree there. I've tried lots of photo managers, and for organizing thousands of photos, I think Google Photos has it pretty much nailed. When choosing a photo/video manager, "works pretty much exactly like Google Photos but without all the AI bullshit and privacy issues" is a major selling point for me. Ideally it would even have the same shortcuts so that my muscle memory still works.

I found the sync clients for iOS to stuck unfortunately, meaning I cannot use this.

I use ente which is also the same, a bit tricky to setup but the app looks great

Not self hosted. But I pay for ente for me and my family. Covers 5 of us for £10 a month. Not the cheapest but ente works amazing.

You can self host it. It used to be a fairly complicated procedure but I think they simplified it recently, but I haven’t tried it again since then

The only thing that's really missing is a feature on the mobile app to delete local copies of uploaded assets ... Something like Google Photos "Free up space" feature.

It has that. Select the media you want to delete, tap & hold, then scroll to the right in the menu and select Delete from device. At least on Android this is the way.

One thing I really like is the performance... its smooth and fluid. The api is really useful as well: I wrote a small job to auto add descriptions and tags to the images.

Love Immich. Runs smoothly on an amd 4700u ($200) with minimum cpu/ram usage

I agree, and simple to me $200 new PC does this task just fine.

Immich started the same time and with the same backstory/reasoning to my (failed) project.

I love the immich success story but it seems like it's missing a crucial use case in my view: I don't actually want a majority of the photos on my phone. I want something like a shared album that me and my wife both have access to, and so we can share photos specifically to that album (quickly and without hassle), so we can do it in the moment and both have access.

I would probably estimate 90% Of my photos are junk, But I want to isolate and share the 10% that are really special.

My app failed, but I'm thinking about reviving it as an alternative front-end to immich, to build upon that.. But I feel like I'm the only one who wants this. Everyone else seems fine with bulk photo backup for everything.


I want something with a simpler backend than immich. I don't really want to host it because it needs lots of stuff to run. I would love one that can do sqlite and is a single binary go (or rust) program.

Mine is that: https://photofield.dev/ (but has fewer features)


I have a homegrown app too. It's too tinkery for anyone else. I throw whole iOS device backups at it so it can pluck out media from texts. Then the frontend has an efficient bulk sorting workflow with vi keys to navigate a grid of photos and tag with a few different tags or delete. I feel like this is not the same use case as immich, it's maybe a curation step before exporting a refined set of media.

just disable auto-upload and then manually upload the ones you want to. There is a setting to share your immich library with someone else. Between those two features, you should get something close to what you want.

For me one of the killer things would be to click "share" on a photo I took, and then have the immich albums show up so I can put them in that specific place as like a 3 click process. That's basically what I was building my whole app around

Just have immich app to sync only certain album? And add photos to that album. Seems like solved feature?

You can pick which albums on your phone to upload to Immich. You and your wife could have separate users on the server too if you want that. I think you can probably share a user account, or share albums between users, but the syncing might get confusing if you both have an album with the same name. The only reason I can think of to not upload everything on your phone and try to share one or two albums is that it might get hard to search through many pictures, even with the AI.

As for not wanting most of your photos, Immich also includes AI search and facial recognition which both work really well. I can't remember if it detects near-duplicates, but I thought it did. I think you should play around with it before you leap into the giant project of making your own app.


Given how many times I've read praises about Immich here, I tried it a few weeks ago and was quite disappointed.

The fact that they don't support sub-albums make it an absolute no-go to me.


> For every cloud service I use, I want to have a local copy of my data for backup purposes and independence.

I know how much Adobe is hated around any creative circle, but tbf I find that Lightroom CC does this pretty well. Adobe has a well done simple helper app that does just that: downloads the entire of your library locally, with all pictures, all edits, everything. For backup purposes is perfect. Lightroom might be expensive for amateurs, but if you even just do a couple of photo jobs per year, it's worth every cent.


learnt a lot from this! Thanks.

I've been running Immich on my Kubernetes cluster for a few months now. It was one of the harder things to install. I didn't use the "official" Helm chart because I didn't like it, instead just set it up myself. I use Cloud Native Postgres for DBs so I have backups already configured. I had to use a special image with vectorchord in it. It auto updates with flux and has been fine. The only time it wasn't fine was when I needed to manually upgrade vectorchord in the db.

The Android app is good but does quite often fail to open, just getting stuck on the splash screen indefinitely. Means I have to have another app for viewing photos on my phone.

One of the main reasons I wanted to install it is because my partner runs out of space on her iPhone and I don't want to pay Apple exorbitant amounts for piffling storage. Unfortunately it doesn't quite work for that; I can't find an option to delete local copies after upload.


this is super cool.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact |

Search: