A fancy self-hosted digital signage tool. Free, simple and working.
Go to file
2024-02-26 14:33:02 +01:00
data crud for slide in gui 2024-02-26 14:33:02 +01:00
lang lang files 2024-02-19 15:37:44 +01:00
src crud for slide in gui 2024-02-26 14:33:02 +01:00
system Rename reclame.service to obscreen.service 2024-02-18 23:04:28 +01:00
views crud for slide in gui 2024-02-26 14:33:02 +01:00
.gitignore add lxfile to config 2024-02-25 16:59:04 +01:00
config.py.dist crud for slide in gui 2024-02-26 14:33:02 +01:00
obscreen.py crud for slide in gui 2024-02-26 14:33:02 +01:00
README.md crud for slide in gui 2024-02-26 14:33:02 +01:00
requirements.txt crud for slide in gui 2024-02-26 14:33:02 +01:00

Obscreen

About

Use a RaspberryPi to show a full-screen slideshow (Kiosk-mode)

Installation

sudo apt-get update
sudo apt-get install -y git chromium-browser unclutter

git clone https://github.com/jr-k/obscreen.git 
cd obscreen && pip3 install -r requirements.txt && cp data/slideshow.json.dist data/slideshow.json

Configure

Everything slideshow-related happens in the ./data/uploads folder.

  • Put some images into the /data/uploads folder. Ideally with the same resolution of the screen (eg. 1920x1080px).
  • Edit the slideshow.json
  • Initialize base configuration (feel free to edit any value) sudo cp config.py.dist config.py

Run

Cli mode

./obscreen.py

Forever with systemctl

sudo cp system/obscreen.service /etc/systemd/system/obscreen.service
sudo systemctl daemon-reload
sudo systemctl enable obscreen.service
sudo systemctl start obscreen.service

You are done now :)

If everything is set up correctly, the RaspberryPi shall start chromium in fullscreen directly after boot screen and after some seconds of showing the date & time (default.html) your slideshow shall start and loop endlessly.

Additional

A. Hardware checks

However, I used this one: (2,82) = 1920x1080 60Hz 1080p

B. Nginx server to serve pages (useful for gzip compression for instance)

  1. Install
sudo apt isntall -y nginx
sudo rm /etc/nginx/sites-enabled/default 2>/dev/null
sudo ln -s "$(pwd)/system/nginx-obscreen" /etc/nginx/sites-enabled
sudo systemctl reload nginx
  1. Configure nano config.py
{
// ...
    "reverse_proxy_mode": True,
// ...
}