How to Set Up and Use Quivr with Docker on Ubuntu 22.04

Quivr is an open-source AI-powered knowledge management platform that helps you store and query data using advanced language models. Let's get started with Quivr in just a few simple steps.

What is Quivr?

Quivr, your second brain, utilizes the power of GenerativeAI to be your personal assistant! It is an Open-source RAG Framework for building GenAI Second Brains that is free to use locally. Quivr allows users to store and retrieve unstructured information, chats with your docs (PDF, CSV, ...), interact with connected applications, and build AI applications powered by Foundation Models.

Key Features of Quivr

Fast and Efficient: Designed with speed and efficiency at its core. Quivr ensures rapid access to your data.

Secure: Your data, your control. Always.

File Compatibility: Text, Markdown, PDF, Powerpoint, Excel, CSV, Word, Audio, Video

Public/Private: Share your brains with your users via a public link, or keep them private.

Offline Mode: Quivr works offline, so you can access your data anytime, anywhere.

Prerequisites

Operating System: Ubuntu 20 or newer

Git, Python 3.9 or later.

Docker and Docker Compose

Supabase CLI - Follow the instructions here to install the Supabase CLI that is required.

How to Install Quivr?

Running Quivr with Docker provides a containerized environment that simplifies setup and avoids dependency issues. Here’s a step-by-step guide to installing and using Quivr with Docker on Ubuntu 22.04.

Step 1 - Clone the Quivr Repository

Open Git Bash (or any terminal like PowerShell). Run the following command to clone the Quivr repository:

git clone https://github.com/QuivrHQ/quivr.git
cd quivr

Step 2 - Configure Environment Variables

Quivr requires some environment variables to be set up for database connections and other services. Docker simplifies this process, but you’ll still need to configure a .env file.

In the Quivr directory, you’ll find a file called .env.example. Copy it to create your own .env file:

cp .env.example .env
vim .env # or emacs or vscode or nano

You just need to update the OPENAI_API_KEY variable in the .env file. If you want to use Ollama instead, please uncomment the following lines in the .env file: OLLAMA_API_BASE_URL. Remeber to install Ollama first and run the following command to start Ollama: ollama run llama3.2. You can find more information about Ollama here.

Step 3 - Launch the project

cd backend && supabase start
supabase status
Supabase Status Message

Quivr uses Docker Compose to set up the application along with its dependencies (Postgres, Redis, etc.). Open a terminal (Git Bash or PowerShell) and navigate to the Quivr directory, Run the following command to start Quivr using Docker Compose:

cd ../
docker compose pull
docker compose up
Compose up Message

The first time you run this command, Docker will download the images, which may take a few minutes depending on your internet speed. After the build completes, Quivr and its services will be running.

Step 4 - Login to the app

Open your web browser and navigate to http://localhost:3000. You will see the Quivr interface. You can now sign in to the app with [email protected] & admin. You can access the app at http://localhost:3000/login.

Login to the Quivr app
Quivr app homepage

Note: You can access Quivr backend API at http://localhost:5050/docs.

Quivr backend API

Step 5 - Create brain

In the Quivr interface, click on the "Create brain" button to upload text files, PDFs, or other supported document types. Quivr will process and index the content, making it searchable through the platform.

Quivr add new brain
Quivr add new brain, step 2

After creating your brain app, you can now query your uploaded documents by asking questions or typing keywords. Quivr uses advanced language models to interpret your queries and retrieve the most relevant information.

Conclusion

By following these steps, you can easily set up and run Quivr on Windows 10 using Docker. The containerized setup simplifies installation and configuration while providing a scalable solution for knowledge management. With Quivr, you can efficiently store, manage, and query your knowledge base using AI-powered tools. For more advanced configurations, explore the Quivr GitHub repository for additional documentation and community support.