Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
a970e5a
fix(#173): use Id ?? RowKey for checking and opening offline post HTM…
fboucher-os Aug 8, 2026
a5d25a2
feat(#176): add sync progress bar and status updates for downloading …
fboucher-os Aug 8, 2026
2c97bd1
should have done that long ago
fboucher-os Aug 11, 2026
2677eb1
fix: resolve Android MAUI app crash when opening URLs (issue #177) (#…
fboucher-os Aug 13, 2026
1acc7d6
feat: add up/down reordering for categories and notes in summary edit…
fboucher-os Aug 15, 2026
007a4d4
feat: add text size slider and fix text wrapping on offline reader pa…
fboucher-os Aug 15, 2026
5077f44
bumb version
fboucher-os Aug 15, 2026
ff8ecd1
feat: implement async background post content extraction to save HTML…
fboucher Aug 15, 2026
aaa3880
feat: improve sync html download, always display read post button, an…
fboucher-os Aug 15, 2026
369139c
feat: configure protected Azure Function Parser API and key propagati…
fboucher Aug 15, 2026
5a65b09
Merge branch 'main' into feature/resolve-pr-188-conflicts
fboucher-os Aug 15, 2026
c8afa57
update missing env variable
fboucher-os Aug 16, 2026
7726e97
fix
fboucher-os Aug 16, 2026
6018801
chore: bump version to 1.4.1
fboucher-os Aug 16, 2026
1b28a01
Merge branch 'main' into v-next
fboucher Aug 16, 2026
be83109
fix(#190): update actions/cache to v5 for Node.js 24 compatibility in…
fboucher-os Sep 5, 2026
ae568c8
Update version to 1.4.2, add sync progress tracking, and reader page …
fboucher-os Sep 5, 2026
322848d
ci: include version in android apk filename (#193)
fboucher Sep 5, 2026
6c944fa
Merge branch 'main' into v-next
fboucher Sep 5, 2026
305d527
Fix document sync stuck and improve sync progress and offline fallbac…
fboucher-os Sep 19, 2026
d51dd46
fix: constrain reader text size slider and add step buttons (fixes #1…
fboucher-os Sep 19, 2026
239cbc9
feat: Add markdown saving for reading notes and bump version to 1.4.3
fboucher-os Sep 19, 2026
47f9e59
feat: add MAUI storage tab (#200)
fboucher-os Sep 19, 2026
9d76219
chore: bump application version to 1.4.3 (#201)
fboucher-os Sep 19, 2026
bce656e
Merge branch 'main' into v-next
fboucher Sep 19, 2026
34548d0
fix(ci): fix timeout and rate limit failures in OpenCode Daily Triage…
fboucher-os Sep 20, 2026
39e20c8
feat(ui): add dedicated quickadd popup and MinimalLayout for bookmark…
fboucher-os Sep 20, 2026
73a2d76
Speed up MAUI app sync (#208) (#209)
fboucher Sep 30, 2026
a00be97
chore: bump application version to 1.4.4
fboucher-os Sep 30, 2026
98441ef
Merge branch 'main' into v-next
fboucher-os Sep 30, 2026
0af4ab2
Fix bookmarklet saving the same post twice (#211) (#212)
fboucher Oct 4, 2026
d4f75a8
Add offline news and updates to home page (#214)
fboucher-os Oct 24, 2026
3e59141
Merge branch 'main' into v-next
claude Oct 25, 2026
4cdf4ab
Add workflow to check versions match release tag (#218)
fboucher Oct 26, 2026
695925f
Read news feed from main branch (#221) (#222)
fboucher Oct 27, 2026
3b4a37e
doc: document AI provider configuration (#216) (#223)
fboucher Oct 27, 2026
1316fa8
feat(web-app): add News & Updates section to Blazor home page (#219) …
fboucher-os Oct 27, 2026
84ca807
chore: bump application version to 1.4.6 (#225)
fboucher-os Oct 27, 2026
c2b25f5
Merge branch 'main' into v-next
fboucher Oct 27, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletions .env-sample
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,12 @@ KEYCLOAK_CLIENT_SECRET=replace-with-client-secret
# Optional
# Keycloak__RequireHttpsMetadata=false

# AI
REKA_API_KEY=replace-with-reka-api-key
# AI (any OpenAI-compatible provider, see docs/ai-provider-setup.md)
# Base URL must end at /v1, without /chat/completions.
AI_API_KEY=replace-with-your-ai-api-key
AI_BASE_URL=https://openrouter.ai/api/v1
AI_MODEL_NAME=mistralai/mistral-small-3.2-24b-instruct
# Older setups can keep using REKA_API_KEY instead of AI_API_KEY.

# Parser
PARSER_BASE_URL=https://...azurewebsites.net/api/parser
Expand Down
72 changes: 72 additions & 0 deletions .github/workflows/check-release-version.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
name: Check Release Version

# Fails when the version numbers in the project files don't match the release tag.
# Reminder to bump versions before tagging a release.

on:
push:
tags:
- 'v*'
release:
types: [published]
workflow_dispatch:
inputs:
tag:
description: 'Tag to check against (e.g. v1.4.5)'
required: true

permissions:
contents: read

jobs:
check-version:
runs-on: ubuntu-latest
name: Versions match tag

steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
# Manual runs inspect the requested tag; automatic runs keep the event's commit
ref: ${{ github.event.inputs.tag || '' }}

- name: Compare versions to tag
env:
TAG: ${{ github.event.inputs.tag || github.event.release.tag_name || github.ref_name }}
run: |
EXPECTED="${TAG#v}"
echo "Release tag: $TAG (expected version: $EXPECTED)"
echo

# file|element pairs to check
CHECKS=(
"Directory.Build.props|Version"
"src/NoteBookmark.BlazorApp/NoteBookmark.BlazorApp.csproj|Version"
"src/NoteBookmark.MauiApp/NoteBookmark.MauiApp.csproj|Version"
"src/NoteBookmark.MauiApp/NoteBookmark.MauiApp.csproj|ApplicationDisplayVersion"
)

FAILED=0
for check in "${CHECKS[@]}"; do
FILE="${check%%|*}"
ELEMENT="${check##*|}"
ACTUAL=$(grep -oPm1 "(?<=<${ELEMENT}>)[^<]+" "$FILE" || true)

if [ -z "$ACTUAL" ]; then
echo "::error file=$FILE::<$ELEMENT> not found in $FILE"
FAILED=1
elif [ "$ACTUAL" != "$EXPECTED" ]; then
echo "::error file=$FILE::<$ELEMENT> is $ACTUAL but the tag is $TAG"
echo "❌ $FILE <$ELEMENT> = $ACTUAL"
FAILED=1
else
echo "✅ $FILE <$ELEMENT> = $ACTUAL"
fi
done

echo
if [ "$FAILED" -ne 0 ]; then
echo "Version mismatch: update the files above to $EXPECTED before releasing $TAG."
exit 1
fi
echo "All versions match $TAG."
2 changes: 1 addition & 1 deletion Directory.Build.props
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<Project>
<PropertyGroup>
<Version>1.4.4</Version>
<Version>1.4.6</Version>
<TargetFramework>net10.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
Expand Down
147 changes: 74 additions & 73 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,73 +1,74 @@
# Note Bookmark

![GitHub Release](https://img.shields.io/github/v/release/fboucher/NoteBookmark) ![.NET](https://img.shields.io/badge/10.0-512BD4?logo=dotnet&logoColor=fff) ![MAUI](https://img.shields.io/badge/MAUI-10.0-gray?logo=dotnet&logoColor=white&labelColor=512BD4) ![Android Supported](https://img.shields.io/badge/Android-supported-3DDC84?logo=android&logoColor=white) [![Unit Tests](https://github.com/FBoucher/NoteBookmark/actions/workflows/running-unit-tests.yml/badge.svg)](https://github.com/FBoucher/NoteBookmark/actions/workflows/running-unit-tests.yml)
[![OpenAI Compatible](https://img.shields.io/badge/OpenAI-Compatible-10a37f?logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyByb2xlPSJpbWciIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48dGl0bGU%2BT3BlbkFJPC90aXRsZT48cGF0aCBmaWxsPSJ3aGl0ZSIgZD0iTTIyLjI4MTkgOS44MjExYTUuOTg0NyA1Ljk4NDcgMCAwIDAtLjUxNTctNC45MTA4IDYuMDQ2MiA2LjA0NjIgMCAwIDAtNi41MDk4LTIuOUE2LjA2NTEgNi4wNjUxIDAgMCAwIDQuOTgwNyA0LjE4MThhNS45ODQ3IDUuOTg0NyAwIDAgMC0zLjk5NzcgMi45IDYuMDQ2MiA2LjA0NjIgMCAwIDAgLjc0MjcgNy4wOTY2IDUuOTggNS45OCAwIDAgMCAuNTExIDQuOTEwNyA2LjA1MSA2LjA1MSAwIDAgMCA2LjUxNDYgMi45MDAxQTUuOTg0NyA1Ljk4NDcgMCAwIDAgMTMuMjU5OSAyNGE2LjA1NTcgNi4wNTU3IDAgMCAwIDUuNzcxOC00LjIwNTggNS45ODk0IDUuOTg5NCAwIDAgMCAzLjk5NzctMi45MDAxIDYuMDU1NyA2LjA1NTcgMCAwIDAtLjc0NzUtNy4wNzI5em0tOS4wMjIgMTIuNjA4MWE0LjQ3NTUgNC40NzU1IDAgMCAxLTIuODc2NC0xLjA0MDhsLjE0MTktLjA4MDQgNC43NzgzLTIuNzU4MmEuNzk0OC43OTQ4IDAgMCAwIC4zOTI3LS42ODEzdi02LjczNjlsMi4wMiAxLjE2ODZhLjA3MS4wNzEgMCAwIDEgLjAzOC4wNTJ2NS41ODI2YTQuNTA0IDQuNTA0IDAgMCAxLTQuNDk0NSA0LjQ5NDR6bS05LjY2MDctNC4xMjU0YTQuNDcwOCA0LjQ3MDggMCAwIDEtLjUzNDYtMy4wMTM3bC4xNDIuMDg1MiA0Ljc4MyAyLjc1ODJhLjc3MTIuNzcxMiAwIDAgMCAuNzgwNiAwbDUuODQyOC0zLjM2ODV2Mi4zMzI0YS4wODA0LjA4MDQgMCAwIDEtLjAzMzIuMDYxNUw5Ljc0IDE5Ljk1MDJhNC40OTkyIDQuNDk5MiAwIDAgMS02LjE0MDgtMS42NDY0ek0yLjM0MDggNy44OTU2YTQuNDg1IDQuNDg1IDAgMCAxIDIuMzY1NS0xLjk3MjhWMTEuNmEuNzY2NC43NjY0IDAgMCAwIC4zODc5LjY3NjVsNS44MTQ0IDMuMzU0My0yLjAyMDEgMS4xNjg1YS4wNzU3LjA3NTcgMCAwIDEtLjA3MSAwbC00LjgzMDMtMi43ODY1QTQuNTA0IDQuNTA0IDAgMCAxIDIuMzQwOCA3Ljg3MnptMTYuNTk2MyAzLjg1NThMMTMuMTAzOCA4LjM2NCAxNS4xMTkyIDcuMmEuMDc1Ny4wNzU3IDAgMCAxIC4wNzEgMGw0LjgzMDMgMi43OTEzYTQuNDk0NCA0LjQ5NDQgMCAwIDEtLjY3NjUgOC4xMDQydi01LjY3NzJhLjc5Ljc5IDAgMCAwLS40MDctLjY2N3ptMi4wMTA3LTMuMDIzMWwtLjE0Mi0uMDg1Mi00Ljc3MzUtMi43ODE4YS43NzU5Ljc3NTkgMCAwIDAtLjc4NTQgMEw5LjQwOSA5LjIyOTdWNi44OTc0YS4wNjYyLjA2NjIgMCAwIDEgLjAyODQtLjA2MTVsNC44MzAzLTIuNzg2NmE0LjQ5OTIgNC40OTkyIDAgMCAxIDYuNjgwMiA0LjY2ek04LjMwNjUgMTIuODYzbC0yLjAyLTEuMTYzOGEuMDgwNC4wODA0IDAgMCAxLS4wMzgtLjA1NjdWNi4wNzQyYTQuNDk5MiA0LjQ5OTIgMCAwIDEgNy4zNzU3LTMuNDUzN2wtLjE0Mi4wODA1TDguNzA0IDUuNDU5YS43OTQ4Ljc5NDggMCAwIDAtLjM5MjcuNjgxM3ptMS4wOTc2LTIuMzY1NGwyLjYwMi0xLjQ5OTggMi42MDY5IDEuNDk5OHYyLjk5OTRsLTIuNTk3NCAxLjQ5OTctMi42MDY3LTEuNDk5N1oiLz48L3N2Zz4%3D)](https://developers.openai.com/)




I use this project mostly everyday. I build it to help me collecting my thoughts about articles, and blob posts I read during the week and then aggregate them in a #ReadingNotes blog post. You can find those post on my blog [here](https://frankysnotes.com).

NoteBookmark is composed of three main sections:

- **Post**: where you can manage a posts "to read", and add notes to them.
- **Generate Summary**: where you can generate a summary of the posts you read.
- **Summaries**: where you can see all the summaries you generated.

![Slide show of all NoteBookmark Screens](gh/images/NoteBookmark-Tour_hd.gif)

## Run Options

- Development: running the Aspire project is the easiest path and everything is wired automatically.
- Production-style: run with containers and deploy to Azure.

Run locally with Aspire:

```bash
dotnet run --project src/NoteBookmark.AppHost
```

## How to deploy Your own NoteBookmark

### Get the code on your machine

- Fork this repository to your account.
- Clone the repository to your local machine.


### Deploy the solution (5 mins)

Using Azure Developer CLI let's initialize your environment. In a terminal, at the root of the project, run the following command. When ask give it a name (ex: NoteBookmark-dev).

```bash
azd init
```

Now let's deploy the solution. Run the following command in the terminal. You will have to select your Azure subscription where you want to deploy the solution, and a location (ex: eastus).

```bash
azd up
```

It should take around five minutes to deploy the solution. Once it's done, you will see the URL for **Deploying service blazor-app**.

### Secure the App in a few clicks

The app is now deployed, but it's not secure. Navigate to the Azure Portal, and find the Resource Group you just deployed (ex: rg-notebookmark-dev). In this resource group, open the Container App **Container App**. From the left menu, select **Authentication** and click the **Add identity provider**.

You can choose between multiple providers, I like to use Microsoft since it's deploy in Azure and I'm already logged in. If Microsoft is choose, select the recomended **Client secret expiration** (ex: 180 days). You can keep all the other default settings. Click **Add**.

Next time you will navigate to the app, you will be prompt a to login with your Microsoft account. The first time you will have a **Permissions requested** screen, click **Accept**.

Voila! Your app is now secure.

## Documentation

For detailed setup guides and configuration information:
- [Keycloak Container Setup](/docs/keycloak-container-setup.md) - Start a local Keycloak instance if you do not already have one
- [Keycloak Authentication Setup](/docs/keycloak-setup.md) - Complete guide for setting up Keycloak authentication
- [Docker Compose Deployment](/docs/docker-compose-deployment.md) - Deploy NoteBookmark containers (assumes a healthy Keycloak + configured realm)

## Contributing

Your contributions are welcome! Take a look at [CONTRIBUTING](/CONTRIBUTING.md) for details.
# Note Bookmark

![GitHub Release](https://img.shields.io/github/v/release/fboucher/NoteBookmark) ![.NET](https://img.shields.io/badge/10.0-512BD4?logo=dotnet&logoColor=fff) ![MAUI](https://img.shields.io/badge/MAUI-10.0-gray?logo=dotnet&logoColor=white&labelColor=512BD4) ![Android Supported](https://img.shields.io/badge/Android-supported-3DDC84?logo=android&logoColor=white) [![Unit Tests](https://github.com/FBoucher/NoteBookmark/actions/workflows/running-unit-tests.yml/badge.svg)](https://github.com/FBoucher/NoteBookmark/actions/workflows/running-unit-tests.yml)
[![OpenAI Compatible](https://img.shields.io/badge/OpenAI-Compatible-10a37f?logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyByb2xlPSJpbWciIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48dGl0bGU%2BT3BlbkFJPC90aXRsZT48cGF0aCBmaWxsPSJ3aGl0ZSIgZD0iTTIyLjI4MTkgOS44MjExYTUuOTg0NyA1Ljk4NDcgMCAwIDAtLjUxNTctNC45MTA4IDYuMDQ2MiA2LjA0NjIgMCAwIDAtNi41MDk4LTIuOUE2LjA2NTEgNi4wNjUxIDAgMCAwIDQuOTgwNyA0LjE4MThhNS45ODQ3IDUuOTg0NyAwIDAgMC0zLjk5NzcgMi45IDYuMDQ2MiA2LjA0NjIgMCAwIDAgLjc0MjcgNy4wOTY2IDUuOTggNS45OCAwIDAgMCAuNTExIDQuOTEwNyA2LjA1MSA2LjA1MSAwIDAgMCA2LjUxNDYgMi45MDAxQTUuOTg0NyA1Ljk4NDcgMCAwIDAgMTMuMjU5OSAyNGE2LjA1NTcgNi4wNTU3IDAgMCAwIDUuNzcxOC00LjIwNTggNS45ODk0IDUuOTg5NCAwIDAgMCAzLjk5NzctMi45MDAxIDYuMDU1NyA2LjA1NTcgMCAwIDAtLjc0NzUtNy4wNzI5em0tOS4wMjIgMTIuNjA4MWE0LjQ3NTUgNC40NzU1IDAgMCAxLTIuODc2NC0xLjA0MDhsLjE0MTktLjA4MDQgNC43NzgzLTIuNzU4MmEuNzk0OC43OTQ4IDAgMCAwIC4zOTI3LS42ODEzdi02LjczNjlsMi4wMiAxLjE2ODZhLjA3MS4wNzEgMCAwIDEgLjAzOC4wNTJ2NS41ODI2YTQuNTA0IDQuNTA0IDAgMCAxLTQuNDk0NSA0LjQ5NDR6bS05LjY2MDctNC4xMjU0YTQuNDcwOCA0LjQ3MDggMCAwIDEtLjUzNDYtMy4wMTM3bC4xNDIuMDg1MiA0Ljc4MyAyLjc1ODJhLjc3MTIuNzcxMiAwIDAgMCAuNzgwNiAwbDUuODQyOC0zLjM2ODV2Mi4zMzI0YS4wODA0LjA4MDQgMCAwIDEtLjAzMzIuMDYxNUw5Ljc0IDE5Ljk1MDJhNC40OTkyIDQuNDk5MiAwIDAgMS02LjE0MDgtMS42NDY0ek0yLjM0MDggNy44OTU2YTQuNDg1IDQuNDg1IDAgMCAxIDIuMzY1NS0xLjk3MjhWMTEuNmEuNzY2NC43NjY0IDAgMCAwIC4zODc5LjY3NjVsNS44MTQ0IDMuMzU0My0yLjAyMDEgMS4xNjg1YS4wNzU3LjA3NTcgMCAwIDEtLjA3MSAwbC00LjgzMDMtMi43ODY1QTQuNTA0IDQuNTA0IDAgMCAxIDIuMzQwOCA3Ljg3MnptMTYuNTk2MyAzLjg1NThMMTMuMTAzOCA4LjM2NCAxNS4xMTkyIDcuMmEuMDc1Ny4wNzU3IDAgMCAxIC4wNzEgMGw0LjgzMDMgMi43OTEzYTQuNDk0NCA0LjQ5NDQgMCAwIDEtLjY3NjUgOC4xMDQydi01LjY3NzJhLjc5Ljc5IDAgMCAwLS40MDctLjY2N3ptMi4wMTA3LTMuMDIzMWwtLjE0Mi0uMDg1Mi00Ljc3MzUtMi43ODE4YS43NzU5Ljc3NTkgMCAwIDAtLjc4NTQgMEw5LjQwOSA5LjIyOTdWNi44OTc0YS4wNjYyLjA2NjIgMCAwIDEgLjAyODQtLjA2MTVsNC44MzAzLTIuNzg2NmE0LjQ5OTIgNC40OTkyIDAgMCAxIDYuNjgwMiA0LjY2ek04LjMwNjUgMTIuODYzbC0yLjAyLTEuMTYzOGEuMDgwNC4wODA0IDAgMCAxLS4wMzgtLjA1NjdWNi4wNzQyYTQuNDk5MiA0LjQ5OTIgMCAwIDEgNy4zNzU3LTMuNDUzN2wtLjE0Mi4wODA1TDguNzA0IDUuNDU5YS43OTQ4Ljc5NDggMCAwIDAtLjM5MjcuNjgxM3ptMS4wOTc2LTIuMzY1NGwyLjYwMi0xLjQ5OTggMi42MDY5IDEuNDk5OHYyLjk5OTRsLTIuNTk3NCAxLjQ5OTctMi42MDY3LTEuNDk5N1oiLz48L3N2Zz4%3D)](https://developers.openai.com/)




I use this project mostly everyday. I build it to help me collecting my thoughts about articles, and blob posts I read during the week and then aggregate them in a #ReadingNotes blog post. You can find those post on my blog [here](https://frankysnotes.com).

NoteBookmark is composed of three main sections:

- **Post**: where you can manage a posts "to read", and add notes to them.
- **Generate Summary**: where you can generate a summary of the posts you read.
- **Summaries**: where you can see all the summaries you generated.

![Slide show of all NoteBookmark Screens](gh/images/NoteBookmark-Tour_hd.gif)

## Run Options

- Development: running the Aspire project is the easiest path and everything is wired automatically.
- Production-style: run with containers and deploy to Azure.

Run locally with Aspire:

```bash
dotnet run --project src/NoteBookmark.AppHost
```

## How to deploy Your own NoteBookmark

### Get the code on your machine

- Fork this repository to your account.
- Clone the repository to your local machine.


### Deploy the solution (5 mins)

Using Azure Developer CLI let's initialize your environment. In a terminal, at the root of the project, run the following command. When ask give it a name (ex: NoteBookmark-dev).

```bash
azd init
```

Now let's deploy the solution. Run the following command in the terminal. You will have to select your Azure subscription where you want to deploy the solution, and a location (ex: eastus).

```bash
azd up
```

It should take around five minutes to deploy the solution. Once it's done, you will see the URL for **Deploying service blazor-app**.

### Secure the App in a few clicks

The app is now deployed, but it's not secure. Navigate to the Azure Portal, and find the Resource Group you just deployed (ex: rg-notebookmark-dev). In this resource group, open the Container App **Container App**. From the left menu, select **Authentication** and click the **Add identity provider**.

You can choose between multiple providers, I like to use Microsoft since it's deploy in Azure and I'm already logged in. If Microsoft is choose, select the recomended **Client secret expiration** (ex: 180 days). You can keep all the other default settings. Click **Add**.

Next time you will navigate to the app, you will be prompt a to login with your Microsoft account. The first time you will have a **Permissions requested** screen, click **Accept**.

Voila! Your app is now secure.

## Documentation

For detailed setup guides and configuration information:
- [Keycloak Container Setup](/docs/keycloak-container-setup.md) - Start a local Keycloak instance if you do not already have one
- [Keycloak Authentication Setup](/docs/keycloak-setup.md) - Complete guide for setting up Keycloak authentication
- [Docker Compose Deployment](/docs/docker-compose-deployment.md) - Deploy NoteBookmark containers (assumes a healthy Keycloak + configured realm)
- [AI Provider Setup](/docs/ai-provider-setup.md) - Configure the AI provider (API key, Base URL, model) with OpenCode, OpenRouter or Ollama examples

## Contributing

Your contributions are welcome! Take a look at [CONTRIBUTING](/CONTRIBUTING.md) for details.
4 changes: 3 additions & 1 deletion docker-compose/note-compose.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,9 @@ services:
services__keycloak__http__0: "http://keycloak:8080"
ConnectionStrings__nb-tables: ${NB_STORAGE_OUTPUTS_TABLEENDPOINT}
ConnectionStrings__nb-blobs: ${NB_STORAGE_OUTPUTS_BLOBENDPOINT}
REKA_API_KEY: ${REKA_API_KEY}
AppSettings__AiApiKey: ${AI_API_KEY:-${REKA_API_KEY:-}}
AppSettings__AiBaseUrl: ${AI_BASE_URL:-}
AppSettings__AiModelName: ${AI_MODEL_NAME:-}
Keycloak__Authority: ${KEYCLOAK_AUTHORITY}
Keycloak__ClientId: ${KEYCLOAK_CLIENT_ID}
Keycloak__ClientSecret: ${KEYCLOAK_CLIENT_SECRET}
Expand Down
Loading
Loading