From 21c98f726e9a1418769bb220e7095a66dd26bcb0 Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Sat, 17 Jan 2026 08:45:50 +0000 Subject: [PATCH 1/8] Upgrade Node.js to v22 and enable HTTP proxy support - Upgrade base Node.js image from v20 to v22-alpine3.20 - Upgrade Alpine from 3.19 to 3.20 for both Node and Go base images - Add NODE_USE_ENV_PROXY=1 environment variable to enable automatic proxy configuration - Document HTTP proxy environment variables (HTTP_PROXY, HTTPS_PROXY, NO_PROXY) This enables Sourcebot to work in enterprise environments that require HTTP/HTTPS proxies for external access. Node.js v22 natively supports proxy configuration via environment variables when NODE_USE_ENV_PROXY is enabled. Co-authored-by: brendan --- Dockerfile | 5 +++-- docs/docs/configuration/environment-variables.mdx | 8 ++++++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 5ea04e1b4..c63ae31e6 100644 --- a/Dockerfile +++ b/Dockerfile @@ -15,8 +15,8 @@ ARG NEXT_PUBLIC_SENTRY_BACKEND_DSN ARG NEXT_PUBLIC_LANGFUSE_PUBLIC_KEY ARG NEXT_PUBLIC_LANGFUSE_BASE_URL -FROM node:20-alpine3.19 AS node-alpine -FROM golang:1.23.4-alpine3.19 AS go-alpine +FROM node:22-alpine3.20 AS node-alpine +FROM golang:1.23.4-alpine3.20 AS go-alpine # ---------------------------------- # ------ Build Zoekt ------ @@ -159,6 +159,7 @@ ENV NEXT_PUBLIC_LANGFUSE_BASE_URL=$NEXT_PUBLIC_LANGFUSE_BASE_URL WORKDIR /app ENV NODE_ENV=production ENV NEXT_TELEMETRY_DISABLED=1 +ENV NODE_USE_ENV_PROXY=1 ENV DATA_DIR=/data ENV DATA_CACHE_DIR=$DATA_DIR/.sourcebot ENV DATABASE_DATA_DIR=$DATA_CACHE_DIR/db diff --git a/docs/docs/configuration/environment-variables.mdx b/docs/docs/configuration/environment-variables.mdx index e29fb88fc..4be51ca12 100644 --- a/docs/docs/configuration/environment-variables.mdx +++ b/docs/docs/configuration/environment-variables.mdx @@ -37,6 +37,14 @@ The following environment variables allow you to configure your Sourcebot deploy | `DEFAULT_MAX_MATCH_COUNT` | `10000` |

The default maximum number of search results to return when using search in the web app.

| | `ALWAYS_INDEX_FILE_PATTERNS` | - |

A comma separated list of glob patterns matching file paths that should always be indexed, regardless of size or number of trigrams.

| +### HTTP Proxy Configuration +|| Variable | Default | Description | +|| :------- | :------ | :---------- | +|| `HTTP_PROXY` | - |

HTTP proxy URL for routing non-SSL requests through a proxy server (e.g., `http://proxy.company.com:8080`). Requires Node.js to be configured with `NODE_USE_ENV_PROXY=1`.

| +|| `HTTPS_PROXY` | - |

HTTPS proxy URL for routing SSL requests through a proxy server (e.g., `http://proxy.company.com:8080`). Requires Node.js to be configured with `NODE_USE_ENV_PROXY=1`.

| +|| `NO_PROXY` | - |

Comma-separated list of hostnames or domains that should bypass the proxy (e.g., `localhost,127.0.0.1,.internal.domain`). Requires Node.js to be configured with `NODE_USE_ENV_PROXY=1`.

| +|| `NODE_USE_ENV_PROXY` | `1` |

Enables Node.js to automatically use `HTTP_PROXY`, `HTTPS_PROXY`, and `NO_PROXY` environment variables for network requests. Set to `1` to enable or `0` to disable.

| + ### Enterprise Environment Variables | Variable | Default | Description | | :------- | :------ | :---------- | From a3c8c79ca0cdfe75a772530dee9ea2db6de6377b Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Mon, 19 Jan 2026 23:34:15 +0000 Subject: [PATCH 2/8] fix: correct Markdown table syntax in HTTP proxy documentation Co-authored-by: brendan --- docs/docs/configuration/environment-variables.mdx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/docs/configuration/environment-variables.mdx b/docs/docs/configuration/environment-variables.mdx index 4be51ca12..b740711a3 100644 --- a/docs/docs/configuration/environment-variables.mdx +++ b/docs/docs/configuration/environment-variables.mdx @@ -38,12 +38,12 @@ The following environment variables allow you to configure your Sourcebot deploy | `ALWAYS_INDEX_FILE_PATTERNS` | - |

A comma separated list of glob patterns matching file paths that should always be indexed, regardless of size or number of trigrams.

| ### HTTP Proxy Configuration -|| Variable | Default | Description | -|| :------- | :------ | :---------- | -|| `HTTP_PROXY` | - |

HTTP proxy URL for routing non-SSL requests through a proxy server (e.g., `http://proxy.company.com:8080`). Requires Node.js to be configured with `NODE_USE_ENV_PROXY=1`.

| -|| `HTTPS_PROXY` | - |

HTTPS proxy URL for routing SSL requests through a proxy server (e.g., `http://proxy.company.com:8080`). Requires Node.js to be configured with `NODE_USE_ENV_PROXY=1`.

| -|| `NO_PROXY` | - |

Comma-separated list of hostnames or domains that should bypass the proxy (e.g., `localhost,127.0.0.1,.internal.domain`). Requires Node.js to be configured with `NODE_USE_ENV_PROXY=1`.

| -|| `NODE_USE_ENV_PROXY` | `1` |

Enables Node.js to automatically use `HTTP_PROXY`, `HTTPS_PROXY`, and `NO_PROXY` environment variables for network requests. Set to `1` to enable or `0` to disable.

| +| Variable | Default | Description | +| :------- | :------ | :---------- | +| `HTTP_PROXY` | - |

HTTP proxy URL for routing non-SSL requests through a proxy server (e.g., `http://proxy.company.com:8080`). Requires Node.js to be configured with `NODE_USE_ENV_PROXY=1`.

| +| `HTTPS_PROXY` | - |

HTTPS proxy URL for routing SSL requests through a proxy server (e.g., `http://proxy.company.com:8080`). Requires Node.js to be configured with `NODE_USE_ENV_PROXY=1`.

| +| `NO_PROXY` | - |

Comma-separated list of hostnames or domains that should bypass the proxy (e.g., `localhost,127.0.0.1,.internal.domain`). Requires Node.js to be configured with `NODE_USE_ENV_PROXY=1`.

| +| `NODE_USE_ENV_PROXY` | `1` |

Enables Node.js to automatically use `HTTP_PROXY`, `HTTPS_PROXY`, and `NO_PROXY` environment variables for network requests. Set to `1` to enable or `0` to disable.

| ### Enterprise Environment Variables | Variable | Default | Description | From 139d5f108192c3b0dac9976d83e31b0f5693eb6a Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Mon, 19 Jan 2026 23:34:16 +0000 Subject: [PATCH 3/8] fix: update Node.js base image to v22.21.0 for NODE_USE_ENV_PROXY support Co-authored-by: brendan --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index c63ae31e6..cf38c1e25 100644 --- a/Dockerfile +++ b/Dockerfile @@ -15,7 +15,7 @@ ARG NEXT_PUBLIC_SENTRY_BACKEND_DSN ARG NEXT_PUBLIC_LANGFUSE_PUBLIC_KEY ARG NEXT_PUBLIC_LANGFUSE_BASE_URL -FROM node:22-alpine3.20 AS node-alpine +FROM node:22.21.0-alpine3.20 AS node-alpine FROM golang:1.23.4-alpine3.20 AS go-alpine # ---------------------------------- From 2c35fea6632899982df961de103411ba9792458a Mon Sep 17 00:00:00 2001 From: bkellam Date: Mon, 19 Jan 2026 15:39:25 -0800 Subject: [PATCH 4/8] version bump --- Dockerfile | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Dockerfile b/Dockerfile index cf38c1e25..b2328953b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -15,8 +15,13 @@ ARG NEXT_PUBLIC_SENTRY_BACKEND_DSN ARG NEXT_PUBLIC_LANGFUSE_PUBLIC_KEY ARG NEXT_PUBLIC_LANGFUSE_BASE_URL +<<<<<<< Updated upstream FROM node:22.21.0-alpine3.20 AS node-alpine FROM golang:1.23.4-alpine3.20 AS go-alpine +======= +FROM node:24-alpine3.23 AS node-alpine +FROM golang:1.23.4-alpine3.19 AS go-alpine +>>>>>>> Stashed changes # ---------------------------------- # ------ Build Zoekt ------ From c22b91a6d097910de59ba848a47e710d411ddeec Mon Sep 17 00:00:00 2001 From: bkellam Date: Mon, 19 Jan 2026 15:41:52 -0800 Subject: [PATCH 5/8] fix merge conflict --- Dockerfile | 5 ----- 1 file changed, 5 deletions(-) diff --git a/Dockerfile b/Dockerfile index b2328953b..999d9ee13 100644 --- a/Dockerfile +++ b/Dockerfile @@ -15,13 +15,8 @@ ARG NEXT_PUBLIC_SENTRY_BACKEND_DSN ARG NEXT_PUBLIC_LANGFUSE_PUBLIC_KEY ARG NEXT_PUBLIC_LANGFUSE_BASE_URL -<<<<<<< Updated upstream -FROM node:22.21.0-alpine3.20 AS node-alpine -FROM golang:1.23.4-alpine3.20 AS go-alpine -======= FROM node:24-alpine3.23 AS node-alpine FROM golang:1.23.4-alpine3.19 AS go-alpine ->>>>>>> Stashed changes # ---------------------------------- # ------ Build Zoekt ------ From e1c14fab7ca6ed085dace0f0e36d89460e9b45c4 Mon Sep 17 00:00:00 2001 From: bkellam Date: Tue, 20 Jan 2026 10:14:14 -0800 Subject: [PATCH 6/8] update contributing.md --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index f5f58631b..781815671 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -2,7 +2,7 @@ >[!NOTE] > Building from source is only required if you'd like to contribute. The recommended way to use Sourcebot is to use the [pre-built docker image](https://github.com/sourcebot-dev/sourcebot/pkgs/container/sourcebot). -1. Install go, docker, and NodeJS. Note that a NodeJS version of at least `21.1.0` is required. +1. Install go, docker, and NodeJS. Note that a NodeJS version of at least `24` is required. 2. Install [ctags](https://github.com/universal-ctags/ctags) (required by zoekt) ```sh From f7467592c8ef29e7c724e7cff3ae5af4bca87df7 Mon Sep 17 00:00:00 2001 From: bkellam Date: Tue, 20 Jan 2026 11:35:19 -0800 Subject: [PATCH 7/8] docs --- Dockerfile | 1 - docs/docs/configuration/environment-variables.mdx | 12 ++++-------- 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/Dockerfile b/Dockerfile index 999d9ee13..c54576b8b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -159,7 +159,6 @@ ENV NEXT_PUBLIC_LANGFUSE_BASE_URL=$NEXT_PUBLIC_LANGFUSE_BASE_URL WORKDIR /app ENV NODE_ENV=production ENV NEXT_TELEMETRY_DISABLED=1 -ENV NODE_USE_ENV_PROXY=1 ENV DATA_DIR=/data ENV DATA_CACHE_DIR=$DATA_DIR/.sourcebot ENV DATABASE_DATA_DIR=$DATA_CACHE_DIR/db diff --git a/docs/docs/configuration/environment-variables.mdx b/docs/docs/configuration/environment-variables.mdx index b740711a3..a3b808731 100644 --- a/docs/docs/configuration/environment-variables.mdx +++ b/docs/docs/configuration/environment-variables.mdx @@ -36,14 +36,10 @@ The following environment variables allow you to configure your Sourcebot deploy | `SOURCEBOT_TELEMETRY_DISABLED` | `false` |

Enables/disables telemetry collection in Sourcebot. See [this doc](/docs/overview.mdx#telemetry) for more info.

| | `DEFAULT_MAX_MATCH_COUNT` | `10000` |

The default maximum number of search results to return when using search in the web app.

| | `ALWAYS_INDEX_FILE_PATTERNS` | - |

A comma separated list of glob patterns matching file paths that should always be indexed, regardless of size or number of trigrams.

| - -### HTTP Proxy Configuration -| Variable | Default | Description | -| :------- | :------ | :---------- | -| `HTTP_PROXY` | - |

HTTP proxy URL for routing non-SSL requests through a proxy server (e.g., `http://proxy.company.com:8080`). Requires Node.js to be configured with `NODE_USE_ENV_PROXY=1`.

| -| `HTTPS_PROXY` | - |

HTTPS proxy URL for routing SSL requests through a proxy server (e.g., `http://proxy.company.com:8080`). Requires Node.js to be configured with `NODE_USE_ENV_PROXY=1`.

| -| `NO_PROXY` | - |

Comma-separated list of hostnames or domains that should bypass the proxy (e.g., `localhost,127.0.0.1,.internal.domain`). Requires Node.js to be configured with `NODE_USE_ENV_PROXY=1`.

| -| `NODE_USE_ENV_PROXY` | `1` |

Enables Node.js to automatically use `HTTP_PROXY`, `HTTPS_PROXY`, and `NO_PROXY` environment variables for network requests. Set to `1` to enable or `0` to disable.

| +| `NODE_USE_ENV_PROXY` | `0` |

Enables Node.js to automatically use `HTTP_PROXY`, `HTTPS_PROXY`, and `NO_PROXY` environment variables for network requests. Set to `1` to enable or `0` to disable. See [this doc](https://nodejs.org/en/learn/http/enterprise-network-configuration) for more info.

| +| `HTTP_PROXY` | - |

HTTP proxy URL for routing non-SSL requests through a proxy server (e.g., `http://proxy.company.com:8080`). Requires `NODE_USE_ENV_PROXY=1`.

| +| `HTTPS_PROXY` | - |

HTTPS proxy URL for routing SSL requests through a proxy server (e.g., `http://proxy.company.com:8080`). Requires `NODE_USE_ENV_PROXY=1`.

| +| `NO_PROXY` | - |

Comma-separated list of hostnames or domains that should bypass the proxy (e.g., `localhost,127.0.0.1,.internal.domain`). Requires `NODE_USE_ENV_PROXY=1`.

| ### Enterprise Environment Variables | Variable | Default | Description | From e9f037d097e906076752fe34a81b193095bf0f96 Mon Sep 17 00:00:00 2001 From: bkellam Date: Tue, 20 Jan 2026 11:36:47 -0800 Subject: [PATCH 8/8] changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 80b877e50..fb80ecf0f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed - Bumped AI SDK and associated packages version. [#752](https://github.com/sourcebot-dev/sourcebot/pull/752) +- Bumped Node.js version to v24. [#753](https://github.com/sourcebot-dev/sourcebot/pull/753) ## [4.10.12] - 2026-01-16