An open, fan-curated wrestling database and platform — inspired by TMDB and IMDB.
Website: https://wrestlingdb.org
- Django 5.2+ web application with PostgreSQL
- Redis caching and Celery background tasks
- REST API with JWT authentication and rate limiting
- Dark mode responsive interface
- Docker Compose for easy deployment
| Component | Technology |
|---|---|
| Backend | Django 5.2+, Django REST Framework |
| Database | PostgreSQL 15+ |
| Cache | Redis 7+ |
| Task Queue | Celery 5.5+ with Beat scheduler |
| Web Server | Gunicorn + Traefik |
| Containerization | Docker & Docker Compose |
git clone https://github.com/ericrosenberg1/OWDB.git
cd OWDB
cp .env.example .env
docker-compose up --build
# Access at http://localhost:8000python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python manage.py migrate
python manage.py createsuperuser
python manage.py runserver# Get JWT token
curl -X POST https://wrestlingdb.org/api/token/ \
-H "Content-Type: application/json" \
-d '{"username": "user", "password": "pass"}'
# Use token
curl https://wrestlingdb.org/api/wrestlers/ \
-H "Authorization: Bearer YOUR_TOKEN"| Tier | Requests/Hour |
|---|---|
| Free | 100 |
| Authenticated | 1,000 |
| Paid | 10,000 |
wrestlingdb.org runs on the NUC at /home/eric/wrestlingdb as a Docker Compose
stack behind a Cloudflare Tunnel. Production runs two containers, web (Django
under Gunicorn, on SQLite) and cloudflared. The db, redis, and celery
services are still defined in docker-compose.yml but are pinned to zero
replicas on the NUC by a docker-compose.nuc.yml override.
Two things about that directory surprise people:
- It is not a git checkout. There is no
.git, so there is nothing togit pull. docker-compose.nuc.ymlexists only on the NUC, not in this repo. A deploy run without it would try to start Postgres, Redis, and Celery, and would bind host port 8000, which is already taken on that box.
The canonical update and deploy path is documented in Brian's weekly routine at
nuc:/home/eric/docker/paperclip/agent-instructions/brian/dependency-updates.md,
Part I. Follow that. Do not improvise a deploy from this README.
There used to be a deploy.sh in this repo. It was removed because every fact
in it was wrong: it targeted /opt/owdb (never existed on the NUC), pointed at
a DigitalOcean IP that Eric released and that has since been reassigned to a
third party, and opened with a git pull in a directory that is not a
repository.
docker compose up --buildGitHub Actions is disabled on this repo on purpose (billing broke 2026-05-22). Nothing runs on a pull request and nothing deploys on merge, so test locally before merging.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
MIT License - see LICENSE for details.
The Open Wrestling Database
wrestlingdb.org