Kitsune is the platform that powers SuMo (support.mozilla.org)
It is a Django application. There is documentation online.
You can access the staging site at https://support.allizom.org/
See what's deployed
To setup a local Kitsune development environment:
-
Fork this repository & clone it to your local machine.
-
Download base Kitsune docker images:
docker pull mozmeao/kitsune:base-latest docker pull mozmeao/kitsune:base-dev-latest
-
Build Kitsune docker images. (Only needed on initial build or when packages change)
docker-compose -f docker-compose.yml -f docker/composefiles/build.yml build base docker-compose -f docker-compose.yml -f docker/composefiles/build.yml build dev
-
Copy .env-dist to .env
cp .env-dist .env
-
Create your database
docker-compose -f docker-compose.yml -f docker/composefiles/dev.yml run web ./manage.py migrate
-
Install node and bower packages
docker-compose -f docker-compose.yml -f docker/composefiles/dev.yml run web yarn docker-compose -f docker-compose.yml -f docker/composefiles/dev.yml run web ./node_modules/.bin/bower install --allow-root
-
(Optional) Enable the admin control panel
echo "ENABLE_ADMIN=True" >> .env
-
Run Kitsune
docker-compose -f docker-compose.yml -f docker/composefiles/dev.yml up web
The running instance will be located at http://0.0.0.0:8000/ unless you specified otherwise, and the administrative control panel will be at http://0.0.0.0:8000/admin.
-
(Optional) Create a superuser
docker-compose -f docker-compose.yml -f docker/composefiles/dev.yml exec web ./manage.py createsuperuser
-
(Optional) Create some data
docker-compose -f docker-compose.yml -f docker/composefiles/dev.yml exec web ./manage.py generatedata
-
(Optional) Update product details
docker-compose -f docker-compose.yml -f docker/composefiles/dev.yml exec web ./manage.py update_product_details
-
(Optional) Get search working
First, make sure you have run the "Create some data" step above.
- Enter the web container:
docker exec -it kitsune_web_1 /bin/bash
- Build the indicies:
./manage.py esreindex
(You may need to pass the--delete
flag) - Precompile the nunjucks templates:
./manage.py nunjucks_precompile
- Enter the web container: