← View Source on GitHub

Native Linux-to-Immich Sync

Mimick keeps your Linux media flowing into Immich.

A GTK4 desktop app that watches your folders, uploads in the background, retries when the network gets messy, and still gives you the controls you want when it is time to step in.

Linux-first GTK4 + Libadwaita Flatpak-ready Open source Immich-focused

Why Mimick

Linux users who run Immich often end up with a gap between where their photos live locally and how they get into the server. Mimick closes that gap with a real desktop workflow: choose folders, connect your server, and let the app monitor, queue, and upload in the background while still fitting into how Linux desktops actually behave.

It is not just an uploader. It is meant to be the dependable layer between your filesystem and your Immich library, with enough visibility and recovery tools that you are not left guessing when something fails.

What You Get

Background Sync That Stays Out of the Way

Watch selected folders continuously, upload as media appears, and keep Mimick running quietly even after the settings window is closed.

Recovery Built In

Failed uploads are persisted and replayed later, which makes network hiccups and temporary server issues much less painful.

Native Desktop Controls

Use a GTK4 and Libadwaita settings window, system tray actions, pause and resume controls, and a status page that surfaces what the app is doing.

Flexible Folder Routing

Map each watched folder to an existing Immich album, a custom album name, or a folder-name-based default.

Safer Linux Packaging

Flatpak builds use selected-folder access instead of broad home-directory permissions, which fits modern Linux sandbox expectations better.

Troubleshooting Without Guesswork

Queue inspection, failed-item actions, diagnostics export, and clearer error messaging make the app supportable when real-life edge cases show up.

How It Fits Into Your Workflow

1

Connect Immich

Add your internal and external server URLs, store the API key securely in the system keyring, and keep at least one route active.

2

Choose Folders

Select the local directories you want to watch, add rules if needed, and decide how each folder should map to albums in Immich.

3

Let It Run

Mimick monitors those folders, queues eligible files, retries later when necessary, and can catch up on files it missed while it was not running.

4

Step In When You Want

Pause uploads, trigger a manual sync, inspect the queue, retry failures, or export diagnostics from the status page and tray controls.

See the App

The settings view keeps server details, behavior controls, watch folders, and folder-specific rules in one native Linux interface.
The status page gives you a live operational view with health information, sync controls, and a quick way to intervene when needed.
The queue inspector surfaces recent activity and failed uploads so recovery is part of the product, not an afterthought.

Built for Real Linux Conditions

Mimick is shaped around the realities of Linux desktops and self-hosted media servers. It supports background operation, login autostart, LAN and WAN routing, one-way sync, startup catch-up scans, and optional pause behavior for metered networks or battery power.

It also keeps the messaging honest: this is a Linux-first desktop app for Immich, currently in beta, with a deliberate focus on reliability and day-to-day usability over flashy abstractions.

Good fit if you want
  • a native Linux sync app instead of a manual import routine
  • Flatpak-friendly deployment with selected-folder access
  • clear status, retries, and recovery tools
  • automatic syncing that still feels controllable

Install

Flatpak is the recommended path

Mimick is distributed as a beta Linux app and works best when installed from the official Flatpak repository.

flatpak remote-add --user --if-not-exists mimick-repo https://nicx17.github.io/mimick/mimick.flatpakrepo
flatpak install --user mimick-repo io.github.nicx17.mimick

If you prefer a native build, the repository also supports a standard Rust workflow with cargo build --release.

FAQ

Is it Linux-only?

Yes. Mimick is currently built as a Linux desktop app around GTK4, Libadwaita, and Linux packaging flows.

Does it modify local files?

No. Mimick is designed as a one-way sync tool that uploads media to Immich without changing the original local files.

Does the tray work everywhere?

It uses StatusNotifier support. GNOME users may need the AppIndicator and KStatusNotifierItem extension for tray visibility.

Can it recover from failures?

Yes. Failed uploads are persisted and can be retried automatically or manually from the app's queue and status tools.

Want a Linux-native bridge into Immich?

Start with the Flatpak install, read the docs if you want more depth, or jump into the repository if you want to inspect how the app is built.