Commit graph

45 commits

Author SHA1 Message Date
Luis Novo
9bdfd99f1b
feat: simplify reverse proxy configuration with Next.js rewrites (#213)
* feat: simplify reverse proxy configuration with Next.js rewrites

Add Next.js API rewrites to proxy /api/* requests internally from port 8502
to the FastAPI backend on port 5055. This eliminates the need for complex
reverse proxy configurations with multiple upstreams and location blocks.

Changes:
- Add rewrites to next.config.ts proxying /api/* to INTERNAL_API_URL
- Introduce INTERNAL_API_URL env var (defaults to http://localhost:5055)
- Update supervisord configs to pass INTERNAL_API_URL to Next.js
- Document INTERNAL_API_URL in .env.example with usage examples
- Add simplified reverse proxy examples for nginx, Traefik, Caddy, Coolify
- Update README architecture diagram to show internal proxying
- Add explanatory comments to _config route handler

Benefits:
- Reduces reverse proxy config from 12 lines to 3 (75% reduction)
- Single-port deployment (8502 only) for 95% of use cases
- Zero breaking changes - backward compatible with existing setups
- Zero performance overhead (validated through testing)
- Preserves proxy headers (X-Forwarded-*) for rate limiting/SSL

Resolves: #179
Related: OSS-321

* fix: rename _config to config to fix production routing

CRITICAL BUG FIX: The /_config endpoint has never worked in production builds
because Next.js treats folders starting with underscore as "private folders"
and excludes them from routing entirely.

This endpoint is critical for:
- Providing API_URL to the browser at runtime
- Enabling zero-config deployments with auto-detection
- Supporting reverse proxy scenarios where API URL differs from frontend URL

Changes:
- Rename frontend/src/app/_config/ → frontend/src/app/config/
- Update client code references (/_config → /config)
- Update documentation with correct endpoint path
- Bump version to 1.1.0 (minor version for new rewrites feature + bug fix)

Impact:
- Runtime configuration now works in production builds
- /config returns {"apiUrl":"http://localhost:5055"} correctly
- Auto-detection for reverse proxy deployments now functional

Related: #179, OSS-321

* fix: resolve React hook exhaustive-deps warning in AddExistingSourceDialog

Wrap performSearch function in useCallback to properly memoize it and satisfy
React Hook exhaustive-deps rule. This prevents unnecessary re-renders and
ensures the useEffect dependency array is correctly specified.

Changes:
- Import useCallback from React
- Wrap performSearch with useCallback([debouncedSearchQuery, allSources])
- Add performSearch to useEffect dependency array

* final fixes
2025-10-24 11:24:14 -03:00
LUIS NOVO
009a7cd71e docs: increase database info exposure 2025-10-20 17:26:16 -03:00
LUIS NOVO
12bd2655a4 docs: setup 2025-10-20 15:25:28 -03:00
neo
8219ccbc05
docs: add README language selection links and Chinese docs link (#116)
Added language selection links in README for easier access to translations: German, Spanish, French, Japanese, Korean, Portuguese, Russian, and Chinese.

Co-authored-by: Luis Novo <lfnovo@gmail.com>
2025-10-18 13:43:54 -03:00
LUIS NOVO
4e5f8c9a6a docs: add GHCR registry information
- Add Docker image registry section explaining both Docker Hub and GHCR options
- Include GHCR alternative in Quick Start examples
- Add comments showing how to use GHCR in docker-compose examples
- Help users understand they can use either registry interchangeably
2025-10-18 13:09:16 -03:00
Luis Novo
b7e656a319
Version 1 (#160)
New front-end
Launch Chat API
Manage Sources
Enable re-embedding of all contents
Sources can be added without a notebook now
Improved settings
Enable model selector on all chats
Background processing for better experience
Dark mode
Improved Notes

Improved Docs: 
- Remove all Streamlit references from documentation
- Update deployment guides with React frontend setup
- Fix Docker environment variables format (SURREAL_URL, SURREAL_PASSWORD)
- Update docker image tag from :latest to :v1-latest
- Change navigation references (Settings → Models to just Models)
- Update development setup to include frontend npm commands
- Add MIGRATION.md guide for users upgrading from Streamlit
- Update quick-start guide with correct environment variables
- Add port 5055 documentation for API access
- Update project structure to reflect frontend/ directory
- Remove outdated source-chat documentation files
2025-10-18 12:46:22 -03:00
LUIS NOVO
dcef3751cc docs: docs for openai-compatible 2025-07-27 22:53:36 -03:00
LUIS NOVO
4a79093503 docs: improve docs 2025-07-17 14:37:14 -03:00
LUIS NOVO
376a044136 docs: better docs 2025-07-17 12:55:58 -03:00
LUIS NOVO
dc1a02e35f docs: remove old docs 2025-07-17 12:47:08 -03:00
LUIS NOVO
b20c62df47 docs: new docs 2025-07-17 12:38:40 -03:00
Luis Novo
d7b0fff954
Api podcast migration (#93)
Creates the API layer for Open Notebook
Creates a services API gateway for the Streamlit front-end
Migrates the SurrealDB SDK to the official one
Change all database calls to async
New podcast framework supporting multiple speaker configurations
Implement the surreal-commands library for async processing
Improve docker image and docker-compose configurations
2025-07-17 08:36:11 -03:00
LUIS NOVO
9814103cc8 docs: update reasoning model instructions 2025-06-26 12:12:05 -03:00
LUIS NOVO
957a8853f2 chore: update dependencies to enable Azure Embedding, fix docker build 2025-06-19 18:28:16 -03:00
LUIS NOVO
0a5504744c docs: add model guide 2025-06-10 11:51:59 -03:00
LUIS NOVO
10049342cb chore: force .env on uv run 2025-06-03 12:57:51 -03:00
Luis Novo
99ce3682fe
Merge pull request #66 from pchuri/docs/improved-setup-instructions
docs: Improve setup instructions
2025-06-01 09:43:39 -03:00
heecheol.park
8f86b23bc4 Improve setup instructions with system dependencies and troubleshooting 2025-06-01 20:27:05 +09:00
LUIS NOVO
c876aeff53 update readme page 2025-05-31 15:13:13 -03:00
LUIS NOVO
780b905f74 fix discord link 2025-04-24 10:14:59 -03:00
LUIS NOVO
9ea08ac93e docs: add discord server 2025-04-24 09:47:10 -03:00
LUIS NOVO
bba6a5d610 update docs for uv 2025-04-06 15:56:37 -03:00
LUIS NOVO
ad162b8835 link to website 2024-11-14 15:39:25 -03:00
LUIS NOVO
cd3ad2e9fa simplify docker setup 2024-11-14 09:50:33 -03:00
LUIS NOVO
51dc60bc82 update docs 2024-11-13 22:08:57 -03:00
LUIS NOVO
a0c9c7fa1f update docs 2024-11-07 20:03:01 -03:00
LUIS NOVO
867ae9c67b update podcast sample 2024-11-07 20:01:23 -03:00
LUIS NOVO
7978833473 enable gemini text to speech model for podcast generation 2024-11-07 19:45:56 -03:00
LUIS NOVO
35c68dff11 better readme 2024-11-05 13:57:10 -03:00
LUIS NOVO
b89250d3ca temporary fix to config cache 2024-11-01 17:06:10 -03:00
LUIS NOVO
2f2cdabd2d Fix issue with model defaults and bump version 2024-10-30 18:28:29 -03:00
LUIS NOVO
399f175b0c docker image 2024-10-28 12:03:05 -03:00
LUIS NOVO
424cb8b16a rename repo and add upgrade version check 2024-10-28 09:21:39 -03:00
LUIS NOVO
78bbd4d860 youtube sample for the podcast 2024-10-26 10:15:00 -03:00
LUIS NOVO
8ac4e604f0 fix audio 2024-10-26 08:03:07 -03:00
LUIS NOVO
8cd123f9ea sample interview 2024-10-26 07:59:19 -03:00
LUIS NOVO
88b39339cb update readme for gemini 2024-10-26 05:52:58 -03:00
LUIS NOVO
01f8eab10e add podcast support 2024-10-26 05:17:58 -03:00
LUIS NOVO
356b2a5434 typo 2024-10-23 16:17:51 -03:00
LUIS NOVO
6868fd2b13 typo 2024-10-23 16:14:51 -03:00
LUIS NOVO
c3f3c9cb93 update docs to new release info 2024-10-23 15:40:28 -03:00
LUIS NOVO
b60cee2cc2 update docker compose 2024-10-22 19:37:54 -03:00
LUIS NOVO
737bc51f09 update docker image documentation for multi-model 2024-10-22 18:53:04 -03:00
LUIS NOVO
e0c3fe26c8 screenshot 2024-10-21 18:26:17 -03:00
LUIS NOVO
bcd260a28b Initial commit with all features 2024-10-21 14:56:10 -03:00