The repository includes a Pretix docker-compose configuration for local development and production deployment via Coolify.
This repository is configured for easy deployment on Coolify. Follow these steps:
- Ensure your DNS A record is configured:
pretix.weinerlebnistouren-pfalz.de→31.97.39.187
- Have a Coolify instance with the
coolifynetwork available - Have a Gmail account with an App Password for sending emails
- Important: Create a Gmail App Password at https://myaccount.google.com/apppasswords
- Regular Gmail passwords will NOT work due to security restrictions
-
Add the repository in Coolify:
- Go to your Coolify dashboard
- Create a new resource → Docker Compose
- Paste the GitHub repository URL
-
Configure environment variables in Coolify:
Required variables:
PRETIX_DOMAIN=pretix.weinerlebnistouren-pfalz.dePOSTGRES_PASSWORD= (generate a strong random password)MAIL_FROM=noreply@weinerlebnistouren-pfalz.deMAIL_HOST=smtp.gmail.comMAIL_USER=your-email@gmail.com(your Gmail address)MAIL_PASSWORD= (your Gmail App Password - NOT your regular Gmail password)
Optional variables (see
.env.examplefor full list):PRETIX_INSTANCE_NAME= Custom instance namePRETIX_CURRENCY= EUR (default)PRETIX_LOCALE= de (default)
-
Deploy: Coolify will handle SSL certificates via Let's Encrypt and Traefik automatically.
After the first deployment, access your Pretix instance at https://pretix.weinerlebnistouren-pfalz.de and complete the setup wizard.
You can execute docker-compose up -d --build --force-recreate to start and build all related containers.
For local development, copy .env.example to .env and configure your local environment variables.
| Version | Description |
|---|---|
| 1.2.0 | Includes PostgreSQL 17 |
| 1.1.1 | Update the Alpine version and the allocated IPs of the databases |
| 1.1.0 | Includes PostgreSQL 16 |
| 1.0.0 | Includes PostgreSQL 13 |
It is possible to adapt the pretixuser crontab entries by modifying the crontab file.
You can specify the used TLS certificates by adapting the mounted certificate and key e.g. from Let's Encrypt or generating new self-signed certificates by following the manual and moving the generated files. It is also possible to adapt the used Nginx configuration.
If you would like to contribute something, have an improvement request, or want to make a change inside the code, please open a pull request.
If you need support, or you encounter a bug, please don't hesitate to open an issue.
If you want to support my work, I ask you to take an unusual action inside the open source community. Donate the money to a non-profit organization like Doctors Without Borders or the Children's Cancer Aid. I will continue to build tools because I like them, and I am passionate about developing and sharing applications.
This product is available under the Apache 2.0 license.