Skip to content

Docker production configuration notes

phlax edited this page Apr 21, 2018 · 15 revisions

(WORK IN PROGRESS)

Set the server name (default: localhost)

Edit .env and add:

POOTLE_SITE_NAME=my.pootle.site

Use a custom production image

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 shoud 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 filesystem 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