Skip to content


Switch branches/tags


Failed to load latest commit information.
Latest commit message
Commit time


This repo contains the Thunderbird in-client Start page and the website.

Build Instructions


On Ubuntu, you would need to use apt-get instead of yum, and similarly for different package managers.

pip install -r requirements.txt
git clone thunderbird_notes
git clone -b production
sudo yum install npm
sudo npm install -g less

If you need the localizations to display pages translated from English into other languages:

git clone locale

Run Build

A basic build is python It builds into the directory by default.

There are additional arguments:

  • --startpage

    • This builds the start page into the site directory.
  • --enus

    • This restricts builds to only the 'en-US' locale, for faster testing.
  • --debug

    • This logs output for each locale built and some of the templates, used to make debugging easier.
  • --watch

    • This starts an HTTP server on localhost port 8000, and watches the template and assets folders for changes and then does quick rebuilds.
    • Note that this only rebuilds when you modify a file. To add or remove files, you should start a new build.
  • --port

    • Sets the port to be used for the localhost server. Default is 8000. Format: --port 8000.
  • templates are in the website directory, and start page in the start-page dir. Assets are shared and in the assets dir.

View Website

To view the website for testing purposes, run python --watch. This also works with the start page.

You can then navigate to: to view the website. None of the apache redirects work in this mode, so you have to click your desired locale manually in the browser, but the site should behave normally after that.

Automated Builds

In general, you only need to manually build the website for testing and development purposes. Webhooks on each of the repositories trigger automatic rebuilds when:

Both of these update frequently enough(multiple times per week) that independent updates for localization are not necessary. Any triggered update will always use the most recent data available from all sources. If changes to one of the above repos don't produce any change in the built files, no actual update of the web server will occur.

Manual Site Updates

Occasionally you need to update the site manually, for example to move changes made to this repo to stage and production, or because the automation failed, or any reason like that. You'll need to either login to the control node as described in the documentation or check out and setup the thundernest-ansible scripts on your local machine. That is also covered in the documentation for thundernest-ansible.

Assuming you are logged into the control node or have thundernest-ansible set up:

For stage:

cd thundernest-ansible
source files/
ansible-playbook plays/website-build.yml

For prod:

cd thundernest-ansible
source files/
ansible-playbook --extra-vars="branch=prod" plays/website-build.yml

The website-build.yml ansible script performs complete builds of the website, including both the start page and itself.


You can contribute to content translation of pages using Pontoon.


Build code for the websites on and






No releases published


No packages published