Spaces:
Running
Running
feat: add environment logging and bypass sandbox setup in gemini wrapper script
Browse files- Dockerfile +16 -2
- start.sh +11 -10
Dockerfile
CHANGED
|
@@ -84,8 +84,22 @@ RUN for cmd in claude codex; do \
|
|
| 84 |
# GEMINI_SANDBOX=false — skip Docker-sandbox attempt
|
| 85 |
# GEMINI_CLI_TRUST_WORKSPACE=true — skip interactive workspace-trust prompt
|
| 86 |
RUN mv /usr/local/bin/gemini /usr/local/bin/gemini-real && \
|
| 87 |
-
|
| 88 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 89 |
chmod +x /usr/local/bin/gemini && \
|
| 90 |
echo "=== gemini wrapper ===" && cat /usr/local/bin/gemini
|
| 91 |
|
|
|
|
| 84 |
# GEMINI_SANDBOX=false — skip Docker-sandbox attempt
|
| 85 |
# GEMINI_CLI_TRUST_WORKSPACE=true — skip interactive workspace-trust prompt
|
| 86 |
RUN mv /usr/local/bin/gemini /usr/local/bin/gemini-real && \
|
| 87 |
+
{ \
|
| 88 |
+
echo '#!/bin/sh'; \
|
| 89 |
+
echo '# Log invocation so we can see what env Paperclip actually passes'; \
|
| 90 |
+
echo 'echo "=== gemini wrapper $(date) args: $@ ===" >> /tmp/gemini-wrapper.log'; \
|
| 91 |
+
echo 'env | sort >> /tmp/gemini-wrapper.log'; \
|
| 92 |
+
echo ''; \
|
| 93 |
+
echo 'unset NODE_OPTIONS'; \
|
| 94 |
+
echo 'export NODE_OPTIONS="--max-old-space-size=4096 --no-deprecation --no-warnings"'; \
|
| 95 |
+
echo 'export GEMINI_CLI_NO_RELAUNCH=1'; \
|
| 96 |
+
echo 'export GEMINI_SANDBOX=false'; \
|
| 97 |
+
echo 'export GEMINI_CLI_TRUST_WORKSPACE=true'; \
|
| 98 |
+
echo '# SANDBOX=1 = "already inside sandbox" — bypasses entire sandbox setup block'; \
|
| 99 |
+
echo '# in gemini.tsx regardless of GEMINI_SANDBOX setting or defaults'; \
|
| 100 |
+
echo 'export SANDBOX=1'; \
|
| 101 |
+
echo 'exec /usr/local/bin/gemini-real "$@"'; \
|
| 102 |
+
} > /usr/local/bin/gemini && \
|
| 103 |
chmod +x /usr/local/bin/gemini && \
|
| 104 |
echo "=== gemini wrapper ===" && cat /usr/local/bin/gemini
|
| 105 |
|
start.sh
CHANGED
|
@@ -328,20 +328,21 @@ if [ "$PAPERCLIP_READY" = true ]; then
|
|
| 328 |
echo "Admin account already configured"
|
| 329 |
fi
|
| 330 |
|
| 331 |
-
# ── Gemini
|
| 332 |
echo ""
|
| 333 |
-
echo "=== Gemini
|
| 334 |
HOME=/home/paperclip runuser -u paperclip -- \
|
| 335 |
/usr/local/bin/gemini --output-format json "Respond with hello." \
|
| 336 |
>/tmp/gemini-diag.out 2>/tmp/gemini-diag.err || true
|
| 337 |
-
echo "exit=$?"
|
| 338 |
-
echo "---
|
| 339 |
-
|
| 340 |
-
echo "---
|
| 341 |
-
cat /tmp/gemini-diag.
|
| 342 |
-
echo "
|
| 343 |
-
|
| 344 |
-
echo "
|
|
|
|
| 345 |
echo ""
|
| 346 |
|
| 347 |
else
|
|
|
|
| 328 |
echo "Admin account already configured"
|
| 329 |
fi
|
| 330 |
|
| 331 |
+
# ── Gemini diagnostic: test direct invocation + show wrapper env log ──────
|
| 332 |
echo ""
|
| 333 |
+
echo "=== Gemini diagnostic ==="
|
| 334 |
HOME=/home/paperclip runuser -u paperclip -- \
|
| 335 |
/usr/local/bin/gemini --output-format json "Respond with hello." \
|
| 336 |
>/tmp/gemini-diag.out 2>/tmp/gemini-diag.err || true
|
| 337 |
+
echo "startup-probe exit=$?"
|
| 338 |
+
echo "--- stdout (first 5 lines) ---"
|
| 339 |
+
head -5 /tmp/gemini-diag.out 2>/dev/null || true
|
| 340 |
+
echo "--- stderr ---"
|
| 341 |
+
cat /tmp/gemini-diag.err 2>/dev/null | head -10 || true
|
| 342 |
+
echo ""
|
| 343 |
+
echo "NOTE: After clicking 'Test now' in UI, run:"
|
| 344 |
+
echo " cat /tmp/gemini-wrapper.log (shows env Paperclip passes)"
|
| 345 |
+
echo "=== end diagnostic ==="
|
| 346 |
echo ""
|
| 347 |
|
| 348 |
else
|