Repository navigation
docs(docker): one core with two entries, one CUDA variant, and sign-ins for the Docker image - #2346
Merged
Merged
Conversation
…UDA variant The Docker proposal moves the supervisor and runtime staging out of electron/ into sidecars/ and runtimes/, adds the headless entry in headless/, and puts the image in docker/surfsense/ built from the repo root. latest moves when the GitHub release is published. The GPU image is -cuda on CUDA 12.8, with -cuda13 later for arm64, and each runtime keeps one source shared with the desktop. ADR 0072 and 0073 record the layout and the variants; 0073 supersedes 0035's CUDA variant names. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The Docker proposal maps the container's networks and says why Caddy is the one listener. The GPU proposal closes its driver question: -cuda needs 570.26 on Linux and 570.65 on Windows, kept beside the llama.cpp pin and enforced by the installer, NVIDIA_REQUIRE_CUDA and the GPU check. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The user installs Claude Code in the container and signs in there; HOME on /data keeps both across updates. The Claude dialog shows the container's commands when the API reports it runs in Docker. Closes the proposal's question about the claude CLI. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Every OAuth callback returns to the origin the user's browser is on. Plugins, Notion included, try a CIMD client, then DCR, then the user's own app, then paste-back; ChatGPT follows the rule as far as OpenAI's client allows. Access from another machine takes HTTPS. Closes the proposal's last open question. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
@AnishSarkar22 is attempting to deploy a commit to the Rohan Verma's projects Team on Vercel. A member of the Team first needs to authorize it. |
|
Caution Review failedThe pull request is closed. Finishing Touches
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Updates the Docker proposal and GPU images with the decisions made before building steps 4 to 14. Docs only; no code changes.
Layout: one core, two entries (ADR 0072)
surfsense_local/becomes a shared core (backend/,frontend/,sidecars/,runtimes/) with two entries:electron/for the desktop andheadless/for the container.electron/src/main/sidecars/,net.ts, the session log) moves tosidecars/. A test fails on anyelectronimport there.electron/scripts/toruntimes/, which gains a target and a variant. With neither, it stages the desktop's build as today, so installers don't change.docker/surfsense/(one folder per image, likedocker/keygen/), built from the repo root.release-local.ymldry run.The headless entry
HF_HUB_OFFLINE,SURFSENSE_LOCAL_RUNTIME=dockerandHOME=/data/home.SURFSENSE_LOCAL_SIGNED_REGISTRYswitch makes the venv backend read the signed plugin registry.Releases
VERSIONandvX.Y.Ztag as the desktop.X.Y.Z.latestmoves only when the GitHub release is published, as a retag, so the desktop and the image go live together.latest.GPU (ADR 0073, which supersedes ADR 0035's CUDA variant names)
-cuda(CUDA 12.8, amd64).-cuda13follows with arm64, and-cuda126is dropped: it existed for GPU torch, which the new stack doesn't use.cpuandcudavariants;NVIDIA_REQUIRE_CUDAand the no-GPU check.Networking, Caddy and sign-ins
The legacy-split proposal's Docker references follow the new folder and workflow names.
Why
The proposal was written before the legacy split, before opencode and the third worker, and before any GPU detail was checked against upstream. Building from it as it stood would have hit a Vulkan-only staging script, the wrong build context, an unsigned plugin registry and sign-ins that can't reach a container. The proposal now matches the code, and the open questions are closed or listed under "To verify while building".
Fixes # (none; updates the proposal tracked in #2100)
How to test
python scripts/check_docs.pyreports 0 problems.gpu.mdand ADRs 0072 and 0073.Step 4 builds on the headless-entry patch on #2104; I'll coordinate with its assignee there before moving any code.
🤖 Generated with Claude Code
High-level PR Summary
This PR updates the Docker and GPU documentation to reflect architectural decisions made before implementation. It establishes a one core, two entries architecture where
surfsense_local/becomes a shared core withelectron/for desktop andheadless/for containers, moves the supervisor and staging scripts out ofelectron/into shared folders, consolidates to a single CUDA 12.8 variant (-cuda) sourcing runtimes from upstream builds, and documents the sign-in flows, networking model, and release strategy where the Docker image ships alongside the desktop with synchronized versioning.⏱️ Estimated Review Time: 15-30 minutes
💡 Review Order Suggestion
docs/adr/0072-the-desktop-and-the-container-are-two-entries-over-one-core.mddocs/adr/0073-the-docker-gpu-image-is-one-cuda-12-8-variant-from-upstream-builds.mddocs/proposals/docker/README.mddocs/proposals/docker/gpu.mddocs/adr/0035-docker-compose-runs-the-desktop-stack.mddocs/adr/README.mddocs/proposals/legacy-split/README.md