Roster Wizard Demonstration / Evaluation / Single User Environment

How to Install a Roster Wizard Demonstration, Evaluation or Single User Environment

This procedure describes how to install Roster Wizard on a Linux workstation for the purposes of demonstration, evaluation or use by a single person. The following assumes your workstation is running Ubuntu 20.04 and you have a user account named 'ubuntu'. However the procedure for other Linux distributions or any operating system that supports Docker is very similar. For example it is possible to run Roster Wizard on Docker Desktop for Windows.

Docker:

Install Docker and Docker Compose as per https://docs.docker.com/

Enable IPv6 in docker as per https://docs.docker.com/

Docker Containers:

sudo mkdir /opt/roster
sudo chown -R ubuntu:ubuntu /opt/roster
cd /opt/roster
wget --no-cache https://raw.githubusercontent.com/galojix/roster-wizard/master/docker-compose.yml
wget --no-cache https://raw.githubusercontent.com/galojix/roster-wizard/master/docker-compose.demo.yml
cp docker-compose.demo.yml docker-compose.override.yml
touch .env

Add the following to .env (this ensures that the Docker containers run as a non-root user):

USERID=<insert a UID that is unused on the docker host>
GROUPID=<insert a GID that is unused on the docker host>

Example:

USERID=12345
GROUPID=12345
touch .env_demo_db

Add the following to .env_demo_db:

POSTGRES_DB=postgres
POSTGRES_USER=postgres
POSTGRES_PASSWORD=<insert DB password here>
touch .env_demo_web

Add the following to .env_demo_web:

DEBUG=True
TOOLBAR=False
SECRET_KEY=<insert any random text here as it is not a production environment>
DATABASE_URL=postgresql://postgres:<insert DB password here>@db:5432/postgres
ALLOWED_HOSTS=0.0.0.0,127.0.0.1,<insert IP of server here>
LOGLEVEL=INFO
LOGFORMAT=simple
LOGTOFILE=False
SECURE=False
CELERY_BROKER_URL=pyamqp://guest@rabbitmq//
CELERY_RESULT_BACKEND=redis://redis:6379/0
CSRF_TRUSTED_ORIGINS=http://localhost:8000,http://localhost:3000
CORS_ALLOWED_ORIGINS=http://localhost:8000,http://localhost:3000

Start docker containers:

docker compose up -d

Django:

cd /opt/roster
docker compose exec web python manage.py migrate
docker compose exec web python manage.py createsuperuser

Browser:

Navigate to http://127.0.0.1:8000/ using a web browser installed on the Roster Wizard workstation.

OR

Navigate to http://<insert_server_IP here>:8000/ using a web browser installed on another device.

Application:

Log in using the superuser account you created above.

Follow the instructions in the user guide: Roster Wizard User Guide