Requirements

  • git
  • Docker with compose (docker version >= 1.13.0)
  • System requirements found here

Setup

This quickstart guide covers setting up Danswer for local execution

The most common source of issues is under-resourcing. Before beginning, check the system requirements here.

  1. Clone the Danswer repo:
git clone https://github.com/danswer-ai/danswer.git
  1. Navigate to danswer/deployment/docker_compose
cd danswer/deployment/docker_compose
  1. Bring up your docker engine and run:
    • To pull images from DockerHub and run Danswer:
    docker compose -f docker-compose.dev.yml -p danswer-stack up -d --pull always --force-recreate
    
    • Alternatively, to build the containers from source and start Danswer, run:
    docker compose -f docker-compose.dev.yml -p danswer-stack up -d --build --force-recreate
    
    • These commands are also used to redeploy if any .env variables are updated
    • This may take 15+ minutes depending on your internet speed.
      • Addditionally, once the images have been pulled / built, the initial startup of the api_server may take some time (we download embedding models from HuggingFace to power the search). If you see This site can’t be reached in your browser despite all containers being up and running, check the api_server logs and make sure you see Application startup complete.
      • If you see Killed in the logs, you may need to increase the amount of memory given to Docker. For recommendations, check the system requirements here.
  2. Danswer will now be running on http://localhost:3000.

Gen-AI API Key

Note: On the initial visit, Danswer will prompt for an OpenAI API key.

You can get an OpenAI API key at: https://platform.openai.com/account/api-keys

You can also replace OpenAI with a model provider of your choice, see here for more info

Indexing Documents

This quickstart guide will index a publicly accessible website as this requires no additional authorization setup 1. Navigate to the top right of Danswer’s home screen and select Admin Panel AdminPanel

  1. In the Web Connector dashboard, pick any base URL to index.
    • This will index all pages under that base URL that is reachable from hyperlinks.
    • You can check the indexing status page to monitor the progress.

DanswerWebConnector

  1. After the pages are indexed, you can now navigate back to the homepage and start asking questions and getting answers! 🥳

DanswerSampleQA

Shutting Down

docker compose -f docker-compose.dev.yml -p danswer-stack down

add -v at the end to delete the volumes (containing users and indexed documents)