Roster Wizard Evaluation

How to Install a Roster Wizard Evaluation Environment

Roster Wizard is a web application that runs on any platform that supports Docker or Docker Desktop (Windows, Linux and MacOS). The following procedure assumes you are running Ubuntu Linux and you have a user account named 'ubuntu'. However the procedure can be easily adapted for other platforms with Docker or Docker Desktop installed.

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

Note: If you subsequently change the USERID and GROUPID, then you will need to change the permissions of the named volumes on the Docker host.

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 uv run python manage.py migrate
docker compose exec web uv run 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