An awesome way to display your photos as an digital photo frame
Explore immich »
Report Bug
·
Request Feature
This project is not affiliated with immich!
This project is a digital photo frame application that interfaces with your immich server. It is a cross-platform C# .NET 8 project that currently supports Android, Linux, macOS, and Windows.
ImmichFrame is easy to run on your desired plattform. Get the latest stable release from the release page and unzip to desired folder (Linux, macOS, Windows), or install APK (Android).
Tip
The Android-Version of ImmichFrame is available on the Google Play Store. Download it via the store for automatic updates.
- A set up and functioning immich server that is accessible by the network of the ImmichFrame device.
name: immichframe
services:
immichframe:
container_name: immichframe
image: ghcr.io/immichframe/immichframe:main
restart: on-failure
volumes:
- PATH/TO/CONFIG:/app/Config
ports:
- "8080:8080"
environment:
TZ: "Europe/Berlin"
docker run -td \
--name immichFrame \
--restart on-failure \
-v PATH/TO/CONFIG:/app/Config \
-p 8080:8080 \
-e TZ="Europe/Berlin" \
ghcr.io/immichframe/immichframe:main
- GUI - Double-click
Immich_Frame
. - CLI - CD into folder, and launch with
./Immich_Frame
. - SSH - CD into folder, and launch with
DISPLAY=:0.0 ./Immich_Frame
. - Ubuntu Desktop - Right-click Immich_Frame, properties, set 'Execute as program' to True, OK. Right-click Immich_Frame, Open with, choose 'Run Software', always use for this file type TRUE.
- If you get a permissions error run
chmod +x Immich_Frame
.
The latest Raspberry Pi OS, Bookworm uses Wayland as default, but also includes X11. The following assumes standard user is pi
and you are working on a fresh install of "Raspberry Pi OS with desktop".
To autostart ImmichFrame in Wayland, run nano /home/pi/.config/wayfire.ini
in terminal, to add the following at the end.
[autostart]
immichframe=/home/pi/{dir with Immich_Frame}/Immich_Frame
Wayland does not have an easy way to hide the cursor. If you want that, then change to X11 as the default desktop session through running sudo raspi-config
in terminal, then Advanced Options → Wayland → X11.
Then install unclutter:
sudo apt install -y unclutter-xfixes
After this, copy the default autostart file to your home folder and add a line to enable autostart, by running the following in terminal:
cp /etc/xdg/lxsession/LXDE-pi/autostart /home/pi/.config/lxsession/LXDE-pi/autostart
echo "@/home/pi/{dir with Immich_Frame}/Immich_Frame" > sudo tee /home/pi/.config/lxsession/LXDE-pi/autostart
- Double-click
Immich_Frame.exe
. - Screensaver - Rename
Immich_Frame.exe
toImmich_Frame.scr
. Right-click → Install. Configure screensaver settings and apply.- You will still have to click middle/bottom in the app to exit screensaver.
- GUI - Double-click
Immich_Frame
. Note: If nothing happens, right-click → open with → Utilities → Terminal. Check Always Open With. - CLI - CD into folder, and launch with
./Immich_Frame
. - If you get a permissions error run
chmod +x Immich_Frame
.
- Run the app normally and configure settings.
- Go to Settings, Display, Advanced, Screen Saver, Current Screen Saver, choose ImmichFrame. Settings, Display, Advanced, Sleep, choose your sleep timeout. The menu options may differ slightly on different Android versions.
- If you are unable to set ImmichFrame as a screen saver you may need to run this ADB command
adb shell settings put secure screensaver_components com.immichframe.immichframe/.ScreenSaverService
There are two options for configuring ImmichFrame; Settings.json (Linux, macOS, Windows), or a GUI based settings screen (all platforms).
Important
Make sure to copy the Settings.example.json and name it Settings.json.
-
Rename the
Settings.example.json
file toSettings.json
-
Change
ImmichServerUrl
to your domain or local ip"ImmichServerUrl": "http://yourdomain.com", or "ImmichServerUrl": "192.168.0.100:2283",
-
Change
ApiKey
. Read more about how to obtain an immich API key"ApiKey": "YourApiKey",
-
Optional: Choose albums you would like to display
"Albums": ["First Album UID","Second Album UID"],
[!TIP]
You can get the Album UID from the URL of the album. For this URL:https://demo.immich.app/albums/85c85b29-c95d-4a8b-90f7-c87da1d518ba
this is the UID:85c85b29-c95d-4a8b-90f7-c87da1d518ba
-
Optional: Choose people you would like to display
"People": ["First Person UID","Second Person UID"],
[!TIP]
You can get the Person UID from the URL of the person. For this URL:https://demo.immich.app/people/faff4d55-e859-4f6c-ae34-80f14da486c7
this is the UID:faff4d55-e859-4f6c-ae34-80f14da486c7
-
Optional: Weather is enabled by entering an API key. Get yours free from OpenWeatherMap
"WeatherApiKey": "YourApiKey",
"WeatherLatLong": "YourLatitude,YourLongitude",
- Adjust other settings to your needs
The same information as in Settings.json
will be enterred from this screen. Can be enterred at any time by clicking the upper middle quadrant of the screen (or Up arrow key), see Interactions
section. Settings can also be backup/restored from here.
The screen is configured in a 3x3 gird. You can touch or click:
- | Settings | - |
---|---|---|
Prev image |
Pause | Next image |
- | Quit | - |
Settings - Up arrow
Quit - Down arrow
Prev Image - Left arrow
Next Image - Right arrow
Pause - Enter/Return
- Display random assets
- Display Albums
- Display Memories
- Android build
- Add License
- Web app
- Add Additional Templates w/ Examples
See the open issues for a full list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
GNU General Public License v3.0
- BIG thanks to the immich team for creating an awesome tool
- Img Shields
- GitHub Pages