Web-based remote photo frame slideshow and gallery manager for use with e-ink displays such as the Inky Frame. It might also be useful for the Inky Impression and other simple e-ink displays.
- 📷 Photo and image slideshow management
- 🎦 Multiple display output support
- 📆 Customisable date and time overlays
- 🐍 Written with Python, Flask and MicroPython
- 🔘 Hardware button support
- ☀️ Weather summary and next hour forecast
- 📨 Announcements and notifications via MQTT
- 📡 Remote control via MQTT and Home Assistant
Project configuration is provided using Dynaconf, meaning that configuration can be provided using one or more TOML files, but can also be overridden at runtime using environment variables. For more information, see config.py
.
The provided settings.toml
details all the available options, but they are all commented out. The preferred method of configuration is to override any settings by creating a settings.local.toml
and/or a secrets.toml
(for sensitive values), or by setting the equivalent INKYFRAMEWEB_
environment variables.
TODO: Explain multiple outputs
Pull and start the container image specifying a port and a volume for your photos/images:
docker run -d --name inkyframeweb \
-v ${PWD}/images/samples:/data/images \
-p 5665:5665 \
ghcr.io/jinglemansweep/inky-frame-web:main
Multiple display outputs can be specified using envionment variables. Remember outputs are zero-based:
docker run -it --name inkyframeweb \
-v ${PWD}/images/samples:/data/images \
-e INKYFRAMEWEB_GENERAL__DEMO_MODE=true \
-e INKYFRAMEWEB_OUTPUTS__0__IMAGE_PATH=images/samples \
-e INKYFRAMEWEB_OUTPUTS__0__SHOW_DATE=true \
-e INKYFRAMEWEB_OUTPUTS__1__IMAGE_PATH=images/samples \
-e INKYFRAMEWEB_OUTPUTS__1__SHOW_DATE=true \
-e INKYFRAMEWEB_OUTPUTS__1__SHOW_TIME=true \
-p 5665:5665 \
ghcr.io/jinglemansweep/inky-frame-web:main
Create a Python 3.x virtual environment, and install project dependencies:
python3 -m venv venv
. venv/bin/activate
pip install --upgrade pip poetry
poetry install
Create a settings.local.toml
configuration file overriding any values required, or set the equivalent environment variables.
To run the project:
. venv/bin/activate
python3 -m inkyframeweb
TODO
- Sample photos generated and provided by Dall-E 2