Skip to content

Docker production configuration notes

Allan Nordhøy edited this page Apr 23, 2018 · 15 revisions

Set the server-name (default: localhost)

Edit .env and add:

POOTLE_SITE_NAME=my.pootle.site

Use a custom production service

Pootle provides a choice of production and production-pre with the latest build and the latest pre-release builds respectively. You can also add your own production service by overriding your docker-compose file.

To use the custom service set it in your .env file

POOTLE_PRODUCTION_IMAGE=production-pre

Any commands referencing production will now use your custom service

(host) makey pull production
Pulling redis          ... done
Pulling elasticsearch  ... done
Pulling postgres       ... done
Pulling production-pre ... done
(host) makey production pootle --version
...
Pootle 2.9.0rc1 (Django 1.10.8, Translate Toolkit 2.2.5)

Customize the docker services configuration

By adding a docker-compose.overrides.yml file you can customize the services used in your Pootle web stack.

An example file can be found in docker/examples/docker-compose.override.yml

The compose file should be version 2.4

Add a custom Pootle (Django settings) configuration

version: "2.4"
services:
  production:
    volumes:
      # Add a custom config for Pootle
      - /apps/pootle/pootle.conf:/app/pootle.conf

Store persistent data in the host file-system

The default web stack will store database and log data in Docker volumes.

You can bind storage from the host file-system as follows:

version: "2.4"

volumes:
  production-logs:/apps/pootle/logs
  web-logs:/apps/nginx/logs
  postgres-data:/apps/postgres/data
  redis-data:/apps/redis/data
Clone this wiki locally