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