diff --git a/Dockerfile b/Dockerfile index 65a8894..9f40e94 100644 --- a/Dockerfile +++ b/Dockerfile @@ -37,10 +37,6 @@ COPY src/ src/ COPY CLAUDE.md ./ RUN uv sync --frozen --no-dev -# Copy entrypoint script -COPY entrypoint.sh /opt/clayde/entrypoint.sh -RUN chmod +x /opt/clayde/entrypoint.sh - # Create data directories and set ownership RUN mkdir -p /data/repos /data/logs && chown -R clayde:clayde /data @@ -49,4 +45,4 @@ USER clayde RUN mkdir -p /home/clayde/.claude && \ git config --global credential.helper '!gh auth git-credential' -ENTRYPOINT ["/opt/clayde/entrypoint.sh"] +ENTRYPOINT ["/opt/clayde/.venv/bin/clayde"] diff --git a/entrypoint.sh b/entrypoint.sh deleted file mode 100755 index 43fa768..0000000 --- a/entrypoint.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/sh -# Configure git identity from environment variables at container startup. -# CLAYDE_GIT_NAME defaults to CLAYDE_GITHUB_USERNAME if not set. -# CLAYDE_GIT_EMAIL is required. - -GIT_NAME="${CLAYDE_GIT_NAME:-$CLAYDE_GITHUB_USERNAME}" -GIT_EMAIL="${CLAYDE_GIT_EMAIL}" - -if [ -z "$GIT_NAME" ]; then - echo "ERROR: CLAYDE_GIT_NAME (or CLAYDE_GITHUB_USERNAME) must be set" >&2 - exit 1 -fi - -if [ -z "$GIT_EMAIL" ]; then - echo "ERROR: CLAYDE_GIT_EMAIL must be set" >&2 - exit 1 -fi - -git config --global user.name "$GIT_NAME" -git config --global user.email "$GIT_EMAIL" - -exec /opt/clayde/.venv/bin/clayde "$@" diff --git a/src/clayde/orchestrator.py b/src/clayde/orchestrator.py index 0a6b047..0221074 100644 --- a/src/clayde/orchestrator.py +++ b/src/clayde/orchestrator.py @@ -15,6 +15,7 @@ import logging import os import signal +import subprocess import sys import time from datetime import datetime @@ -229,6 +230,14 @@ def main(): os.environ["GH_TOKEN"] = settings.github_token + git_name = settings.effective_git_name + git_email = settings.git_email + if not git_name or not git_email: + log.error("CLAYDE_GIT_NAME (or CLAYDE_GITHUB_USERNAME) and CLAYDE_GIT_EMAIL must be set") + sys.exit(1) + subprocess.run(["git", "config", "--global", "user.name", git_name], check=True) + subprocess.run(["git", "config", "--global", "user.email", git_email], check=True) + provider = init_tracer() tracer = get_tracer()