Set Up Your Own Photos Server Instead of Google Photos or Something Else by Using Immich and Tailscale
Published: Oct 20, 2025
The solution is a free software called Immich https://immich.app and you can run it at your home (or in a rented server somewhere) on an old machine with some USB drives or set it up on fancy stuff with RAID etc.
There are four parts to it:
Setting up the Immich Server
- Go watch the awesome video that Tailscale folks have produced: https://www.youtube.com/watch?v=guHoZ68N3XM
Setting it up with a URL that is only accessible to you (Have you heard of Tailscale?!)
- Tailscale to the rescue again. Watch the same video as above.
Download and install Immich-go, which allows you to upload large amounts of photos and videos to your Immich server with either your own local media or stuff you downloaded from Google Takeout.
- Download and install: https://github.com/simulot/immich-go
- Basic commands - to upload from Google Takeout (download as zip):
./immich-go upload from-google-photos --server=https://your-immich-server-url --api-key=get-it-from-immich-portal /location-of-your-google-takeout-files - Basic commands - to upload from a folder in your system:
./immich-go upload from-folder --server=https://your-immich-server-url --api-key=get-it-from-immich-portal / - For very large files and slow networks, you might want to keep the session longer so the files actually get uploaded. The switch to add to the above is:
--client-timeout=8h. Change the 8h (eight hours) to whatever suits you.
Set up backup jobs to at least another disk (ideally three copies)
- Of course, back up your main data folder. Use rsync or if in a VM, you’ve got better tools.
Enjoy!
- Download the app to your phone, set up autobackups, tinker around
🐬