diff --git a/docs/.gitignore b/docs/.gitignore new file mode 100644 index 00000000..b2d6de30 --- /dev/null +++ b/docs/.gitignore @@ -0,0 +1,20 @@ +# Dependencies +/node_modules + +# Production +/build + +# Generated files +.docusaurus +.cache-loader + +# Misc +.DS_Store +.env.local +.env.development.local +.env.test.local +.env.production.local + +npm-debug.log* +yarn-debug.log* +yarn-error.log* diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 00000000..b28211a9 --- /dev/null +++ b/docs/README.md @@ -0,0 +1,41 @@ +# Website + +This website is built using [Docusaurus](https://docusaurus.io/), a modern static website generator. + +## Installation + +```bash +yarn +``` + +## Local Development + +```bash +yarn start +``` + +This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server. + +## Build + +```bash +yarn build +``` + +This command generates static content into the `build` directory and can be served using any static contents hosting service. + +## Deployment + +Using SSH: + +```bash +USE_SSH=true yarn deploy +``` + +Not using SSH: + +```bash +GIT_USER= yarn deploy +``` + +If you are using GitHub pages for hosting, this command is a convenient way to build the website and push to the `gh-pages` branch. diff --git a/docs/configuration.md b/docs/docs/configure/configuration.md similarity index 96% rename from docs/configuration.md rename to docs/docs/configure/configuration.md index fcc76f37..a1986d93 100644 --- a/docs/configuration.md +++ b/docs/docs/configure/configuration.md @@ -1,3 +1,8 @@ +--- +title: Configuration +slug: /configure/configuration +--- + # Configuration OpenRAG uses environment variables for configuration. Copy `.env.example` to `.env` and populate with your values: diff --git a/docs/docker.md b/docs/docs/get-started/docker.mdx similarity index 91% rename from docs/docker.md rename to docs/docs/get-started/docker.mdx index ab0cb71d..a394bc69 100644 --- a/docs/docker.md +++ b/docs/docs/get-started/docker.mdx @@ -1,3 +1,8 @@ +--- +title: Docker Deployment +slug: /get-started/docker +--- + # Docker Deployment ## Standard Deployment diff --git a/docs/docs/get-started/intro.mdx b/docs/docs/get-started/intro.mdx new file mode 100644 index 00000000..22763874 --- /dev/null +++ b/docs/docs/get-started/intro.mdx @@ -0,0 +1,48 @@ +--- +title: What is OpenRAG? +slug: / +--- + +# OpenRAG Introduction + +Let's discover **Docusaurus in less than 5 minutes**. + +## Getting Started + +Get started by **creating a new site**. + +Or **try Docusaurus immediately** with **[docusaurus.new](https://docusaurus.new)**. + +### What you'll need + +- [Node.js](https://nodejs.org/en/download/) version 18.0 or above: + - When installing Node.js, you are recommended to check all checkboxes related to dependencies. + +## Generate a new site + +Generate a new Docusaurus site using the **classic template**. + +The classic template will automatically be added to your project after you run the command: + +```bash +npm init docusaurus@latest my-website classic +``` + +You can type this command into Command Prompt, Powershell, Terminal, or any other integrated terminal of your code editor. + +The command also installs all necessary dependencies you need to run Docusaurus. + +## Start your site + +Run the development server: + +```bash +cd my-website +npm run start +``` + +The `cd` command changes the directory you're working with. In order to work with your newly created Docusaurus site, you'll need to navigate the terminal there. + +The `npm run start` command builds your website locally and serves it through a development server, ready for you to view at http://localhost:3000/. + +Open `docs/intro.md` (this page) and edit some lines: the site **reloads automatically** and displays your changes. diff --git a/docs/tui.md b/docs/docs/get-started/tui.mdx similarity index 92% rename from docs/tui.md rename to docs/docs/get-started/tui.mdx index 87fedfe0..2f0a048d 100644 --- a/docs/tui.md +++ b/docs/docs/get-started/tui.mdx @@ -1,8 +1,13 @@ +--- +title: Terminal Interface (TUI) +slug: /get-started/tui +--- + # OpenRAG TUI Guide The OpenRAG Terminal User Interface (TUI) provides a streamlined way to set up, configure, and monitor your OpenRAG deployment directly from the terminal. -![OpenRAG TUI Interface](../assets/OpenRAG_TUI_2025-09-10T13_04_11_757637.svg) +![OpenRAG TUI Interface](@site/static/img/OpenRAG_TUI_2025-09-10T13_04_11_757637.svg) ## Launch diff --git a/docs/troubleshooting.md b/docs/docs/reference/troubleshooting.mdx similarity index 89% rename from docs/troubleshooting.md rename to docs/docs/reference/troubleshooting.mdx index 5ffd2bc8..c1893ef5 100644 --- a/docs/troubleshooting.md +++ b/docs/docs/reference/troubleshooting.mdx @@ -1,3 +1,8 @@ +--- +title: Troubleshooting +slug: /reference/troubleshooting +--- + # Troubleshooting ## Podman on macOS diff --git a/docs/docusaurus.config.js b/docs/docusaurus.config.js new file mode 100644 index 00000000..22c0944f --- /dev/null +++ b/docs/docusaurus.config.js @@ -0,0 +1,119 @@ +// @ts-check +// `@type` JSDoc annotations allow editor autocompletion and type checking +// (when paired with `@ts-check`). +// There are various equivalent ways to declare your Docusaurus config. +// See: https://docusaurus.io/docs/api/docusaurus-config + +import {themes as prismThemes} from 'prism-react-renderer'; + +// This runs in Node.js - Don't use client-side code here (browser APIs, JSX...) + +/** @type {import('@docusaurus/types').Config} */ +const config = { + title: 'OpenRAG', + tagline: 'Open Source RAG Platform', + favicon: 'img/favicon.ico', + + // Future flags, see https://docusaurus.io/docs/api/docusaurus-config#future + future: { + v4: true, // Improve compatibility with the upcoming Docusaurus v4 + }, + + // Set the production url of your site here + url: 'https://openrag.io', + // Set the // pathname under which your site is served + // For GitHub pages deployment, it is often '//' + baseUrl: '/', + + // GitHub pages deployment config. + // If you aren't using GitHub pages, you don't need these. + organizationName: 'langflow-ai', // Usually your GitHub org/user name. + projectName: 'openrag', // Usually your repo name. + + onBrokenLinks: 'throw', + onBrokenMarkdownLinks: 'warn', + + // Even if you don't use internationalization, you can use this field to set + // useful metadata like html lang. For example, if your site is Chinese, you + // may want to replace "en" with "zh-Hans". + i18n: { + defaultLocale: 'en', + locales: ['en'], + }, + + presets: [ + [ + 'classic', + /** @type {import('@docusaurus/preset-classic').Options} */ + ({ + docs: { + sidebarPath: './sidebars.js', + // Please change this to your repo. + // Remove this to remove the "edit this page" links. + editUrl: + 'https://github.com/openrag/openrag/tree/main/docs/', + routeBasePath: '/', + }, + theme: { + customCss: './src/css/custom.css', + }, + }), + ], + ], + + themeConfig: + /** @type {import('@docusaurus/preset-classic').ThemeConfig} */ + ({ + // Replace with your project's social card + image: 'img/docusaurus-social-card.jpg', + navbar: { + title: 'OpenRAG', + logo: { + alt: 'OpenRAG Logo', + src: 'img/logo.svg', + href: '/', + }, + items: [ + { + href: 'https://github.com/openrag/openrag', + label: 'GitHub', + position: 'right', + }, + ], + }, + footer: { + style: 'dark', + links: [ + { + title: 'Documentation', + items: [ + { + label: 'Getting Started', + to: '/', + }, + ], + }, + { + title: 'Community', + items: [ + { + label: 'GitHub', + href: 'https://github.com/openrag/openrag', + }, + { + label: 'Discord', + href: 'https://discord.gg/openrag', + }, + ], + }, + ], + copyright: `Copyright © ${new Date().getFullYear()} OpenRAG. Built with Docusaurus.`, + }, + prism: { + theme: prismThemes.github, + darkTheme: prismThemes.dracula, + }, + }), +}; + +export default config; diff --git a/docs/sidebars.js b/docs/sidebars.js new file mode 100644 index 00000000..51a4ddc3 --- /dev/null +++ b/docs/sidebars.js @@ -0,0 +1,65 @@ +// @ts-check + +// This runs in Node.js - Don't use client-side code here (browser APIs, JSX...) + +/** + * Creating a sidebar enables you to: + - create an ordered group of docs + - render a sidebar for each doc of that group + - provide next/previous navigation + + The sidebars can be generated from the filesystem, or explicitly defined here. + + Create as many sidebars as you want. + + @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} + */ +const sidebars = { + tutorialSidebar: [ + { + type: "category", + label: "Get Started", + items: [ + { + type: "doc", + id: "get-started/intro", + label: "Introduction" + }, + { + type: "doc", + id: "get-started/docker", + label: "Docker Deployment" + }, + { + type: "doc", + id: "get-started/tui", + label: "Terminal Interface (TUI)" + }, + ], + }, + { + type: "category", + label: "Configuration", + items: [ + { + type: "doc", + id: "configure/configuration", + label: "Environment Variables" + }, + ], + }, + { + type: "category", + label: "Reference", + items: [ + { + type: "doc", + id: "reference/troubleshooting", + label: "Troubleshooting" + }, + ], + }, + ], +}; + +export default sidebars; diff --git a/docs/src/css/custom.css b/docs/src/css/custom.css new file mode 100644 index 00000000..2bc6a4cf --- /dev/null +++ b/docs/src/css/custom.css @@ -0,0 +1,30 @@ +/** + * Any CSS included here will be global. The classic template + * bundles Infima by default. Infima is a CSS framework designed to + * work well for content-centric websites. + */ + +/* You can override the default Infima variables here. */ +:root { + --ifm-color-primary: #2e8555; + --ifm-color-primary-dark: #29784c; + --ifm-color-primary-darker: #277148; + --ifm-color-primary-darkest: #205d3b; + --ifm-color-primary-light: #33925d; + --ifm-color-primary-lighter: #359962; + --ifm-color-primary-lightest: #3cad6e; + --ifm-code-font-size: 95%; + --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.1); +} + +/* For readability concerns, you should choose a lighter palette in dark mode. */ +[data-theme='dark'] { + --ifm-color-primary: #25c2a0; + --ifm-color-primary-dark: #21af90; + --ifm-color-primary-darker: #1fa588; + --ifm-color-primary-darkest: #1a8870; + --ifm-color-primary-light: #29d5b0; + --ifm-color-primary-lighter: #32d8b4; + --ifm-color-primary-lightest: #4fddbf; + --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3); +} diff --git a/docs/static/.nojekyll b/docs/static/.nojekyll new file mode 100644 index 00000000..e69de29b diff --git a/docs/static/img/OpenRAG_TUI_2025-09-10T13_04_11_757637.svg b/docs/static/img/OpenRAG_TUI_2025-09-10T13_04_11_757637.svg new file mode 100644 index 00000000..f50bef7d --- /dev/null +++ b/docs/static/img/OpenRAG_TUI_2025-09-10T13_04_11_757637.svg @@ -0,0 +1,237 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OpenRAG TUI + + + + + + + + + + + + + + + + + + + + + + +██████╗ ██████╗ ███████╗███╗   ██╗██████╗  █████╗  ██████╗  +██╔═══██╗██╔══██╗██╔════╝████╗  ██║██╔══██╗██╔══██╗██╔════╝  +██║   ██║██████╔╝█████╗  ██╔██╗ ██║██████╔╝███████║██║  ███╗ +██║   ██║██╔═══╝ ██╔══╝  ██║╚██╗██║██╔══██╗██╔══██║██║   ██║ +╚██████╔╝██║     ███████╗██║ ╚████║██║  ██║██║  ██║╚██████╔╝ +╚═════╝ ╚═╝     ╚══════╝╚═╝  ╚═══╝╚═╝  ╚═╝╚═╝  ╚═╝╚═════╝ +Terminal User Interface for OpenRAG + +OAuth credentials detected — Advanced Setup recommended + + + + +▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ + Advanced Setup  Monitor Services  +▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ + + + + + + + + + + + + + + q Quit  1 Basic Setup  2 Advanced Setup  3 Monitor Services  4 Diagnostics ^p palette + + + diff --git a/docs/static/img/favicon.ico b/docs/static/img/favicon.ico new file mode 100644 index 00000000..1225e208 Binary files /dev/null and b/docs/static/img/favicon.ico differ diff --git a/docs/static/img/logo.svg b/docs/static/img/logo.svg new file mode 100644 index 00000000..249f6888 --- /dev/null +++ b/docs/static/img/logo.svg @@ -0,0 +1 @@ + \ No newline at end of file