Skip to content

Docker / Standalone deployment + Server mode improvements#13

Merged
matt1398 merged 3 commits intodevfrom
feat/docker-deployment
Feb 16, 2026
Merged

Docker / Standalone deployment + Server mode improvements#13
matt1398 merged 3 commits intodevfrom
feat/docker-deployment

Conversation

@matt1398
Copy link
Owner

@matt1398 matt1398 commented Feb 16, 2026

Summary

  • Standalone Node.js entry point (src/main/standalone.ts) — runs the full UI+API without Electron
  • Docker support with multi-stage build (Dockerfile, docker-compose.yml, .dockerignore)
  • Server mode now serves static files in all modes (dev/production), fixing 404 when accessing localhost:3456 from
    a browser
  • Settings UI adapts to standalone/browser mode — hides Electron-only features (SSH, launch at login, auto-update,
    folder picker)
  • HttpAPIClient uses window.location.origin in standalone to avoid cross-origin fetch failures
  • asarUnpack for out/renderer to ensure @fastify/static works in packaged Electron app
  • Removed unused Remotion dependencies and scripts

New files

  • src/main/standalone.ts — Standalone entry point
  • vite.standalone.config.ts — Vite build config with Electron module stubs
  • Dockerfile, docker-compose.yml, .dockerignore

Changed

  • HttpServer.ts — Removed isDev guard, fixed renderer path resolution for asar/standalone/dev
  • TabBar.tsx — Settings button visible in all modes
  • SettingsTabs.tsx — Connection/Workspaces tabs hidden in standalone
  • GeneralSection.tsx — Startup/Local Claude Root/Browser Access sections hidden in standalone
  • AdvancedSection.tsx — Check for Updates/Open in Editor hidden in standalone
  • api/index.ts, httpClient.ts — Base URL uses window.location.origin when no explicit ?port= param

Closes #6

- Introduced a new Docker setup for running claude-devtools in standalone mode without Electron.
- Added Dockerfile and docker-compose.yml for easy deployment.
- Implemented .dockerignore to exclude unnecessary files from the Docker context.
- Updated package.json with new scripts for building and running the standalone server.
- Enhanced README with Docker usage instructions and environment variable configurations.
- Modified HttpServer to support serving static files and API in standalone mode.
- Updated various components to ensure compatibility with standalone operation.
…er for improved static file serving

- Removed obsolete Remotion preview and render scripts from package.json.
- Updated HttpServer to enhance static file serving logic, ensuring proper handling of renderer paths in both development and production modes.
- Added support for asarUnpack in package.json to facilitate unpacking of renderer files.
- Deleted obsolete Remotion packages from devDependencies in package.json to streamline the project and reduce unnecessary bloat.
@coderabbitai
Copy link

coderabbitai bot commented Feb 16, 2026

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

🗂️ Base branches to auto review (1)
  • main

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feat/docker-deployment

Tip

Issue Planner is now in beta. Read the docs and try it out! Share your feedback on Discord.


Comment @coderabbitai help to get the list of available commands and usage tips.

@matt1398 matt1398 merged commit aacadf1 into dev Feb 16, 2026
1 check passed
Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 13d99e5968

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".


# Install dependencies first (better layer caching)
COPY package.json pnpm-lock.yaml ./
RUN pnpm install --frozen-lockfile

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Regenerate lockfile before using frozen installs

The new Docker build uses pnpm install --frozen-lockfile, but this commit also removes several Remotion entries from package.json without updating pnpm-lock.yaml (the lockfile still lists those specifiers in the root importer). In this state, Docker/CI installs that use frozen mode will fail before build steps run, so standalone image builds are blocked until the lockfile is regenerated.

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant