This project is a FastAPI backend that:
- Scrapes & discovers trends
- Uses AI for topic extraction
- Caches results in Redis
- Runs scheduled background jobs
User → Coolify (Traefik) → FastAPI App → Redis
↓
Scheduler + AI
- Linux VPS (Ubuntu recommended)
- Docker installed
- Domain (optional for HTTPS)
sudo apt update
sudo apt install -y docker.io docker-compose
sudo systemctl enable docker
sudo systemctl start dockerWe use the official install script (internally uses Docker Compose).
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bashOpen in browser:
http://YOUR_SERVER_IP:8000
Create admin account → dashboard ready ✅
- Traefik (reverse proxy)
- PostgreSQL (Coolify DB)
- Redis (internal services)
- Coolify backend
All managed via Docker automatically.
docker psYou should see containers like:
- coolify
- coolify-db
- coolify-redis
- Go to Coolify Dashboard
- Add Resource → Redis
- Click Deploy
- Copy Redis URL (internal)
Example:
redis://redisAdmin:password@redis-database-xxxxx:6379
- Add Resource → Application → Public Repository
- Repo:
https://github.com/Dev-kaif/Coin-gen-ai-layer
| Setting | Value |
|---|---|
| Build Pack | Dockerfile |
| Port | 8000 |
REDIS_URL=redis://username:password@redis-host:6379
GOOGLE_API_KEY=your_google_api_key
TREND_TTL_SECONDS=900Ports Exposes: 8000
Port Mappings: (leave empty)
Click:
Deploy
http://your-domain/docs
sslip.io is rate-limited for SSL
👉 Use your own domain:
Type: A
Name: @
Value: YOUR_SERVER_IP
Then in Coolify:
- Add domain
- Enable SSL
- Redeploy
docker build -t coin-app .docker network create coin-networkdocker run -d \
--name redis \
--network coin-network \
redis:alpinedocker run -d \
-p 8000:8000 \
--name coin-app \
--network coin-network \
-e REDIS_URL=redis://redis:6379 \
-e GOOGLE_API_KEY=your_key \
coin-app@app.get("/health")
async def health():
return {"status": "ok"}Coolify config:
/health
| Key | Purpose |
|---|---|
| trends: | Cached data |
| trends:ranking | Sorted ranking |
| trends:history | Momentum tracking |
- Fix port →
8000 - Match Ports Exposes
- Use
redis://...NOT localhost
- Rate limit hit
- Reduce frequency or upgrade plan
- Use custom domain + SSL
- Increase scheduler interval
- Add retry logic for APIs
- Monitor logs
✅ Dockerized ✅ Redis integrated ✅ Coolify deployed ✅ Public API
Built by Dev-kaif 🚀