Commit graph

19 commits

Author SHA1 Message Date
docker-claude
b741b02408 fix(dockerfile): scrub npm auth tokens written during image build
npm automatically picks up GITHUB_TOKEN / NPM_TOKEN from the build
environment and writes them as _authToken entries in /root/.npmrc and
/usr/local/etc/npmrc during 'npm install -g'.  Add a cleanup RUN step
that removes any npmrc file containing auth tokens before the image is
finalised, and explicitly deletes the two most common registry auth
keys via 'npm config delete'.

Also add .npmrc to .dockerignore as an extra guard against accidentally
COPY-ing a local credential file into the build context.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-20 16:37:00 +02:00
docker-claude
53325c4fcd stuff
Some checks failed
Build images / check-docker (push) Successful in 1s
Build images / scan (push) Failing after 55s
Build images / build-and-push (push) Has been skipped
2026-04-20 15:17:58 +02:00
docker-claude
3aff92bd41 chore: replace Docker Desktop references with open-source alternatives
Docker Desktop requires a commercial licence for business use. Replace all
references with free alternatives:
- macOS: Rancher Desktop (GUI) or Colima (CLI)
- Linux: Docker Engine CE (no Desktop needed at all)
- Windows: Rancher Desktop or WSL2 + Docker Engine

setup.sh detects the OS and shows platform-specific install instructions.
claude.sh defers to setup.sh for install hints to avoid duplication.
README documents all options including a WSL2 setup walkthrough.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-16 10:16:23 +02:00
docker-claude
f68ed674d0 feat: add non-technical user onboarding
- setup.sh: interactive wizard for Docker check and auth configuration
- launch.sh: folder-picker launcher (macOS native dialog, zenity/kdialog on Linux, text fallback)
- launch.bat: Windows launcher using PowerShell folder browser + Git Bash
- claude.sh: friendlier error messages with actionable links; prompt setup.sh if .env missing
- hooks/pre-commit: add setup.sh and launch.sh to executable enforcement
- README: add Quick Start section aimed at non-technical users

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-16 10:13:34 +02:00
docker-claude
e78a302cb9 feat: remove webui
All checks were successful
Build images / check-docker (push) Successful in 3s
Build images / build-and-push (push) Successful in 5m15s
2026-04-15 21:59:08 +02:00
docker-claude
4edef5ac1a fix stuff finally?
All checks were successful
Build images / check-docker (push) Successful in 2s
Build images / build-and-push (push) Successful in 5m27s
2026-04-15 19:18:48 +02:00
docker-claude
6a060aa8ab fix(workflow): remove build contexts from compose; build.sh uses docker build directly 2026-04-15 17:15:51 +02:00
docker-claude
3f91b27c94 refactor(claude.sh): use array for volume args, merge run into start, tighten helpers 2026-04-15 17:14:37 +02:00
docker-claude
f4a6bc0a99 fix(claude.sh): add --no-build to prevent fallback to local build 2026-04-15 17:05:44 +02:00
docker-claude
2d822305d1 refactor(images): pull from registry instead of building; add build.sh for local dev 2026-04-15 17:02:43 +02:00
docker-claude
c3c3fcd099 feat(workspace): add --kube flag to mount $HOME/.kube read-only into container 2026-04-15 08:45:05 +02:00
docker-claude
c3875397b0 feat(security): block user home dirs and SSH/PGP key directories from workspace mount 2026-04-15 08:43:09 +02:00
docker-claude
65ac4c7011 feat(security): block mounting home and system directories as workspace 2026-04-15 08:40:50 +02:00
docker-claude
3401fa38a5 refactor(workspace): mount CWD as /workspace instead of named volume
Run from the project directory you want to work on; claude.sh mounts
it automatically. Removes WORKSPACE_DIR env var support and the
named claude-secure-workspace Docker volume.
2026-04-15 08:10:44 +02:00
docker-claude
ba3730a24d feat(auth): support subscription login alongside API key
Make ANTHROPIC_API_KEY optional. Add CLAUDE_CODE_OAUTH_TOKEN pass-through
for headless token-based auth (claude setup-token). When neither is set,
Claude Code falls back to browser OAuth on port 54545. Add claude-config
named volume mounted at ~/.claude/ in both claude and webui services so
credentials persist across container runs. Pre-create ~/.claude/ in the
Dockerfile so the volume is initialised with correct ownership. Add
--service-ports to docker compose run calls to publish port 54545 during
CLI sessions.
2026-04-14 22:47:04 +02:00
docker-claude
88805a3c24 refactor(docker): migrate both images to Alpine
Replace node:20-slim/ubuntu:22.04 with node:20-alpine/alpine:3.21.
Switch package management from apt to apk (--no-cache, no cleanup layer).
Use Alpine addgroup/adduser in claude/Dockerfile. Update proxy to use
squid user (Alpine convention) and /var/cache/squid cache path.
Fix proxy/Dockerfile COPY path now that context is proxy/. Move
webui-entrypoint.sh into claude/ to match its build context. Fix
docker-compose.yml webui context to claude/, update proxy tmpfs path.
2026-04-14 22:40:57 +02:00
docker-claude
782370e014 update permissions 2026-04-14 22:26:51 +02:00
docker-claude
9b8562b746 feat(webui): add browser terminal interface via ttyd
Adds a webui service to docker-compose that wraps Claude Code in ttyd,
serving a browser-accessible terminal on port 7681. The webui reuses
Dockerfile.claude (ttyd added to apt deps) with a dedicated entrypoint
script that enforces WEBUI_PASSWORD before starting. Network isolation
is identical to the CLI container: claude-internal only, all egress via
the proxy allowlist. claude.sh gains web and web-stop commands.
2026-04-14 22:25:38 +02:00
c01102b641 initial 2026-04-14 20:11:24 +02:00