| #!/bin/sh |
| |
|
|
| echo "Starting Automaker entrypoint script..." |
|
|
| |
| mkdir -p "$DATA_DIR" |
| mkdir -p "$HOME/.local/share/opencode" |
| mkdir -p "$HOME/.config/gh" |
|
|
| |
| HF_DETECTED_TOKEN=$(env | grep "^hf_" | head -n 1 | cut -d'=' -f2) |
|
|
| OC_KEY="${OPENCODE_API_KEY:-${OPENCODE_TOKEN:-${HF_TOKEN:-${HF_DETECTED_TOKEN}}}}" |
| J_KEY="${JULES_API_KEY:-${JULES_TOKEN:-${BLABLADOR_API_KEY:-${HF_DETECTED_TOKEN}}}}" |
| GH_KEY="${GITHUB_API_KEY:-${GH_TOKEN:-${HF_DETECTED_TOKEN}}}" |
|
|
| |
| if [ -n "$OC_KEY" ] || [ -n "$J_KEY" ]; then |
| echo "Configuring OpenCode authentication..." |
| |
| PRIMARY_KEY="${J_KEY:-$OC_KEY}" |
| |
| |
| |
| jq -n \ |
| --arg primary "$PRIMARY_KEY" \ |
| --arg oc "$OC_KEY" \ |
| --arg jk "$J_KEY" \ |
| '{ |
| api_key: $primary, |
| opencode: (if $oc != "" then {type: "api", key: $oc, api_key: $oc} else null end), |
| anthropic: (if $oc != "" then {type: "api", key: $oc, api_key: $oc} else null end), |
| openai: (if $oc != "" then {type: "api", key: $oc, api_key: $oc} else null end), |
| google: (if $oc != "" then {type: "api", key: $oc, api_key: $oc} else null end), |
| helmholtz: (if $jk != "" then {type: "api", key: $jk, api_key: $jk, baseURL: "https://api.helmholtz-blablador.fz-juelich.de/v1"} else null end), |
| copilot: (if $jk != "" then {type: "api", key: $jk, api_key: $jk} else null end), |
| "github-copilot": (if $jk != "" then {type: "api", key: $jk, api_key: $jk} else null end) |
| } | with_entries(select(.value != null))' > "$HOME/.local/share/opencode/auth.json" |
| |
| chmod 600 "$HOME/.local/share/opencode/auth.json" |
| |
| |
| [ -n "$OC_KEY" ] && export ANTHROPIC_API_KEY="$OC_KEY" |
| [ -n "$OC_KEY" ] && export OPENAI_API_KEY="$OC_KEY" |
| [ -n "$J_KEY" ] && export JULES_TOKEN="$J_KEY" |
| |
| |
| if [ -n "$J_KEY" ] && [ -f "/usr/local/bin/update_settings.py" ]; then |
| python3 /usr/local/bin/update_settings.py "$DATA_DIR" "helmholtz/alias-code" |
| fi |
| echo "OpenCode config created." |
| fi |
|
|
| |
| if [ -n "$GH_KEY" ]; then |
| echo "Configuring GitHub CLI authentication..." |
| export GH_TOKEN="$GH_KEY" |
| |
| mkdir -p "$HOME/.config/gh" |
| printf "github.com:\n user: automaker\n oauth_token: %s\n git_protocol: https\n" "$GH_KEY" > "$HOME/.config/gh/hosts.yml" |
| chmod 600 "$HOME/.config/gh/hosts.yml" |
| echo "GitHub hosts.yml created." |
| fi |
|
|
| |
| echo "Starting application on port $PORT..." |
| exec node apps/server/dist/index.js |
|
|