/ImmichFrame

Primary LanguageC#GNU General Public License v3.0GPL-3.0

Contributors Forks Stargazers Issues MIT License


Logo

ImmichFrame

An awesome way to display your photos as an digital photo frame
Explore immich »

Report Bug · Request Feature

⚠️ Disclaimer

This project is not affiliated with immich!

About The Project

This project is a digital photo frame application that interfaces with your immich server. It is a cross-platform C# .NET 7 project that currently supports Android, Linux, macOS, and Windows.

Built With

  • Avalonia

✨ Demo

Screenshot 2024-03-28 at 10 10 04 AM

Getting Started

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).

Prerequisites

  • A set up and functioning immich server that is accessible by the network of the ImmichFrame device.

Usage

Linux

  • 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.

Windows

  • Double-click Immich_Frame.exe.
  • Screensaver - Rename Immich_Frame.exe to Immich_Frame.scr. Right-click → Install. Configure screensaver settings and apply.
    • You will still have to click middle/bottom in the app to exit screensaver.

MacOS

  • Double-click Immich_Frame. Note: If nothing happens, right-click → open with → Utilities → Terminal. Check Always Open With.

Settings

There are two options for configuring ImmichFrame; Settings.xml (Linux, macOS, Windows), or a GUI based settings screen (all platforms). If Settings.xml exists it will be used, and the GUI settings will be unavailable.

Settings.xml

Important

Make sure to copy the Settings.example.xml and name it Settings.xml.

  1. Rename the Settings.example.xml file to Settings.xml
  2. Change <ImmichServerUrl> to your domain or local ip
     <ImmichServerUrl>http://yourdomain.com</ImmichServerUrl>
  3. Change <ApiKey>. Read more about how to obtain an immich API key
     <ApiKey>YourApiKey</ApiKey>
  4. Optional: Choose albums you would like to display
     <Albums>
         <Album>First Album UID</Album>
         <Album>Second Album UID</Album>
     </Albums>
  5. Optional: Choose people you would like to display
     <People>
         <Album>First person UID</Album>
         <Album>Second person UID</Album>
     </People>
  6. Optional: Weather is enabled by entering an API key. Get yours free from OpenWeatherMap
    <WeatherApiKey>YourApiKey</WeatherApiKey>
  1. Adjust other settings to your needs

Settings GUI

Only available if Settings.xml does not exist. The same information as in Settings.xml 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.

Interactions

Touch/Mouse

The screen is configured in a 3x3 gird. You can touch or click:

- Settings -
Prev
image
Pause Next
image
- Quit -

Keyboard:

Settings - Up arrow
Quit - Down arrow
Prev Image - Left arrow
Next Image - Right arrow
Pause - Enter/Return

Roadmap

  • 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).

Contributing

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!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

GNU General Public License v3.0

Contact

TODO

Acknowledgments

Star History

Star History Chart