orakzai-io/Rednote
0
Document Assistant (RAG Notebook)
A full-stack RAG (Retrieval-Augmented Generation) document assistant application built to upload, index, and query documents using PostgreSQL (with pgvector), FastAPI, and a React + TypeScript frontend.
Project Structure
├── backend/ # FastAPI Python Backend
├── frontend/ # React (Vite + TypeScript) Frontend
├── docker-compose.yml # Multi-container orchestration
├── nginx.conf # Nginx reverse proxy configuration
└── .env.example # Example environment variablesQuick Start (Docker Compose)
The easiest way to run the entire stack is using Docker Compose.
Prerequisites
- Docker Desktop (with WSL 2 integration enabled if on Windows)
Steps
- Configure Environment Variables Copy the
.envtemplate from the backend directory to the root (or create a.envin the root containing your keys):
cp backend/.env .env Ensure your .env contains a valid GROQ_API_KEY and a secure SECRET_KEY (for JWT authentication).
- Start the Application Run the following command to build the Docker images and start the services:
docker compose up -d --build- Access the App
- Frontend Application: http://localhost (runs on port
80served by Nginx) - Backend API Docs: http://localhost:8000/docs
- PostgreSQL Database: Port
5432(accessible from host using database settings in.env)
- Shutdown To stop the services while preserving your data:
docker compose downTo stop and wipe database data:
docker compose down -vDevelopment
For instructions on running backend or frontend individually outside of Docker:
- Refer to the Backend README
- Refer to the Frontend README
