Files
Jordan Ritter ff9210ba6c fix(examples/integrations/strands-python): boot the strands agent, not langgraph serve.py
The entrypoint was copy-pasted from langgraph-python: it logged
'langgraph-python starter', ran 'python serve.py' (no serve.py exists in this
starter), and started Next via standalone 'node server.js' (this image is a
non-standalone .next + node_modules build, so server.js does not exist either).
The container crash-looped on boot with
"python: can't open file '/app/serve.py'".

Run the Strands agent's self-serving agent/main.py via its uv venv
(AGENT_PORT=8123) and serve the frontend with 'next start'. Verified by booting
the image: agent reaches 'Application startup complete' on :8123 and the
container serves HTTP 200 on /.
2026-06-04 01:10:12 -07:00

29 lines
885 B
Bash
Executable File

#!/bin/bash
set -e
echo "[entrypoint] Starting: strands-python starter"
if [ -z "$OPENAI_API_KEY" ]; then
echo "[entrypoint] WARNING: OPENAI_API_KEY not set!"
else
echo "[entrypoint] OPENAI_API_KEY: set"
fi
# Start the Strands agent via AG-UI protocol.
# main.py is self-serving (uvicorn on AGENT_PORT); run it from the uv venv.
echo "[entrypoint] Starting agent on port 8123..."
(cd agent && AGENT_PORT=8123 uv run python main.py 2>&1) &
AGENT_PID=$!
sleep 3
# Start Next.js. This image is a non-standalone build (.next + node_modules +
# package.json), so serve via `next start`, not standalone server.js.
echo "[entrypoint] Starting Next.js on port ${PORT:-3000}..."
HOSTNAME=0.0.0.0 PORT=${PORT:-3000} ./node_modules/.bin/next start -H 0.0.0.0 -p "${PORT:-3000}" 2>&1 &
NEXT_PID=$!
echo "[entrypoint] Agent=$AGENT_PID Next=$NEXT_PID"
wait -n $AGENT_PID $NEXT_PID
exit $?