Skip to content
Projects

nicx17/mimick has 140 GitHub stars and 5 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-09 09:14 UTC. Last push 2026-11-05.

How these counts are measured

Immich client for Linux — background sync, library browser, album sync, and search. Built with RUST and GTK4, Adwaitaa

What you can do

  • Background sync: watches your folders and uploads new photos and videos as they appear, with 1–10 parallel uploads.
  • No duplicate uploads: SHA-1 checksums skip files already on the server, and a local index keeps startup scans fast.
  • Per-folder control: upload to your library, a chosen album, or an album named after the folder. Each folder can skip hidden files, cap file size, allow only some file types, and use Upload Only, Download Only, or Full sync.
  • Reliable: failed uploads are saved and retried, Mimick switches between your LAN and WAN addresses automatically, and the Queue Inspector shows and retries failures.

Measured star growth

in 24h
0
in 7 days
Update delayed
in 15 days
Update delayed
in 1 month
Update delayed

Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.

README.md

Original

Mimick - Immich Desktop Client for Linux

Mimick Logo

Status GitHub Release Rust Linux GTK4 License: GPL v3

Flathub Version Flathub Downloads Sonar Quality Gate Maintainability Rating Reliability Rating Security Rating SonarQube Cloud

Mimick Project Card

Mimick is an unofficial Immich desktop client for Linux. It syncs your photo and video folders to a self-hosted Immich server in the background, and has an optional library browser for viewing, searching, and managing your photos from the desktop.

This is a community-developed project and is not affiliated with or endorsed by the Immich project.

Status: Supports Immich v3.0.0+.

Table of Contents

  • Screenshots
  • Features
  • Installation
  • Getting Started
  • Documentation
  • Building from Source
  • Credits
  • License

Screenshots

Library View (Light) Explore View
Photos page light Explore View
Sync Status Dashboard Settings & Watch Folders
Status dashboard Settings & Watch Folders

View All Screenshots

Features

  • Background sync: watches your folders and uploads new photos and videos as they appear, with 1–10 parallel uploads.
  • No duplicate uploads: SHA-1 checksums skip files already on the server, and a local index keeps startup scans fast.
  • Per-folder control: upload to your library, a chosen album, or an album named after the folder. Each folder can skip hidden files, cap file size, allow only some file types, and use Upload Only, Download Only, or Full sync.
  • Reliable: failed uploads are saved and retried, Mimick switches between your LAN and WAN addresses automatically, and the Queue Inspector shows and retries failures.
  • Battery and network aware: quiet hours, and optional pausing on metered networks or battery power.
  • Desktop integration: tray icon, Run on Startup, Open With Mimick from your file manager, and drag and drop to upload or export.
  • Private by design: the Flatpak can only read folders you pick, and your API key is kept in the system keyring.
  • Library browser (optional): a Photos timeline, albums, Explore, metadata, smart, and text (OCR) search, people, tags, folders, a map, video playback, sharing, archive, and trash.
  • Works on Linux phones: the layout adapts down to 360 px wide, with a bottom navigation bar.

See Current App Highlights for the full list, and the Library View User Guide for the browser (or press Ctrl+? in the app for shortcuts).

Installation

Mimick is distributed on Flathub, which keeps it updated automatically:

flatpak install flathub dev.nicx.mimick

Note: If you haven't set up Flathub yet, follow the guide for your distribution at flathub.org/setup.

Getting Started

The settings window opens the first time you launch Mimick.

  1. Under Server, enter your Immich Internal URL (LAN, e.g. http://192.168.1.50:2283), External URL (e.g. https://photos.example.com), or both.
  2. In Immich, create an API key under Account Settings → API Keys, paste it into Mimick, and press Save and Connect.
  3. Under Watch Folders, press Add Folder… and choose where each folder uploads to.
  4. Turn on Background Sync to keep syncing after you close the window, and Run on Startup to start Mimick when you log in.

Core sync needs only these API key permissions; all enables every feature:

Permission Why
user.read Establish current user session and identity
asset.upload Send media to the server
asset.update Apply correct timezone metadata after upload

The Configuration and First Run guide covers every setting and the permissions each feature needs.

Documentation

Wiki Home Installation User Guide Library View Troubleshooting Development Testing API Docs Security

Building from Source

You need a Rust toolchain, GTK 4.24, libadwaita 1.10, libheif 1.21, libshumate 1.7, GStreamer with the GTK 4 video sink, and libclang. The Development guide lists the packages for each distribution.

git clone https://github.com/nicx17/mimick.git
cd mimick
cargo run -- --settings      # native build, opens the settings window

flatpak-builder --user --install --force-clean build-dir dev.nicx.mimick.local.yml
flatpak run dev.nicx.mimick  # local Flatpak build

Contributing

Pull requests are welcome. See CONTRIBUTING.md for commit and style guidelines. Releases ship with checksums, and CI runs formatting, linting, tests, dependency audits, and CodeQL analysis.

Credits

Third-party license texts are in THIRD_PARTY_LICENSES.txt.

License

GNU General Public License v3.0 — see LICENSE.

Explore related projects