Skip to content

RoLLnDice247/kitsune

 
 

Repository files navigation

Kitsune

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

Development

To setup a local Kitsune development environment:

  1. Fork this repository & clone it to your local machine.

  2. Download base Kitsune docker images:

    docker pull mozmeao/kitsune:base-latest
    docker pull mozmeao/kitsune:base-dev-latest
    
  3. 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
    
  4. Copy .env-dist to .env

    cp .env-dist .env
    
  5. Create your database

    docker-compose -f docker-compose.yml -f docker/composefiles/dev.yml run web ./manage.py migrate
    
  6. 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
    
  7. (Optional) Enable the admin control panel

    echo "ENABLE_ADMIN=True" >> .env
    
  8. 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.

  9. (Optional) Create a superuser

    docker-compose -f docker-compose.yml -f docker/composefiles/dev.yml exec web ./manage.py createsuperuser
    
  10. (Optional) Create some data

    docker-compose -f docker-compose.yml -f docker/composefiles/dev.yml exec web ./manage.py generatedata
    
  11. (Optional) Update product details

    docker-compose -f docker-compose.yml -f docker/composefiles/dev.yml exec web ./manage.py update_product_details
    
  12. (Optional) Get search working

    First, make sure you have run the "Create some data" step above.

    1. Enter the web container: docker exec -it kitsune_web_1 /bin/bash
    2. Build the indicies: ./manage.py esreindex (You may need to pass the --delete flag)
    3. Precompile the nunjucks templates: ./manage.py nunjucks_precompile

Packages

 
 
 

Languages

  • Python 62.9%
  • JavaScript 16.8%
  • HTML 13.3%
  • CSS 6.5%
  • Other 0.5%