Self-Hosting & Docker Guide
Deploying Saved Posts Tracker with Docker Compose, environment variables, and backups.
Self-Hosting & Docker Guide
Saved Posts Tracker is packaged for single-command deployment using Docker Compose.
Full docker-compose.yml
version: '3.8'
services:
app:
image: ghcr.io/gitnasr/instagram-saved-tracker:latest
container_name: instagram_saved_app
ports:
- "3000:3000"
environment:
- DATABASE_URL=mongodb://mongo:27017/instagram
- QDRANT_URL=http://qdrant:6333
- CLOUDINARY_CLOUD_NAME=${CLOUDINARY_CLOUD_NAME}
- CLOUDINARY_API_KEY=${CLOUDINARY_API_KEY}
- CLOUDINARY_API_SECRET=${CLOUDINARY_API_SECRET}
depends_on:
- mongo
- qdrant
restart: unless-stopped
mongo:
image: mongo:7.0
container_name: instagram_saved_mongo
volumes:
- mongo_data:/data/db
restart: unless-stopped
qdrant:
image: qdrant/qdrant:v1.18.0
container_name: instagram_saved_qdrant
volumes:
- qdrant_data:/qdrant/storage
restart: unless-stopped
volumes:
mongo_data:
qdrant_data:Environment Variables Reference
| Variable | Required | Description |
|---|---|---|
DATABASE_URL | Yes | MongoDB or SQLite connection string. |
QDRANT_URL | Yes | Endpoint of the Qdrant vector database (e.g. http://qdrant:6333). |
CLOUDINARY_CLOUD_NAME | Yes | Cloudinary account cloud name. |
CLOUDINARY_API_KEY | Yes | Cloudinary API Key. |
CLOUDINARY_API_SECRET | Yes | Cloudinary API Secret. |
Updating the Container
To update to the latest version:
docker compose pull
docker compose up -d --remove-orphans