Roster Wizard Development Environment

How to Install a Roster Wizard Development Environment

If you would like to contribute to Roster Wizard, please see the Contact page to ask for advice and assistance. Roster Wizard is a web application that runs on any platform that supports Docker or Docker Desktop. 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:

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 the UID of your user account on your development machine / docker host>
GROUPID=<insert the GID of your user account on your development machine / docker host>

Example:

USERID=1000
GROUPID=1000

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_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 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 server.

Application:

Log in using the superuser account you created above.

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