LibreSignage
A free and open source digital signage solution.
Install / Use
/learn @eerotal/LibreSignageREADME
.. image:: http://etal.mbnet.fi/libresignage/logo/libresignage_text_466x100.png
A free and open source digital signage solution.
.. image:: https://travis-ci.org/eerotal/LibreSignage.svg?branch=master :target: https://travis-ci.org/eerotal/LibreSignage
LibreSignage is unmaintained as of 3rd of February 2021
LibreSignage started in 2018 as a small project aiming to make digital signage accessible to everyone. Since then the project has grown a lot, many new features have been added and even some contributions have been merged from other people. Developing LibreSignage has been a fantastic journey and I'm really grateful for for all code and bug reports submitted by contributors. I have personally spent hundreds of hours working on LibreSignage and enjoyed every bit of that time. It really has been a great 3 years.
That said, unfortunately I don't have the time, resources or interest to continue developing or supporting LibreSignage anymore. As such, after 3rd of Februrary 2021, LibreSignage development and support is officially halted. If I regain my interest in developing LibreSignage I might pick up the project again but for now LibreSignage is unmaintained.
Table Of Contents
1. Introduction_
2. Features_
3. Project goals_
4. Installation_
-
4.1. Minimum system requirements_ -
4.2. Using prebuilt Docker images on any distribution_ -
4.3. Building from source_-
4.3.1. Building a native build on Debian or Ubuntu_ -
4.3.2. Building a Docker image on Debian or Ubuntu_
-
5. Default users_
6. FAQ_
7. Screenshots_
8. Makefile_
8.1. Targets_
8.2. Option variables_
9. Build targets_
10. Documentation_
11. Third-party dependencies_
12. License_
- Introduction
Digital Signage is everything from large-scale commercial billboards to smaller advertisement displays, notice boards or digital restaurant menus. The possibilities of digital signage are endless. If you need to display periodically changing content to users on a wall-mounted TV for example, digital signage is probably what you are looking for.
LibreSignage is a free and open source, lightweight and easy-to-use digital signage solution for use in schools, cafés, restaurants and shops among others. LibreSignage can be used to manage a network of digital signage displays. Don't let the word network fool you though; a network can be as small as one display on an office wall or as big as 50+ displays spread throughout a larger building.
LibreSignage also includes multi-user support with password authentication and configurable access control to specific features. If a school wants to setup a digital notice board system for example, they might give every teacher an account with slide editing permissions so that teachers could manage the content on the internal digital signage network. This way the teachers could inform students about important things such as upcoming tests for example.
LibreSignage uses a HTTP web server to serve content to the individual signage displays. This means that he displays only need to run a web browser pointed to the central LibreSignage server to actually display content. This approach has a few advantages.
-
It's simple - No specific hardware/software platform is required. Any system with a fairly recent web browser works.
-
It's cheap - You don't necessarily need to buy lots of expensive equipment to get started. Just dust off the old PC in the closet, install an up-to-date OS like Linux on it, install a web browser, hide the mouse pointer by default and connect the system to a display. That's it. The only other thing you need is the server, which in fact can run on the same system if needed.
-
It's reliable - The web infrastructure is already implemented and well tested so why not use it.
-
It makes editing easy - Displaying content in a browser has the advantage of making slide previewing very simple. You can either use the 'Live Preview' in the editor or check the exact results from the actual 'Display' page that's displayed on the clients too.
-
Features
- Web interface for editing slides and managing the LibreSignage instance.
- Many per slide settings like durations, transitions, etc.
- Special markup syntax for easily formatting slides.
- Live preview of the slide markup in the slide editor.
- Support for embedding remote or uploaded image and video files.
- Support for scheduling specific slides for a specific time-frame.
- Collaboration features with other users on the network.
- Separate slide queues for different sets of signage clients.
- Multi user support with configurable access control.
- User management features for admin users in the web interface.
- Configurable quota for the amount of slides a user can create.
- Rate limited API for reducing server load.
- Extensive documentation of features including docs for developers.
- Extensive configuration possibilities.
- Project goals
- Create a lightweight alternative to other digital signage solutions.
- Create a system that's both easy to set up and easy to use.
- Write a well documented and modular API so that implementing new user interfaces is simple.
- Avoid scope creep.
- Document all features.
- Keep it simple.
- Installation
4.1. Minimum system requirements ++++++++++++++++++++++++++++++++
Disk space
100MB (Excludes dependencies and uploaded media.)
RAM Depends on the specific use case.
Tested operating systems It's possible to build LibreSignage on most Linux systems, but the default scripts work at least on Debian and Ubuntu. You can technically run the official Docker images on any system, possibly even on Microsoft Windows.
Required runtime dependencies
- PHP (Version 7.x.)
- Apache2 (Version 2.4.x.)
Optional runtime dependencies
- php-gd extension for image thumbnail generation.
- ffmpeg (Version 4.0.x) for video thumbnail generation.
- php-xml extension for running PHPUnit.
Required build system dependencies
- PHP (Version 7.x.) (http://www.php.net/)
- GNU Make (Version 4.x or newer.) (https://www.gnu.org/software/make/)
- Pandoc (Version 2.0.x or newer.) (https://pandoc.org/)
- npm (Version 6.4.x or newer.) (https://nodejs.org/en/)
- composer (Version 1.8.x or newer) (https://getcomposer.org/)
- rsvg-convert (Version 2.44.x or newer.) (https://gitlab.gnome.org/GNOME/librsvg)
Optional build system dependencies.
- Doxygen (Version 1.8.x or newer.) (http://www.doxygen.nl/)
Dependencies installed automatically by npm or composer
-
Tools & development libraries
- SASS (https://sass-lang.com/)
- Browserify (http://browserify.org/)
- PostCSS (https://postcss.org/)
- Autoprefixer (https://github.com/postcss/autoprefixer)
- PHPUnit (https://phpunit.de/)
-
Libraries
- Ace editor (https://ace.c9.io/)
- Bootstrap (https://getbootstrap.com/)
- jQuery (https://jquery.com/)
- Popper.js (https://popper.js.org/)
- Font-Awesome Free (https://fontawesome.com/)
- HttpFoundation (https://symfony.com/)
- Guzzle (https://github.com/guzzle/guzzle)
- json-schema (https://github.com/justinrainbow/json-schema)
- JSDOM (https://github.com/jsdom/jsdom)
- node-XMLHttpRequest (https://github.com/driverdan/node-XMLHttpRequest)
- commonjs-assert (https://github.com/browserify/commonjs-assert)
See 11. Third-party dependencies_ for license information.
4.2. Using prebuilt Docker images on any distribution +++++++++++++++++++++++++++++++++++++++++++++++++++++
You can easily deploy a containerized LibreSignage instance using the
LibreSignage Docker images from Docker Hub. The LibreSignage Docker
repository eerotal/libresignage contains the following images:
- eerotal/libresignage:latest - (Recommended) The latest stable image.
- eerotal/libresignage:nightly - The latest development build. This image
is built from the
nextbranch every night at 00:00. - eerotal/libresignage:<version> - The current and all prevous stable releases.
If you want to use the latest stable release,
prefer the
latesttag instead.<version>is the version number of the release.
The steps required to run a LibreSignage Docker image are listed below.
-
Install
Docker <https://www.docker.com/>_ if it's not installed yet. -
Run the following command::
docker run \ -d \ -p 80:80 \ --mount source=ls_vol,target=/var/www/html/data \ eerotal/libresignage:latestThis command pulls the latest stable LibreSignage image from Docker Hub, binds port 80 on the host system to the container's port 80 (-p) and creates a volume ls_vol for storing LibreSignage data (--mount).
eerotal/libresignage:latestis the image to run. Replace the tag after:to run a different image. You might need to prefix the above command withsudodepending on your system configuration. -
Navigate to localhost and you should see the LibreSignage login page. The file src/docs/rst/docker.rst in the LibreSignage source distribution contains a more detailed explanation of using the LibreSignage Docker image. The documentation can also be accessed in the web interface from the Help page.
4.3. Building from source +++++++++++++++++++++++++
4.3.1. Building a native build on Debian or Ubuntu ..................................................
Building LibreSignage from source isn't too difficult. You can build a native LibreSignage build that runs directly on a Debian or Ubuntu host (ie. no containers) by following the instructions below.
- Install software needed for building LibreSig
Related Skills
node-connect
352.2kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
111.1kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
352.2kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
352.2kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
