This repository contains a docker-compose setup as well as an ansible role for a pretalx installation based on docker.
Please note that this repository is provided by the pretalx community, and not supported by the pretalx team.
This fork add certain changes to make it work with the setup for Dev Day Dresden.
- Add pretalx-downstream plugin to be able to import schedules from previous events
- 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 -ti pretalx pretalx init
.
-
Edit
conf/pretalx.cfg
and fill in your own values (→ configuration documentation) -
Edit
docker-compose.yml
and remove the complete section withports: - "80:80"
from the file (if you go with traefic as reverse proxy) or change the line toports: - "127.0.0.1:8355: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-db
,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. I recommend to go with traefik for its ease of setup, docker integration and LetsEncrypt support. An example to copy into the normal compose file is located atreverse-proxy-examples/docker-compose
. You can also 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 viariables:
- 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 second ansible role for use without docker here).
- Add the role at
ansible-role
to your ansible setup. - Roll out the role
- You should be able to reach pretalx at
http://localhost/orga
- Set up a user and an organizer by running
docker exec -ti pretalx pretalx init
.
- Add the role at
ansible-role
to your ansible setup. - Fill in the variables listed in the
vars/main.yml
file. Make sure to set testing to false! - Set up a reverse proxy to handle TLS. traefik is recommended. The containers that get rolled out are already tagged
for traefik. An example role for traefik is included at
reverse-proxy-examples/ansible/traefik
. - Roll out the role. After a few minutes pretalx should be reachable at the configured domain.
- Set up a user and an organizer by running
docker exec -ti pretalx pretalx init
.