Skip to content

yoyo2011/kitsune

 
 

Repository files navigation

Kitsune

Kitsune is the platform that powers SuMo (support.mozilla.org)

It is a Django application. There is documentation online.

The legacy branch contains the codebase and deployment scripts for use in the SCL3 datacenter. Only security fixes and changes to support product launches are allowed to go in.

The master branch is where the active development of Kitsune happens to modernize, containerize and bring to Kubernetes. Feature Pull Requests are not allowed in unless related with the current effort to move to Kubernetes.

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 npm install
    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

No packages published

Languages

  • Python 63.1%
  • JavaScript 16.7%
  • HTML 13.3%
  • CSS 6.5%
  • Other 0.4%