bigjubelweb
2020-08-02 17:44 UTC+02
Calculate jubilees that you might otherwise miss, for instance the 7777-day jubilee of your birth!
This is a simple Flask and SQLite based web interface for BigJubel. It is designed to be easy to use by one or multiple users, visually pleasing, and able to run on a local or public server.
It builds upon the command line utility bigjubel
and can be run as a glossy desktop app using bigjubeldesktop
.
The source code of bigjubelweb
is open and can be found here: https://www.kabus.eu/git/bigjubelweb
For help and usage, check out the manuals for BigJubel here:
On Arch Linux based distibutions, you can install the AUR package bigjubelweb-git
.
Alternatively, follow these steps:
First install the dependencies:
bigjubel
python-flask
python-werkzeug
python-click
python-yaml
Install the Python package:
pip install -e .
To generate blank configuration files (in ${XDG_DATA_DIR:-$HOME/.local/share}/bigjubelweb
), run:
bigjubelweb config-init
bigjubelweb db-init
You might want to modify the server settings in $HOME/.local/bin/bigjubelweb/bigjubel.sqlite
, for instance to enable multi-user support and
When migrating from an old database, you might want to move your data to that location and run:
bigjubelweb db-update
To run a simple built-in server, run:
bigjubelweb run
and navigate to http://127.0.0.1:5000/
.
apache2
This is an example of how to set up bigjubelweb
using apache2
and wsgi
on Arch Linux.
Create and lock user bigjubel
:
sudo useradd -m bigjubel
sudo passwd -l bigjubel
Install apache2
and mod_wsgi
:
sudo pacman -S apache2 mod_wsgi
In /etc/httpd/conf/httpd.conf
load the module by adding this line:
LoadModule wsgi_module modules/mod_wsgi.so
Create an entry in the apache2
configuration:
WSGIDaemonProcess bigjubel user=bigjubel group=bigjubel threads=5
WSGIScriptAlias /bigjubel /srv/bigjubel/bigjubel.wsgi
<Directory /srv/bigjubel>
WSGIProcessGroup bigjubel
WSGIApplicationGroup %{GLOBAL}
Require all granted
</Directory>
Create /srv/bigjubel/bigjubel.wsgi
with these contents:
from bigjubelweb import create_app
application = create_app()
Make sure the user bigjubel
can read and write to $HOME/.local/bin/bigjubelweb/bigjubel.sqlite
.
Restart apache and navigate to http://localhost/bigjubel.