Files
local-llm-stack/README.md
Dale-Kurt Murray 71dae881d0 Initial commit
2025-03-10 22:35:45 -04:00

3.4 KiB

Docker Local AI LLM Environment

This repository contains a Docker Compose setup for running a local AI and automation environment with multiple services.

Services

Flowise

AnythingLLM

  • Document management and AI interaction platform
  • Port: 3002
  • Web interface: http://localhost:3002
  • Uses Qdrant as vector database
  • Connects to Ollama for LLM capabilities

Open WebUI

n8n

  • Workflow automation platform
  • Port: 5678
  • Web interface: http://localhost:5678
  • Includes automatic import of workflows and credentials from backup directory

Qdrant

  • Vector database for AI applications
  • Port: 6333
  • API endpoint: http://localhost:6333
  • Used by AnythingLLM for document embeddings

PostgreSQL

  • Database used by n8n
  • Port: 5432

Prerequisites

  • Docker and Docker Compose installed on your system
  • Basic understanding of Docker containers and networking
  • Ollama installed locally (or optionally run as a container by uncommenting the Ollama service in docker-compose.yml)

Setup Instructions

  1. Clone this repository:

    git clone https://github.com/yourusername/docker-local-ai-llm.git
    cd docker-local-ai-llm
    
  2. Create a .env file based on the provided .env.sample file:

    cp .env.sample .env
    
  3. Modify the .env file with your preferred credentials and secrets.

  4. Ollama Configuration:

    • By default, the setup is configured to use a locally installed Ollama instance
    • If you want to run Ollama as a container, uncomment the Ollama service in docker-compose.yml and update the OLLAMA_BASE_PATH and EMBEDDING_BASE_PATH in .env to use http://ollama:11434
  5. Start the services:

    docker-compose up -d
    
  6. Access the services through their respective ports:

Data Persistence

The following Docker volumes are used for data persistence:

  • n8n_storage: n8n data
  • postgres_storage: PostgreSQL database
  • qdrant_storage: Qdrant vector database
  • open-webui: Open WebUI data
  • flowise: Flowise data
  • anythingllm_storage: AnythingLLM data
  • ollama_storage: Ollama data (when using containerized Ollama)

Network Configuration

All services are connected to the ai-network Docker network for internal communication.

Customization

You can customize the services by modifying the docker-compose.yml and .env files according to your needs.

AnythingLLM Configuration

AnythingLLM is configured to use:

  • Qdrant as the vector database
  • Ollama for LLM capabilities and embeddings
  • The configuration can be adjusted in the .env file

Troubleshooting

If you encounter any issues:

  1. Check the logs of the specific service:

    docker-compose logs [service-name]
    
  2. Ensure all required ports are available on your host system.

  3. Verify that the .env file contains all necessary variables.

  4. If using native Ollama, ensure it's running on your host machine:

    ollama serve
    
  5. If you're having connection issues between containers and your host machine, check that the extra_hosts configuration is correctly set in docker-compose.yml.

License

[Specify your license here]