Ready-to-use docker-compose for Pootle translation server.
# Clone this repo & move to it
$ git clone https://github.com/beezz/pootle-dockerized && cd pootle-dockerized
# Run pootle and all supporting services in background
$ docker-compose up -d
To get url of your running Pootle
use get_pootle_url.sh
helper script or docker inspect:
$ bash ./get_pootle_url.sh
Your Pootle isntance is running at http://172.21.0.7
Or:
$ NETWORK=$(docker network ls | awk '$2~/pootle/{print $2}')
$ NAME=$(docker ps --filter name=pootle_nginx --format {{.Names}})
$ docker inspect --format "{{ .NetworkSettings.Networks.${NETWORK}.IPAddress }}" ${NAME}
172.21.0.7
Initiate database and build static assets for nginx:
# Initiate database
# Nope it's not err `pootle pootle`
# - name of service in docker-compose
# - executable named pootle
$ docker-compose run pootle pootle migrate
# This takes a while as it will create the default projects and stores.
$ docker-compose run pootle pootle initdb
# Collect and build assets
$ docker-compose run pootle pootle collectstatic --clear --noinput
$ docker-compose run pootle pootle assets build
Or all of the initialization commands at once:
$ bash ./init_pootle.sh
As a next step you need to create superuser:
# Create & verify superuser
$ docker-compose run pootle pootle createsuperuser
$ docker-compose run pootle pootle verify_user <username>
Restart pootle and rqworker:
# Restart the pootle and rqworker services
$ docker-compose restart pootle rqworker
For more information please refer to official Pootle documentation.
- PostgreSQL as database backend,
- Elasticsearch for TMs,
- Redis for async job queue and as a cache backend,
- NGINX as a frontend server. Serves static, media files and act as a proxy to pootle,
- uwsgi to run pootle wsgi app.
BSD License