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.

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