Installation

Prerequisites

You’ll need Python >= 3.8, and a database. See also the Wutta docs:

But for convenience here is a cheat sheet:

PostgreSQL

sudo apt install build-essential python3-dev python3-venv postgresql libpq-dev

sudo -u postgres createuser sideshow
sudo -u postgres psql -c "ALTER USER sideshow PASSWORD 'mypassword'"
sudo -u postgres createdb -O sideshow sideshow

MySQL

sudo apt install build-essential python3-dev python3-venv default-mysql-server

sudo mysql -e "CREATE USER sideshow@localhost"
sudo mysql -e "ALTER USER sideshow@localhost  IDENTIFIED BY 'mypassword'"
sudo mysqladmin create sideshow
sudo mysql -e "GRANT ALL ON sideshow.* TO sideshow@localhost"

Virtual Environment

You should use a separate Python virtual environment for Sideshow. See also Virtual Environment but these docs will assume this exists at /srv/envs/sideshow.

Note that root privileges are required to create the folder, but then the folder ownership should be changed to whatever you need:

cd /srv/envs
sudo mkdir -p sideshow
sudo chown myname:myname sideshow

python3 -m venv /srv/envs/sideshow
cd /srv/envs/sideshow
source bin/activate

Install Sideshow

First install the Sideshow package to your virtual environment. Note that you must specify which DB backend to use:

# postgres
bin/pip install Sideshow[postgres]

# mysql
bin/pip install Sideshow[mysql]

Then you can run the Sideshow installer:

bin/sideshow install

That will prompt you for DB connection info etc. When finished you can run Sideshow:

bin/wutta -c app/web.conf webapp