A tactical guide to setting up your first Trawlr instance.
You must get your user API credentials from the Telegram portal.
api_id and api_hash from my.telegram.org
No need to clone the full repository. Download the compose file and environment template directly.
Edit the .env file and replace all <CHANGEME> placeholder values.
| Service | Function |
|---|---|
| web | Django application server (Daphne ASGI) |
| downloader | Download & task processor (gevent pool) |
| concierge | Telegram API tasks (history scans, member scans) |
| processor | Real-time event processor |
| listener | Real-time Telegram connection & message capture |
| scheduler | Periodic task scheduling (APScheduler) |
| db | PostgreSQL 18 database |
| rabbitmq | Message broker for task queues |
| Service | Function |
|---|---|
| web | Django application server (Daphne ASGI) |
| downloader | Download & task processor (gevent pool) |
| concierge | Telegram API tasks (history scans, member scans) |
| processor | Real-time event processor |
| listener | Real-time Telegram connection & message capture |
| scheduler | Periodic task scheduling (APScheduler) |
| db | PostgreSQL 18 database |
| rabbitmq | Message broker for task queues |
Navigate to the web interface at http://localhost:8000 and complete Telegram account linking:
api_id and api_hash credentials
Configure channel monitoring and data collection parameters:
We do NOT recommend exposing Trawlr to the internet. Out of the box integration with Traefik will be available in the v1.1 release. Until then we recommend you put Trawlr behind a suitable reverse proxy.
FloodWaitError
API rate limit triggered. System auto-retries after cooldown period.
Session Expired
Re-authenticate via Accounts section after extended inactivity.
Downloads Stalled
Verify worker containers running with docker compose ps.