All Projects → danthedeckie → streetsign

danthedeckie / streetsign

Licence: GPL-3.0 license
HTML5 based Digital Signage software written in python. (github clone of bitbucket master repo)

Programming Languages

javascript
184084 projects - #8 most used programming language
python
139335 projects - #7 most used programming language
CSS
56736 projects
HTML
75241 projects

Projects that are alternatives of or similar to streetsign

Chromecast-Kiosk
A open source software to create a digital signage system with google chromecasts.
Stars: ✭ 81 (+138.24%)
Mutual labels:  digital-signage
ezdmb
A dead-simple digital menu board display and configuration, written in Python.
Stars: ✭ 17 (-50%)
Mutual labels:  digital-signage
lcds
Light Centralized Digital Signage
Stars: ✭ 17 (-50%)
Mutual labels:  digital-signage
multicontainer-demo-rpi3
A demo of balena multicontainer on Raspberry Pi3 with PiTFT LCDs
Stars: ✭ 18 (-47.06%)
Mutual labels:  digital-signage
digitalSignage
🖨 Schilderwald as a Service http://schild.chaos.lol/
Stars: ✭ 23 (-32.35%)
Mutual labels:  digital-signage
xibo
Xibo Digital Signage
Stars: ✭ 440 (+1194.12%)
Mutual labels:  digital-signage
shinage-server
PHP based server side software for web based digital signage systems.
Stars: ✭ 31 (-8.82%)
Mutual labels:  digital-signage

StreetSign (Server)

Coverage Status

A digital signage system, inspired by Concerto, however written in Flask/Peewee/Python, with a simpler basis. This project was originally written for Teenstreet 2013 in Germany (http://www.teenstreet.de).

Although this has been used at large conferences, and is currently used in some corporate environments, and has quite a lot of tests - this version was written pretty quickly under tight deadlines, so doesn't have the most solid archetexture ever. I would like to re-write it at some point.

This has just recently been ported to Python3, after not having many updates in a while.

There is documentation at streetsign.readthedocs.org

Usage:

clone this into the directory you want to use for the project, and type

./setup.sh

and you're going!

To run the app with the flask autoreloading magic use

./run.py

for production deployment, you can run:

./run.py waitress

to run the server using the waitress WSGI server, or you can use any other WSGI server of your choice. It is recommended for 'big' deployments that you use nginx or a similar reverse proxy in front of the WSGI server, and also that you serve the static folder (javascript, css, pictures, etc) statically.

Requirements:

Most packages will be installed by the ./setup.sh script into a folder called .virtualenv.

You you will need Python 3.6+ and the Python headers package (python3-dev on Debian, python3-devel on CentOS), with a functioning gcc for compiling the various requirements.

For the thumbnail generation, and image-resizing, you'll need 'ImageMagick' installed (the 'convert' command).

So on CentOS:

yum install python3-devel ImageMagick

or on Debian/Ubuntu:

apt-get install python3-pip python3-dev imagemagick

More info:

The virtual env is kept in .virtualenv, and usually shouldn't need to be touched. I don't like the entering and exiting a virtualenv business, so went with the 'virtualenv stuff happens transparently when you use run.py, you shouldn't have to care about it' approach. If you want to run python for the virtualenv, use .virtualenv/bin/python

The setup.sh script is to allow you to get up an running on a new machine in seconds. (On an old machine, minutes, while it downloads and installs flask...) I like the github idea of 'all a new developper needs to do is run one command, and they have a whole system ready to go'.

When first installed, the initial login credentials are:

user: admin password: password

There are also some other basic users created. You should change the admin password, and delete those users before deployment.

pre-commit hook

There is the pre-commit script by Sebastian Dahlgren in the .setup/hooks/ folder, which will run pylint on python scripts to check they are valid before you commit them. The setup.sh script will copy this into your .git/hooks by default.

To run a git commit without using this, use:

git commit --no-verify

(or git commit -an also works...)

Other notes

See the main documentation

Magic Vars in posts:

You can use 2 magic variables in html or text posts:

%%TIME%%

and

%%DATE%%

these will be replaced by the current time, or date, respectively, and are kept up to date by the system.

Why isn't my post showing up?!

  • Does it have time restrictions which are in the way?
  • Is it published?
  • Does the output screen have the correct feeds selected?
  • Try refreshing the output screen (this shouldn't need to happen, but hey, it's currently work in progress)
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].