lymic Svelte Themes

Lymic

🚀 High-performance, cross-platform desktop synchronization client for Immich. Fast, reliable, and built with Rust, Tauri, and SvelteKit.

Lymic Logo

Lymic - Cross platform desktop client for Immich

Lymic is a high-performance, cross-platform desktop synchronization client for Immich. Effortlessly keep your local media library in sync with your personal Immich server — with a focus on speed, reliability, and a premium user experience.


✨ Features

  • 🚀 High Performance: Intelligent, metadata-based hash caching skips redundant processing for massive libraries.
  • ⚡ Real-time Watcher: Instantly detects new or modified files in your watched folders and starts background synchronization.
  • 📦 Large File Support: Optimized streaming uploads ensure that multi-gigabyte 4K videos are handled without high memory consumption.
  • 🎨 Premium UI: Clean, modern interface with real-time progress reporting and full system tray integration.
  • 🔒 Secure: Credentials are safely stored in your system's native keyring (Keychain, Credential Manager, or Secret Service).
  • 🔄 Smart Deduplication: Leverages Immich's bulk-upload-check API to verify assets before transmitting data.
  • 📂 Folder Management: Easily add or remove multiple watched folders from your local filesystem.

🛠️ Tech Stack

Layer Technology
Backend Rust + Tauri v2
Frontend SvelteKit + TypeScript
Styling Tailwind CSS v4
Icons Lucide
Database SQLite via SQLx
Networking Reqwest (HTTP / multipart streaming)

🚀 Getting Started

Download

The easiest way to get started is to download the latest installer for your operating system from the Releases page.

[!IMPORTANT] macOS Users: Since this is an open-source project without a paid Apple Developer certificate, macOS will block the app as "unidentified" or "damaged".

Option 1 (Recommended):

  1. Drag the app into your Applications folder.
  2. Right-click (or Control-click) the app icon and select Open.
  3. Click Open in the confirmation dialog.

Option 2 (If Option 1 fails): If you still see the "App is damaged" message, run the following command in your terminal:

xattr -cr /Applications/Lymic.app

Building from Source

Prerequisites

Steps

  1. Clone the repository

    git clone https://github.com/xXRoxXeRXx/lymic.git
    cd lymic
    
  2. Install dependencies

    npm install
    
  3. Run in development mode

    npm run tauri dev
    
  4. Build for production

    npm run tauri build
    

🔑 Immich API Configuration

To use Lymic, generate an API Key in your Immich web interface under Account Settings → API Keys.

Required Permissions (Scopes)

Scope Purpose
asset.upload Transmit new media files to the server
asset.read Verify whether a file already exists before uploading
server_info.read Validate the connection and check server compatibility

[!TIP] Lymic adheres to the principle of least privilege. It currently does not require asset.delete or album.write permissions unless you are using specific experimental features.


⚙️ How it Works

  1. Scan — The app scans your watched folders for media files (jpg, mp4, heic, etc.).
  2. Hash — A SHA-1 hash is calculated for each file. Results are cached in a local SQLite database alongside file metadata (mtime/size) so unchanged files are never re-hashed.
  3. Verify — Before uploading, Lymic checks the Immich server in chunks of 500 to determine which assets already exist.
  4. Stream — Missing assets are streamed directly from disk to the API, keeping memory usage low even for large video files.

🤝 Contributing

Contributions are welcome! Please read CONTRIBUTING.md before opening a pull request.


⚠️ Disclaimer

Lymic is an unofficial community project and is not affiliated with, maintained, or endorsed by the official Immich team. Use it at your own risk. Always keep backups of your precious media.


📄 License

This project is licensed under the MIT License.


Made with ❤️ for the Immich Community

Top categories

Loading Svelte Themes