Simple deploymenet of Pretalx in 2025
- OS Debian 12
- Install Docker
- Create folder for your project and all files (run this only once):
mkdir -p pretalx pretalx/conf && cd pretalx && touch docker-compose.yml && touch conf/pretalx.cfg
- Copy this docker-compose.yml file
services:
pretalx:
image: pretalx/standalone:latest
container_name: pretalx
restart: unless-stopped
depends_on:
- redis
- db
volumes:
- ./conf/pretalx.cfg:/etc/pretalx/pretalx.cfg:ro
- pretalx-data:/data
- pretalx-public:/public
ports:
- "16800:80"
environment:
# Hint: Make sure you serve all requests for the `/static/` and `/media/` paths when debug is False. See [installation](https://docs.pretalx.org/administrator/installation/#step-7-ssl) for more information
PRETALX_FILESYSTEM_MEDIA: /public/media
PRETALX_FILESYSTEM_STATIC: /public/static
db:
image: docker.io/library/postgres:15-alpine
container_name: pretalx-db
restart: always
volumes:
- pretalx-db:/var/lib/postgresql/data
expose:
- "5432"
environment:
POSTGRES_PASSWORD: yourdbpassword # same password as one that you will put in pretalx.cfg file later on
POSTGRES_USER: pretalx
POSTGRES_DB: pretalx
redis:
image: redis:latest
container_name: pretalx-redis
restart: unless-stopped
volumes:
- pretalx-redis:/data
volumes:
pretalx-db:
pretalx-data:
pretalx-public:
pretalx-redis:
- Copy this to conf/pretalx.cfg (replace site URL, and mail configuration to fit your needs)
[filesystem]
# use PRETALX_FILESYSTEM_* env vars
[site]
debug = False
url = https://yoursite.com
[database]
backend = postgresql
name = pretalx
user = pretalx
password = yourdbpassword
host = pretalx-db
port = 5432
[mail]
from = your@yourmail.com
host = your.youremail.com
port = 25
user = userp@youremail.com
password = youremailpassword
tls = True
#ssl = True
[celery]
backend = redis://pretalx-redis/1
broker = redis://pretalx-redis/2
[redis]
location=redis://pretalx-redis/0
; Remove the following line if you are unsure about your redis' security
; to reduce impact if redis gets compromised.
sessions=true
- Start everything with
docker compose up -dand to stopdocker compose down - Visit your site URL after setting revers proxy on port 16800 and ssl (best solution this days Nginx Proxy Manager)
- 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 pretalx runperiodic
@jxs714 there is no official update guide for docker, this question should be addressed in their repository, and last build for docker showing failure, meaning we still don't have 2025.1.0 version for docker users.