This repository contains a docker-compose setup for a pretalx installation based on docker.
- Run
docker-compose up -d
. After a few minutes the setup should be accessible at http://localhost/orga - Set up a user and an organizer by running
docker exec -it pretalx pretalx init
.
-
Edit
conf/pretalx.cfg
and fill in your own values (→ configuration documentation) -
Edit
docker-compose.yml
and change the line toports: - "127.0.0.1:8346:80"
(if you use nginx). Change the database password. -
If you don't want to use docker volumes, create directories for the persistent data and make them read-writeable for the userid 999 and the groupid 999. Change
pretalx-redis
,pretalx-database
,pretalx-data
andpretalx-public
to the corresponding directories you've chosen. -
Configure a reverse-proxy for better security and to handle TLS. Pretalx listens on port 80 in the
pretalxdocker
network. You can find a few words on an nginx configuration atreverse-proxy-examples/nginx
-
Make sure you serve all requests for the
/static/
and/media/
paths (whendebug=false
). See installation for more information -
Optional: Some of the Gunicorn parameters can be adjusted via environment variables:
- To adjust the number of Gunicorn workers, provide
the container with
GUNICORN_WORKERS
environment variable. GUNICORN_MAX_REQUESTS
andGUNICORN_MAX_REQUESTS_JITTER
to configure the requests a worker instance will process before restarting.GUNICORN_FORWARDED_ALLOW_IPS
lets you specify which IPs to trust (i.e. which reverse proxies'X-Forwarded-*
headers can be used to infer connection security).GUNICORN_BIND_ADDR
can be used to change the interface and port that Gunicorn will listen on. Default:0.0.0.0:80
Here's how to set an environment variable in
docker-compose.yml
or when usingdocker run
command. - To adjust the number of Gunicorn workers, provide
the container with
-
Run
docker-compose up -d
. After a few minutes the setup should be accessible under http://yourdomain.com/orga -
Set up a user and an organizer by running
docker exec -ti pretalx pretalx init
. -
Set up a cronjob for periodic tasks like this
15,45 * * * * docker exec pretalx-app pretalx runperiodic
(Please note that we also provide a ansible role for use without docker here).
Another docker based pretalx installation: https://github.com/allmende/pretalx-docker