README for bigjubelweb

Desmond Kabus

2020-08-02 17:44 UTC+02

BigJubel Web Interface

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:

Installation

On Arch Linux based distibutions, you can install the AUR package bigjubelweb-git.

Alternatively, follow these steps:

First install the dependencies:

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/.

Deployment using 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.