Skip to content

immichFrame/ImmichFrame

Repository files navigation

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 8 project that currently supports Android, Linux, macOS, and Windows.

✨ Demo

Web Demo

Web Demo

Client Demo

Client Demo

🚀 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 / Installation

🌐 Browser

💻 Windows, Linux, MacOS, Android

⚙️ Configuration

Section Config-Key Value Default Description
Required ImmichServerUrl string The URL of your Immich server e.g. http://photos.yourdomain.com / http://192.168.0.100:2283.
Required ApiKey string Read more about how to obtain an immich API key.
Filtering Albums string[] [] UUID of album(s)
Filtering ExcludedAlbums string[] [] UUID of excluded album(s)
Filtering People string[] [] UUID of person(s)
Filtering ShowMemories boolean false If this is set, memories are displayed.
Caching RenewImagesDuration int 30 Interval in hours.
Caching DownloadImages boolean false *Client only.
Caching RefreshAlbumPeopleInterval int 12 Interval in hours. Determines how often images are pulled from a person in immich.
Image ImageZoom boolean true Zooms into or out of an image and gives it a touch of life.
Image Interval int 45 Image interval in seconds. How long a image is displayed in the frame.
Image TransitionDuration int 2 Duration in seconds.
Image ImageStretch int Uniform *Client only.
Weather WeatherApiKey string Get api-key: OpenWeatherMap.
Weather UnitSystem imperial | metric imperial Imperial or metric system. (Fahrenheit or degrees)
Weather Language string en 2 digit ISO code, sets the language of the weather description.
Weather ShowWeatherDescription boolean true Displays the description of the current weather.
Weather WeatherFontSize int 36 *Client only.
Weather WeatherLatLong boolean 40.730610,-73.935242 Set the weather location with lat/lon.
Clock ShowClock boolean true Displays the current time.
Clock ClockFontSize int 48 *Client only.
Clock ClockFormat string hh:mm Time format.
Calendar Webcalendar string[] [] A list of webcalendar URIs in the .ics format. e.g. https://calendar.google.com/calendar/ical/XXXXXX/public/basic.ics
Metadata ShowImageDesc boolean true Displays the description of the current image.
Metadata ImageDescFontSize int 3 *Client only.
Metadata ShowImageLocation boolean true Displays the location of the current image.
Metadata ImageLocationFormat string City,State,Country *Client only.
Metadata ImageLocationFontSize int 36 *Client only.
Metadata ShowPhotoDate boolean true Displays the date of the current image.
Metadata PhotoDateFontSize int 36 *Client only.
Metadata PhotoDateFormat string yyyy-MM-dd Date format.
UI FontColor string #FFFFFF *Client only.
Misc ImmichFrameAlbumName string Creates album and stores last 100 photos displayed.
Misc Margin string 0,0,0,0 *Client only. Optionally fine tune margins to adjust for under/over scan.
Misc UnattendedMode boolean false *Client only. Don't show error messages, silently keep trying.

Filtering

You can get the UUIDs from the URL of the album/person. For this URL: https://demo.immich.app/albums/85c85b29-c95d-4a8b-90f7-c87da1d518ba this is the UUID: 85c85b29-c95d-4a8b-90f7-c87da1d518ba

Caching

Needs documentation

Image

Needs documentation

Weather

Weather is enabled by entering an API key. Get yours free from OpenWeatherMap

Clock

Needs documentation

Calendar

If you are using Google Calendar, more information can be found here.

Metadata

Needs documentation

UI

Needs documentation

Misc

Needs documentation

🛣️ 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

🆘 Help

Discord Channel

🙏 Acknowledgments

  • BIG thanks to the immich team for creating an awesome tool

🌟 Star History

Star History Chart