init: scaffold project structure
This commit is contained in:
+21
@@ -0,0 +1,21 @@
|
|||||||
|
# Environment / secrets
|
||||||
|
.env
|
||||||
|
|
||||||
|
# Runtime data
|
||||||
|
data/
|
||||||
|
|
||||||
|
# Python
|
||||||
|
worker/src/__pycache__/
|
||||||
|
worker/src/*.pyc
|
||||||
|
worker/src/.venv/
|
||||||
|
|
||||||
|
# IDE
|
||||||
|
.vscode/
|
||||||
|
.idea/
|
||||||
|
|
||||||
|
# OS
|
||||||
|
.DS_Store
|
||||||
|
Thumbs.db
|
||||||
|
|
||||||
|
# Docker
|
||||||
|
*.log
|
||||||
@@ -0,0 +1,34 @@
|
|||||||
|
# willhaben-tracker
|
||||||
|
|
||||||
|
Telegram bot + scraper for willhaben.at classified ads. Self-hosted on Unraid via Docker Compose.
|
||||||
|
|
||||||
|
## Stack
|
||||||
|
|
||||||
|
- **Postgres 15** with Supabase (PostgREST, Kong)
|
||||||
|
- **Python worker** — Telegram long polling + scrape scheduler
|
||||||
|
- **Docker Compose** deployed via Portainer at `/mnt/user/appdata/willhaben-tracker`
|
||||||
|
|
||||||
|
## Quick Start
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cp .env.example .env
|
||||||
|
# Edit TELEGRAM_BOT_TOKEN and POSTGRES_PASSWORD in .env
|
||||||
|
docker compose up -d
|
||||||
|
```
|
||||||
|
|
||||||
|
## Telegram Commands
|
||||||
|
|
||||||
|
- `/start` — Welcome + usage instructions (whitelisted only)
|
||||||
|
- `/add "keyword"` — Create new search query
|
||||||
|
- `/list` — Show active queries
|
||||||
|
- `/pause <id>` / `/resume <id>` — Toggle query
|
||||||
|
- `/delete <id>` — Remove query
|
||||||
|
- `/stats` — Tracking statistics
|
||||||
|
|
||||||
|
## Ports
|
||||||
|
|
||||||
|
| Service | Port |
|
||||||
|
|---------|------|
|
||||||
|
| Kong API | `55621` |
|
||||||
|
| Studio | `55630` |
|
||||||
|
| Postgres | `55632` |
|
||||||
Reference in New Issue
Block a user