⚠ This page is served via a proxy. Original site: https://github.com
This service does not collect credentials or authentication data.
Skip to content

Conversation

@Joxx0r
Copy link
Collaborator

@Joxx0r Joxx0r commented Feb 8, 2026

Summary

Closes #17

  • Dockerfile: Multi-stage build — Go stage compiles Zoekt binaries, Node.js slim stage runs the service. All prerequisites bundled.
  • docker-compose.yml: One-command startup with volume mounts for project data and persistent database.
  • config.docker.json: Template config using /projects mount paths and 0.0.0.0 bind address.
  • Cross-platform fixes: killExistingService() and _killStaleWebservers() now handle Linux (lsof/pkill) alongside Windows (netstat/taskkill).
  • Docker detection: setup.js detects Docker via DOCKER=1 env or /.dockerenv and skips WSL/Go prerequisite checks.
  • CI workflow: Builds Docker image on PRs touching Docker files, pushes to GHCR on version tags.

Usage

# 1. Copy and edit the config template
cp config.docker.json config.json
# Edit config.json to match your volume mount paths

# 2. Add volume mounts in docker-compose.yml
#    - D:/p4/games/MyProject:/projects/MyProject:ro

# 3. Start
docker compose up

Test plan

  • docker build . completes successfully (multi-stage with Go + Node)
  • docker compose up starts the service and Zoekt webserver
  • Health check endpoint responds at http://localhost:3847/health
  • Zoekt binaries are found natively (no WSL fallback attempted)
  • npm run setup inside container shows "Docker: YES (all prerequisites bundled)"
  • Volume-mounted project files are indexed correctly
  • Existing Windows/WSL workflow is unaffected by the cross-platform changes

🤖 Generated with Claude Code

Multi-stage Dockerfile bundles Zoekt binaries, docker-compose.yml
for easy deployment, and cross-platform fixes for Linux containers.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@github-actions
Copy link

github-actions bot commented Feb 8, 2026

@claude Please review this PR. Focus on:

  • Code quality and potential bugs
  • Security issues
  • Test coverage
  • Documentation completeness

Use the opus model for thorough analysis.

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.

Docker image: eliminate Go/WSL/Zoekt setup requirements

1 participant