version: '3.4'

services:
  mongo:
    image: mongo:6
    container_name: mongo
    restart: always
    volumes:
      - mongo_data:/data/db

  librechat:
    image: ghcr.io/danny-avila/librechat:latest
    container_name: librechat
    restart: always
    depends_on:
      - mongo
    environment:
      - MONGO_URI=mongodb://mongo:27017/librechat
      - MONGO_DB=librechat
      - HOST=0.0.0.0
      - PORT=3080
      - REFRESH_SECRET=aa5191f2914e30b9387fd84e254e4ba6fc51b4654968a9b0803b456a54b8418
      - JWT_SECRET=6f8c0ef4a5d391b26034086c628469d3f9f497f08163ab9b40137092f2909ef
      - JWT_REFRESH_SECRET=aa5191f2914e30b9387fd84e254e4ba6fc51b4654968a9b0803b456a54b8418
      - REFRESH_TOKEN_EXPIRATION=7d
      - ALLOW_REGISTRATION=true
      - ALLOW_LOGIN=true
      - ENABLE_MODEL_PROVIDERS=true
      - ENABLE_PROVIDER_SETTINGS=true
      - OLLAMA_ENABLED=true
      - OLLAMA_BASE_URL=http://10.1.10.121:11434
    ports:
      - "3080:3080"
    volumes:
      - librechat_data:/app/data
      - /opt/librechat/librechat.yaml:/app/librechat.yaml

volumes:
  mongo_data:
  librechat_data:
