Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/3rob3/ImmichFrame


https://github.com/3rob3/ImmichFrame

Last synced: 3 months ago
JSON representation

Awesome Lists containing this project

README

        

[![Contributors][contributors-shield]][contributors-url]
[![Forks][forks-shield]][forks-url]
[![Stargazers][stars-shield]][stars-url]
[![Issues][issues-shield]][issues-url]
[![MIT License][license-shield]][license-url]





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][immich-github-url]!**

## About The Project

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

### Built With

* [![Avalonia][Avalonia]][Avalonia-url]

## ✨ Demo
![Screenshot 2024-03-28 at 10 10 04 AM](https://github.com/3rob3/ImmichFrame/assets/156599986/75720456-4ccc-4323-af77-b72f34952f40)

## Getting Started

ImmichFrame is easy to run on your desired plattform. Get the latest stable release from the [release page][releases-url] 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`.
- 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.
### 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.
### Android Screensaver
- 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.
### Android TV Screensaver
- 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`
## Settings
There are two options for configuring ImmichFrame; Settings.json (Linux, macOS, Windows), or a GUI based settings screen (all platforms).

### Settings.json
> [!IMPORTANT]
> Make sure to copy the **Settings.example.json** and name it **Settings.json**.

1. Rename the `Settings.example.json` file to `Settings.json`
2. Change `ImmichServerUrl` to your domain or local ip
```json
"ImmichServerUrl": "http://yourdomain.com",
or
"ImmichServerUrl": "192.168.0.100:2283",
```
3. Change `ApiKey`. Read more about how to obtain an [immich API key][immich-api-url]
```json
"ApiKey": "YourApiKey",
```
4. *Optional:* Choose albums you would like to display
```json
"Albums": ["First Album UID","Second Album UID],
```
5. *Optional:* Choose people you would like to display
```json
"People": ["First Person UID","Second Person UID],
```
6. *Optional:* Weather is enabled by entering an API key. Get yours free from [OpenWeatherMap][openweathermap-url]
```json
"WeatherApiKey": "YourApiKey",
"WeatherLatLong": "YourLatitude,YourLongitude",
```
7. Adjust other settings to your needs

### Settings GUI
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.

## 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

- [x] Display random assets
- [x] Display Albums
- [x] Display Memories
- [x] Android build
- [x] Add License
- [ ] Web app
- [ ] Add Additional Templates w/ Examples

See the [open issues](https://github.com/3rob3/ImmichFrame/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](LICENSE.txt)

## Help
[Discord Channel](https://discord.com/channels/979116623879368755/1217843270244372480)

## Acknowledgments

* BIG thanks to the [immich team][immich-github-url] for creating an awesome tool
* [Img Shields](https://shields.io)
* [GitHub Pages](https://pages.github.com)

## Star History

[![Star History Chart](https://api.star-history.com/svg?repos=3rob3/ImmichFrame&type=Date)](https://star-history.com/#3rob3/ImmichFrame&Date)

[contributors-shield]: https://img.shields.io/github/contributors/3rob3/ImmichFrame.svg?style=for-the-badge
[contributors-url]: https://github.com/3rob3/ImmichFrame/graphs/contributors
[forks-shield]: https://img.shields.io/github/forks/3rob3/ImmichFrame.svg?style=for-the-badge
[forks-url]: https://github.com/3rob3/ImmichFrame/network/members
[stars-shield]: https://img.shields.io/github/stars/3rob3/ImmichFrame.svg?style=for-the-badge
[stars-url]: https://github.com/3rob3/ImmichFrame/stargazers
[issues-shield]: https://img.shields.io/github/issues/3rob3/ImmichFrame.svg?style=for-the-badge
[issues-url]: https://github.com/3rob3/ImmichFrame/issues
[license-shield]: https://img.shields.io/github/license/3rob3/ImmichFrame.svg?style=for-the-badge
[license-url]: https://github.com/3rob3/ImmichFrame/blob/master/LICENSE.txt
[releases-url]: https://github.com/3rob3/ImmichFrame/releases/latest
[openweathermap-url]: https://openweathermap.org/
[immich-github-url]: https://github.com/immich-app/immich
[beach-screenshot]: https://github.com/3rob3/ImmichFrame/assets/156599986/a21a28d3-1111-4f35-8d4b-9d6ece84aac1
[Avalonia]: https://img.shields.io/badge/avalonia-purple?style=for-the-badge&logo=avalonia&logoColor=white
[Avalonia-url]: https://docs.avaloniaui.net/docs/welcome
[immich-api-url]: https://immich.app/docs/features/command-line-interface#obtain-the-api-key