Platform for Mozilla Support
Clone or download
Latest commit beb46f3 Dec 2, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci Move to a single Dockerfile and docker-compose file Nov 12, 2018
authority [Bug 1238055][Bug 1225606] Upgrade Django to 1.8. Feb 25, 2016
bin Move to a single Dockerfile and docker-compose file Nov 12, 2018
configs Remove Vagrant. Nov 20, 2017
docker/bin Move to a single Dockerfile and docker-compose file Nov 12, 2018
docs Merge pull request #3297 from jpetto/fix-3045-remove-django-badger Oct 15, 2018
jsi18n Collect jsi18n files via staticfiles to get hashed filenames. Feb 24, 2016
k8s Scale up frankfurt failover deployment (#3422) Nov 19, 2018
kitsune Update survey campaign ID Dec 1, 2018
media Update base template code/styles based on new mockups for support.moz… Sep 18, 2018
requirements Update test dependencies. Nov 6, 2018
scripts rm -rf scripts/update Sep 28, 2018
tests Move WebQA Jenkinsfile under tests dir. Nov 23, 2017
wsgi Migrate from raven to sentry-sdk Nov 5, 2018
.dockerignore Split dockerfiles. Nov 30, 2017
.editorconfig Move to a single Dockerfile and docker-compose file Nov 12, 2018
.env-build Update env variables Mar 1, 2018
.env-dist Preserved legacy trackEvent function, added analytics.js back to bundle Mar 21, 2018
.env-test Move to a single Dockerfile and docker-compose file Nov 12, 2018
.eslintrc Fix eslint problems. Dec 15, 2015
.gitignore Move to a single Dockerfile and docker-compose file Nov 12, 2018
.pre-commit-config.yaml Upgrade to pip8 Nov 20, 2017
.travis.yml Switch docker repo to mozmeao/kitsune. Nov 23, 2017
CONTRIBUTORS.rst Replace manually curated list of contributors with link to generated … May 21, 2015
Dockerfile Move to a single Dockerfile and docker-compose file Nov 12, 2018
Jenkinsfile Move to a single Dockerfile and docker-compose file Nov 12, 2018
LICENSE Fix a thing Ricky found that I missed when I fixed the other issue Apr 5, 2013
Makefile Move to a single Dockerfile and docker-compose file Nov 12, 2018
Procfile Add celery worker and cron commands. Feb 5, 2018
README.md Move to a single Dockerfile and docker-compose file Nov 12, 2018
bower.json Fix issues associated with broken bower config Oct 23, 2018
contribute.json Update and serve contribute.json (#2905) Aug 3, 2017
docker-compose.yml Move to a single Dockerfile and docker-compose file Nov 12, 2018
gulpfile.js Fix a lot of lint errors. Jul 29, 2015
jenkins.yml Move to a single Dockerfile and docker-compose file Nov 12, 2018
manage.py Update docker. Nov 20, 2017
newrelic.ini Add newrelic configuration file. (#3051) Feb 8, 2018
package.json update bower to latest version for fixing bug 1500894 Oct 23, 2018
setup.cfg Run tests on travis. Nov 20, 2017
tox.ini Add Jenkinsfile pipeline Nov 15, 2016
yarn.lock Upgrade node version on dev image to match that on prod Oct 23, 2018

README.md

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 get Kitsune running locally all you really need is to have Docker installed, and follow the following steps.

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

    git clone https://github.com/mozilla/kitsune.git
    
  2. Pull base Kitsune Docker images, create your database, and install node and bower packages.

    make init
    
  3. Run Kitsune.

    make run
    

    This will produce a lot of output (mostly warnings at present). When you see the following the server will be ready:

    web_1              | Starting development server at http://0.0.0.0:8000/
    web_1              | Quit the server with CONTROL-C.
    

The running instance will be located at http://localhost:8000/ unless you specified otherwise, and the administrative control panel will be at http://localhost:8000/admin/.

Another way you might choose to run the app (step 3 above) is by getting a shell in the container and then manually running the Django dev server from there. This should make frequent restarts of the server a lot faster and easier if you need to do that:

make runshell
bin/run-dev.sh

The end result of this method should be the same as using make run, but will potentially aid in debugging and act much more like developing without Docker as you may be used to. You should use make runshell here instead of make shell as the latter does not bind port 8000 which you need to be able to load the site.

Run make help to see other helpful commands.

The Admin

After the above you can do some optional steps if you want to use the admin:

  • Enable the admin control panel

    echo "ENABLE_ADMIN=True" >> .env
    
  • Create a superuser

    docker-compose exec web ./manage.py createsuperuser
    
  • Create some data

    docker-compose exec web ./manage.py generatedata
    
  • Update product details

    docker-compose exec web ./manage.py update_product_details
    

Get Search Working

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

  1. Enter the web container: docker-compose exec web 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