- Python 3.6+
- pipenv. Pipenv takes care of installing and managing Python dependencies.
- npm. Node Package Manager (npm) manages your JavaScript dependencies.
pipenv install
npm install -g sass
pipenv run python manage.py migrate
cd website/static/website
sass style.scss style.css --style compressed
pipenv run python manage.py runserver
This will start a development server with automatic reloading on code changes
The app is built using Docker. The container has the following attributes:
/data
: Data volume for the app. Contains sqlite db.
The container exposes the server on port 8080.
You must provide the following environment variables
SECRET_KEY
: The secret key used to sign cookies.EMAIL_HOST_USER
: User name used to log into the email host.EMAIL_HOST_PASSWORD
: Password for Django to log into the email host.
docker run --rm -it --name compclub-web -p 8080:8080 \
-v $PWD/data:/data \
-e SECRET_KEY="replaceme" \
csesoc/compclub-web
# Build the container
docker build -t csesoc/compclub-web .
# Push the container
docker push csesoc/compclub-web