Scaffold GitManager multi-repo dashboard
Runnable skeleton per AGENT.md: Echo server (/, /help, /healthz, /api/repos), read-only repo scanner with in-memory index, the internal/git boundary, the <repo-list> web component with design tokens, and dev tooling (Dockerfile, docker-compose, air, .env.example). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
# Dev environment: `docker compose up` builds the app with hot reload (air) and
|
||||
# mounts your host repositories in (AGENT.md §1.6). Because the app operates on
|
||||
# repos that live on the host, the roots are mounted read-write.
|
||||
|
||||
services:
|
||||
app:
|
||||
build:
|
||||
context: .
|
||||
target: dev
|
||||
env_file: .env
|
||||
environment:
|
||||
# Bind all interfaces INSIDE the container so the published port reaches
|
||||
# it; the `ports` mapping below still keeps it localhost-only on the HOST.
|
||||
- LISTEN_ADDR=0.0.0.0:8080
|
||||
# The scanner looks here; matches the volume mount below.
|
||||
- GIT_REPO_ROOTS=/repos
|
||||
ports:
|
||||
- "127.0.0.1:8080:8080"
|
||||
volumes:
|
||||
# Source, for hot reload.
|
||||
- .:/app
|
||||
# Cache the Go module + build cache across restarts.
|
||||
- gomod:/go/pkg/mod
|
||||
# Your repositories. Set REPOS_HOST_PATH in .env (or your shell) to the
|
||||
# host folder that holds them; defaults to ./repos next to this file.
|
||||
- "${REPOS_HOST_PATH:-./repos}:/repos"
|
||||
# --- Optional: let git authenticate to remotes from inside the container.
|
||||
# Uncomment ONE approach and adjust for your host (AGENT.md §1.6, §11):
|
||||
# SSH agent socket (Linux/macOS):
|
||||
# - "${SSH_AUTH_SOCK}:/ssh-agent"
|
||||
# or mounted keys (read-only):
|
||||
# - "${HOME}/.ssh:/root/.ssh:ro"
|
||||
# environment for the SSH-agent option:
|
||||
# environment:
|
||||
# - SSH_AUTH_SOCK=/ssh-agent
|
||||
|
||||
volumes:
|
||||
gomod:
|
||||
Reference in New Issue
Block a user