ArchImmich is a modern export and archive tool designed for users of the Immich platform. This application simplifies the process of fetching media buckets and exporting them into archives, all while offering a sleek and user-friendly interface.
-
Fetch Media Buckets: Retrieve buckets of media files grouped by day or month.
-
Customizable Export Options:
- Archive size configuration.
- Group files into single or multiple archives.
-
Real-Time Progress:
- General and per-download progress bars.
- Logs for detailed insights.
-
Integrity Validation:
- Check existing archives to avoid redundant downloads.
-
User-Friendly Interface:
- Modern UI with intuitive options for configuration and archive management.
git clone https://github.com/osa911/archimmich.git
cd archimmich
Make sure you have Python 3.7 or higher installed. Then, set up your virtual environment and install the required packages:
-
Create a virtual environment:
python3 -m venv venv
-
Activate the virtual environment:
- macOS/Linux:
source venv/bin/activate
- Windows:
venv\\Scripts\\activate
- macOS/Linux:
-
Install the required packages:
pip install -r requirements.txt
-
Configure the .env file:
- Create a
.env
file in the root directory from the provided.env.example
file.
- Create a
Start the application with:
python3 src/main.py
To package the application into a standalone executable:
-
Install PyInstaller:
pip install pyinstaller
-
Build the Executable:
sh scripts/build.sh
-
The executable will be available in the
dist
folder.
-
Login:
- Enter your API key and server URL.
- Click Login to authenticate with the Immich server.
-
Configure Export:
- Choose archive size, grouping (day/month), and the output directory.
-
Fetch Buckets:
- Click Fetch Buckets to list available media buckets.
- Select the desired buckets for export.
-
Export:
- Start the export process and monitor progress in the logs and progress bars.
-
Access Archives:
- Use the Open Folder button to access exported archives.
light theme | dark theme |
---|---|
![]() |
![]() |
- Fork the repository.
- Create a new feature branch:
git checkout -b feature-name
- Commit your changes:
git commit -m "Add feature-name"
- Push to the branch:
git push origin feature-name
- Open a pull request.
This project is licensed under the MIT License. See the LICENSE file for more information.
For feedback, issues, or questions:
- GitHub Issues: https://github.com/osa911/archimmich/issues
MIT