Public pretix attendees list
- Python 66.9%
- HTML 31.7%
- Dockerfile 1.4%
|
Fredrik Sætereng Fyksen
094dc17908
All checks were successful
Build and Push Container / build (push) Successful in 1m10s
|
||
|---|---|---|
| .forgejo/workflows | development branch workflow | |
| templates | tds on one line on event | |
| .gitignore | added instance to gitignore | |
| Containerfile | added -u to get print statements inside containers | |
| LICENSE | Initial commit | |
| main.py | webhooks + admingui | |
| README.md | Updated README with docker-compose volume example | |
| renovate.json | Add renovate.json | |
| requirements.txt | new requirements | |
pretix-attendees
Pretix Attendees is a web application designed to provide event attendees with a seamless interface to view event attendees. Built with Flask, it integrates with the Pretix event management system, leveraging its robust API to fetch real-time data about events and their participants.
Pretix Attendees uses Pretix Webhooks to know when to pull new data from Pretix. You need to configure pretix webhooks to point to the domain of https://your-pretix-attendees.com/webhook/pretix/ to make it auto refresh event lists.
Features
- Event Overview: Get a comprehensive list of all events, including their names, start dates, and the number of attendees.
- Attendee Details: Choose what Questions from the orders to show the visitor, in the admin interface.
- Admin interface: is located at /admin
- Plausible Analytics Integration: Track visitor statistics with privacy-friendly Plausible analytics, configurable via environment variables.
- Responsive Design: Ensures a great user experience across desktop and mobile devices.
Running in a container
docker run -d -p 5000:5000 \
-e API_TOKEN='your_pretix_api_token' \
-e BASE_URL='your_pretix_base_url' \
-e DOMAIN_URL='your_domain_for_plausible' \
-e PLAUSIBLE_URL='your_plausible_instance_url' \
--name pretix-attendees pretix-attendees
Running in docker-compose
docker-compose.yml example:
version: '3.1'
services:
pretix-attendees:
image: codeberg.org/fyksen/pretix-attendees:latest
restart: unless-stopped
ports:
- "5000:5000"
volumes:
- ./instance:/app/instance
environment:
API_TOKEN: "your_pretix_api_token"
BASE_URL: "https://your_pretix_base_url"
ORGANIZER_NAME: "your_pretix_ORGANIZER_NAME"
PLAUSIBLE_URL: "https://your_plausible_url"
DOMAIN_URL: "https://your_url"
ADMIN_USERNAME: "your-admin-username"
ADMIN_PASSWORD: "your-admin-pw"
Developing
Prerequisites
- Python 3.6+
- A Pretix instance API token and base URL
Run locally with venv
- Clone the repository:
git clone https://codeberg.org/fyksen/pretix-attendees.git
cd pretix-attendees
- Set up a virtual environment and activate it:
python3 -m venv venv
source venv/bin/activate # On Windows use `venv\Scripts\activate`
- Install the requirements:
pip install -r requirements.txt
- Set the necessary environment variables:
export API_TOKEN='your_pretix_api_token'
export BASE_URL='your_pretix_base_url'
export ORGANIZER_NAME='your_pretix_ORGANIZER_NAME'
export DOMAIN_URL='your_domain'
export PLAUSIBLE_URL='your_plausible_instance_url'
export ADMIN_USERNAME='your-admin-username'
export ADMIN_PASSWORD='your-admin-pw'
Use set instead of export if you are on Windows.
- Run the application:
python main.py
Your app should now be running on http://localhost:5000
- Configuration
- API_TOKEN: Your Pretix API token.
- BASE_URL: The base URL of your Pretix instance without the protocol (e.g., example.pretix.eu).
- ORGANIZER_NAME: The slug for your organizer from Pretix.
- DOMAIN_URL (optional): The domain you're tracking with Plausible analytics.
- PLAUSIBLE_URL (optional): The URL of your Plausible analytics script.
- ADMIN_USERNAME: Sets username for login to admin page
- ADMIN_PASSWORD: Sets password for login to admin page
Contributing
Contributions are welcome! Please feel free to submit a pull request or open an issue.