Immich is a promising self-hosted alternative to Google Photos. Its UI and features are clearly heavily inspired by Google Photos, and like Photoprism, Immich uses tensorflow-based machine learning to auto-tag your photos!
Pre-production warning
The developer makes it abundantly clear that Immich is under heavy development (although it's covered by "wife-insurance"1), features and APIs may change, and all your photos may be lost, or (worse) auto-shared with your mother-in-law! Take due care
See my detailed review of Immich, as a Google Photos replacement, here
Create /var/data/config/immich/immich.env something like the example below..
/var/data/config/immich/immich.env
#################################################################################### Database#################################################################################### These are for the Immich componentsDB_HOSTNAME=dbDB_USERNAME=postgresDB_PASSWORD=postgresDB_DATABASE_NAME=immich# These are specific to how the postgres image likes to receive its ENV varsPOSTGRES_PASSWORD=postgres#POSTGRES_USER=postgresPOSTGRES_DB=immich#################################################################################### Redis###################################################################################REDIS_HOSTNAME=redis# Optional Redis settings:# REDIS_PORT=6379# REDIS_DBINDEX=0# REDIS_PASSWORD=# REDIS_SOCKET=#################################################################################### JWT SECRET###################################################################################JWT_SECRET=randomstringthatissolongandpowerfulthatnoonecanguess#################################################################################### MAPBOX##################################################################################### ENABLE_MAPBOX is either true of false -> if true, you have to provide MAPBOX_KEYENABLE_MAPBOX=falseMAPBOX_KEY=#################################################################################### WEB - Required#################################################################################### This is the URL of your vm/server where you host Immich, so that the web frontend# know where can it make the request to.# For example: If your server IP address is 10.1.11.50, the environment variable will# be VITE_SERVER_ENDPOINT=http://10.1.11.50:2283/api# !CAUTION! THERE IS NO FORWARD SLASH AT THE ENDVITE_SERVER_ENDPOINT=https://immich.example.com/api##################################################################################### WEB - Optional##################################################################################### Custom message on the login page, should be written in HTML form.# For example VITE_LOGIN_PAGE_MESSAGE="This is a demo instance of Immich.<br><br>Email: <i>demo@demo.de</i><br>Password: <i>demo</i>"VITE_LOGIN_PAGE_MESSAGE=NODE_ENV=production
Immich Docker Swarm config
Create a docker swarm config file in docker-compose syntax (v3), something like the example below.. example:
Fast-track with premix! 🚀
"Premix" is a git repository which includes necessary docker-compose and env files for all published recipes. This means that you can launch any recipe with just a git pull and a docker stack deploy 👍.
🚀 Update: Premix now includes an ansible playbook, enabling you to deploy an entire stack + recipes, with a single ansible command! (more here)
Setup unique static subnets for every stack you deploy. This avoids IP/gateway conflicts which can otherwise occur when you're creating/removing stacks a lot. See my list here.
Now hit the URL you defined in your config, and you should be prompted to create your first (admin) account, after which you can login (with the details you just created), and start admin-ing. Install a mobile app, connect using the same credentials, and start backing up all your photos!
Summary
What have we achieved? We have an HTTPS-protected endpoint to target with the native mobile apps, allowing us to backup photos from mobile devices and have them become searchable, shareable, and browseable via a beautiful, Google Photos-esque interface!
Summary
Created:
Photos can be synced from mobile device, or manually uploaded via web UI
Setup Immich in < 60s
Sponsors have access to a Premix playbook, which will set up Immich in under 60s (see below):
Chef's notes 📓
"wife-insurance": When the developer's wife is a primary user of the platform, you can bet he'll be writing quality code! ↩
Did you receive excellent service? Want to compliment the chef? (..and support development of current and future recipes!) Sponsor me on Github / Ko-Fi / Patreon, or see the contribute page for more (free or paid) ways to say thank you! 👏
Employ your chef (engage) 🤝
Is this too much of a geeky PITA? Do you just want results, stat? I do this for a living - I'm a full-time Kubernetes contractor, providing consulting and engineering expertise to businesses needing short-term, short-notice support in the cloud-native space, including AWS/Azure/GKE, Kubernetes, CI/CD and automation.
Want to know now when this recipe gets updated, or when future recipes are added? Subscribe to the RSS feed, or leave your email address below, and we'll keep you updated.