Roster Wizard Development Environment

How to Install a Roster Wizard Development Environment

If you would like to contribute to Roster Wizard, please feel free to use the Contact page to ask for advice and assistance. This procedure describes how to install Roster Wizard on a Linux workstation for development purposes. 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 will be 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:

cd ~
git clone https://github.com/galojix/roster-wizard.git
mv roster-wizard roster
cd roster
cp docker-compose.development.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_dev_db

Add the following to .env_dev_db:

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

Add the following to .env_dev_web:

DEBUG=True
TOOLBAR=True
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
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 ~/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 server.

Application:

Log in using the superuser account you created above.

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