Logo
Saved Posts Trackerby gitnasr.com softwares

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

VariableRequiredDescription
DATABASE_URLYesMongoDB or SQLite connection string.
QDRANT_URLYesEndpoint of the Qdrant vector database (e.g. http://qdrant:6333).
CLOUDINARY_CLOUD_NAMEYesCloudinary account cloud name.
CLOUDINARY_API_KEYYesCloudinary API Key.
CLOUDINARY_API_SECRETYesCloudinary API Secret.

Updating the Container

To update to the latest version:

docker compose pull
docker compose up -d --remove-orphans