Back to Blog
Proxmox
LXC
Immich
Docker
Homelab
Immich in Proxmox LXC: A Stability Gamble Worth Taking?
February 5, 2026
10 min read
# Immich in Proxmox LXC: A Stability Gamble Worth Taking?
Home server enthusiasts love pushing boundaries — squeezing every last drop of utility out of platforms like Proxmox, ZFS, and Docker. So when Immich, an open‑source self‑hosted photo and video manager, started getting buzz as a lightweight alternative to big cloud services, it was only natural that someone would try to run it in an LXC container on Proxmox.
And on paper? It's a beautiful idea. Lightweight, efficient, and clean. Skip the overhead of full VMs. Use existing storage shares. It feels elegant.
But real‑world experience tells a slightly messier story.
This is the story of one homelabber's week wrestling Immich into a Proxmox LXC — how it started smooth, then hit a wall — and what the community has learned in the process.
## Day 0: The Setup
The plan seemed simple:
1. Create an LXC container in Proxmox.
2. Install Immich inside it using the popular Proxmox VE Helper‑Scripts.
3. Mount an SMB share into the container via a symbolic link so Immich could see the photo storage.
4. Enjoy a self‑hosted solution without the overhead of extra VMs or complex networking.
At first, it worked exactly like that. The container started, Immich served its web UI, and the media folder mounted correctly. Everything felt solid.
But the devil, as always, is in the details.
## First Sign of Trouble: A Few Reboots Later
Within a few days, the Proxmox host needed reboots — routine hardware updates, power cycling, nothing dramatic.
But after those reboots, something broke.
The LXC container still ran. The IP address was still reachable. Networking was fine. But the Immich web interface was dead, silent, unreachable.
No obvious errors. No rapid diagnostic clues. Just… nothing.
Try as they might, the admin couldn't bring the interface back without starting from scratch.
That's when the feeling shifted from "this is neat" to "this might not be built for this."
## What Went Wrong? Stability or Fragility?
At a glance, Immich running in an LXC sounds fine. But the deeper issue isn't just "it broke" — it's why it broke, and how recoverable it was.
Here's the rub:
### 1. Database Sensitivity on Network Filesystems
One commenter pointed out a classic problem: PostgreSQL doesn't play nicely with network mounts. When you have a database engine writing to a filesystem that's actually an SMB/NFS share via a symlink, things can get unpredictable.
This isn't just a theoretical warning — databases have very strict write and lock semantics. When those semantics run over network‑backed mounts inside an LXC, the risk of corruption or unresponsive behavior spikes.
### 2. Post‑Reboot Weirdness
Several responders noted their containers broke after reboots too — and the cause wasn't always the LXC itself.
Common suspects included:
- IP addresses changing
- Services not marked enabled to start after reboot
- Mounts not remounted in the same order
- Systemd services failing silently
In short: Immich may be fine — it's how the containerized environment interacts with Proxmox's LXC model that caused problems.
### 3. Helper Scripts Aren't Official
A number of servers in the comments admitted they used the Proxmox helper scripts for setup… but hinted at limitations.
These scripts are community‑supported and convenient — but they're not part of Proxmox core. That means edge‑cases can happen, especially when updates roll through.
## What the Community Experienced
Interestingly, the reactions split into a few camps:
### People Who Hit Instability
Many users mirrored the original poster's struggle — Immich becomes unreachable after a few days or after a host reboot.
- Some said restoring a backup fixed it temporarily.
- Others concluded as much as they wanted it to work, it just wasn't reliable enough for long‑term use in LXC.
### Others Running It Smoothly
But not everyone melted down.
A handful of folks said they'd run Immich in an unprivileged LXC for long periods without issue. A few tweaks they mentioned:
- Keeping the container small and lean
- Separating data onto linked storage instead of inside
- Being careful with permission changes
- Taking backups before running updates
So yes — it can work. But it's not trivial.
## Docker in LXC: A Middle Ground
Some users found success by running Docker inside an LXC, rather than installing Immich directly into the LXC filesystem.
This adds another abstraction layer — Docker inside an LXC — but isolates services better. It also makes updates and service restarts easier, and gives better logs and tooling.
However, this strategy still has caveats: container‑inside‑container setups add complexity, especially around networking and storage mounts.
## The VM Advocates
The most consistent reports of stability came from those running Immich inside a full VM, usually with a lightweight Linux like Debian, using Docker or Docker Compose.
Here's what community members observed:
- No unexplained outages after reboots
- Docker containers come up automatically, predictable networking
- Can put database and filesystem on local VM disks for better performance
- Easier debugging via standard Linux tooling
In other words — it just works.
As one commenter said succinctly: "Immich in Docker on a normal Debian VM has been perfectly stable for years. Not a single hiccup."
## So What's the Verdict?
Let's break this down in plain language.
### 💡 LXC with Immich:
- ⚠️ Can work
- ⚠️ Potential for unexpected downtime
- ⚠️ Needs careful setup
- ⚠️ Troubleshooting can be tricky
### 🐋 Docker in LXC:
- 👍 Better than raw LXC
- 👍 More tooling and service isolation
- ⚠️ Still adds complexity
### 🖥 Full VM + Docker:
- ⭐ Most stable and predictable
- ⭐ Best for long‑term uptime
- ⭐ Works reliably across reboots
- ❓ Slightly more resource usage
## Best Practices If You Still Want to Try LXC
If you're determined to squeeze Immich into an LXC, here are community tips worth considering:
### 1. Use an unprivileged container
This protects the host better and mirrors VM isolation more.
### 2. Keep data directories out of the container root
Bind‑mount or link only specific folders. Don't drag entire shares into the container.
### 3. Make sure your services start on boot
Check systemd enabling and networking after every reboot.
### 4. Test full power cycles
Not just restarts — shut down the host entirely and boot again. This exposes mount order issues.
### 5. Backup, backup, backup
Containers are cheap to snapshot — do it, especially before updating helper scripts.
## Final Thoughts
Trying Immich in an LXC on Proxmox is a classic DIY experiment — clever, efficient, and satisfying when it works.
But home labs aren't just labs — they're infrastructure for your memories.
When you start trusting a system with your irreplaceable photos and videos, stability has to matter more than elegance. And for most people, that means moving beyond the bare‑bones LXC and into a more robust environment — ideally a dedicated VM running Docker.
If you're the tinkering type who enjoys wrestling with edge cases and digging into mount options, go for the LXC challenge. Just be ready for maintenance, quirks, and potentially rebuilding things after a host reboot.
If you'd rather set it up once and forget it, a full VM may be the better gamble.
Either way, there's no shame in pivoting your setup — especially when the goal is peace of mind.
Keep Exploring
Running Clawdbot on Proxmox: A Practical Guide for Real Humans
Docker in LXC vs VMs on Proxmox: Why This Debate Refuses to Die in 2026
Docker in LXC or VM on Proxmox? Compare security, performance, backup behavior, and operational risk so you can pick the right model.
LXC Meets Docker? And Other Questions About Proxmox 9.1
Proxmox VE 9.1 introduces OCI image support for LXC containers and more. We answer the biggest questions about this release, from Docker-in-LXC fixes to TPM changes and upgrade stability.
Proxmox 9.1 Can 'Run Docker Containers'… but Not the Way You Think
Proxmox 9.1's new OCI container feature promises Docker-like functionality, but the reality is more nuanced. We dive into what actually works, what doesn't, and why this isn't the Docker replacement many hoped for.