Commit graph

9 commits

Author SHA1 Message Date
OrbisAI Sec
cb2d07bc93
fix: yaml.github-actions.security.run-shell-injection.run-shell-injection-.github-workflows-build-and-release.yml (#181)
Some checks are pending
Development Build / extract-version (push) Waiting to run
Development Build / test-build-regular (push) Blocked by required conditions
Development Build / test-build-single (push) Blocked by required conditions
Development Build / summary (push) Blocked by required conditions
2025-10-20 05:30:09 -03:00
Luis Novo
4c2b8257fc
OpenAI compatible multimodal (#167)
* fix text

* remove lint from docker publish workflow

* gemini base url docs

* feat: add multimodal support for openai-compatible providers

- Add helper function to check OpenAI-compatible provider availability per mode
- Update provider detection to support language, embedding, STT, and TTS modalities
- Implement mode-specific environment variable detection (LLM, EMBEDDING, STT, TTS)
- Maintain backward compatibility with generic OPENAI_COMPATIBLE_BASE_URL
- Add comprehensive unit tests for all configuration scenarios
- Update .env.example with mode-specific environment variables
- Update provider support matrix in ai-models.md
- Create comprehensive openai-compatible.md setup guide

This enables users to configure different OpenAI-compatible endpoints for
different AI capabilities (e.g., LM Studio for language models, dedicated
server for embeddings) while maintaining full backward compatibility.

* upgrade

* chore: change docker release strategy
2025-10-19 07:44:05 -03:00
LUIS NOVO
e54604dd90 fix: add disk cleanup step to prevent out of space errors
Some checks are pending
Development Build / extract-version (push) Waiting to run
Development Build / lint-and-check (push) Waiting to run
Development Build / test-build-regular (push) Blocked by required conditions
Development Build / test-build-single (push) Blocked by required conditions
Development Build / summary (push) Blocked by required conditions
Multi-platform Docker builds (amd64 + arm64) consume significant disk
space on GitHub Actions runners, often causing 'No space left on device'
errors.

This adds cleanup steps that remove unnecessary toolchains before
building:
- .NET SDK (~1-2 GB)
- Android SDK (~10+ GB)
- GHC (Haskell) (~1 GB)
- CodeQL tools (~5 GB)
- Unused Docker images

This typically frees up 20-30 GB of space, which should be sufficient
for multi-platform builds.
2025-10-18 14:14:48 -03:00
LUIS NOVO
3a28e2d383 fix: correct GHCR registry parameter in login step
The registry parameter was referencing env.GHCR_REGISTRY which no longer
exists after switching to hardcoded image names. This caused the login
to default to Docker Hub instead of GHCR, resulting in authentication
failures with GITHUB_TOKEN.

Now explicitly uses 'ghcr.io' as the registry parameter.
2025-10-18 13:38:08 -03:00
LUIS NOVO
21181aa0be fix: use hardcoded image names in build workflow
Replaces dynamic image name determination with hardcoded values:
- GHCR: ghcr.io/lfnovo/open-notebook
- Docker Hub: lfnovo/open_notebook

This fixes the issue where dynamic name parsing was creating empty
image names, resulting in invalid Docker tags like ":1.0.0-single".

Changes:
- Remove complex repository name parsing logic
- Hardcode image names in workflow env section
- Add tag preparation steps that build comma-separated tag lists
- Properly handle empty push_latest input for release events

Related to PR #163
2025-10-18 13:31:30 -03:00
Luis Novo
f2e153b230
Add GitHub Container Registry (GHCR) support (#163)
* Add GHCR support with conditional Docker Hub publishing

This commit enhances the CI/CD pipeline to support both GitHub Container
Registry (GHCR) and Docker Hub, with Docker Hub being optional based on
the presence of credentials.

Changes:
- Add GHCR as the primary container registry
- Make Docker Hub publishing conditional on DOCKER_USERNAME and DOCKER_PASSWORD secrets
- Dynamically determine image names from repository owner/name (e.g., aperim/open-notebook)
- Images are pushed to:
  * GHCR: ghcr.io/{owner}/{repo}:{version|latest}
  * Docker Hub (if credentials available): {owner}/{repo}:{version|latest}
- Update build summary to show which registries were used

Benefits:
- Forks can build and publish to GHCR without Docker Hub credentials
- Original repo can continue publishing to both registries
- Image names automatically match the repository structure
- More flexible deployment options for contributors

Technical Details:
- Added extract-version job outputs: ghcr_image, dockerhub_image, has_dockerhub_secrets
- Added GHCR login step using GITHUB_TOKEN (always runs)
- Made Docker Hub login conditional on has_dockerhub_secrets flag
- Updated image tags to use dynamic repository-based names
- Enhanced build summary to show registry usage

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Add GITHUB_TOKEN permissions for GHCR publishing

The workflow needs 'packages: write' permission to push images to GitHub
Container Registry (GHCR).

Permissions added:
- contents: read (required for checkout)
- packages: write (required for GHCR push)

Without these permissions, the docker login and push to ghcr.io would fail
with a 403 Forbidden error.

---------

Co-authored-by: Troy Kelly <troy@aperim.com>
Co-authored-by: Claude <noreply@anthropic.com>
2025-10-18 13:07:15 -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
3bb691d0b8 chore: configurable latest push 2025-07-17 11:11:47 -03:00
Luis Novo
3b2ced54e2
fix environment variable error and enable docker build automation (#94)
* chore: fix database import error

* remove unused file and improve env example

* docker build automation
2025-07-17 09:54:28 -03:00