mirror of
https://github.com/sipeed/picoclaw.git
synced 2026-05-25 16:00:35 +00:00
f334ac6d01
- pid: When a container stops and leaves behind a PID file with PID 1 on a shared volume, the host's init process (PID 1) passes the isProcessRunning check, blocking new gateway starts. Treat recorded PID 1 as always stale in both WritePidFile and ReadPidFileWithCheck. Added unit tests covering the PID=1 container leftover scenario. - isolation: Fix govet shadow warning on platform_windows.go line 105 where := shadows the outer err variable. Changed to = assignment. - gitattributes: Enforce LF line endings for shell scripts to prevent CRLF issues when checking out on Windows (breaks Docker entrypoint). Co-authored-by: BeaconCat <BeaconCat@users.noreply.github.com>
22 lines
836 B
Bash
22 lines
836 B
Bash
#!/bin/sh
|
|
set -e
|
|
|
|
# First-run: neither config nor workspace exists.
|
|
# If config.json is already mounted but workspace is missing we skip onboard to
|
|
# avoid the interactive "Overwrite? (y/n)" prompt hanging in a non-TTY container.
|
|
if [ ! -d "${HOME}/.picoclaw/workspace" ] && [ ! -f "${HOME}/.picoclaw/config.json" ]; then
|
|
picoclaw onboard
|
|
echo ""
|
|
echo "First-run setup complete."
|
|
echo "Edit ${HOME}/.picoclaw/config.json (add your API key, etc.) then restart the container."
|
|
exit 0
|
|
fi
|
|
|
|
# Remove stale PID file from a previous container run.
|
|
# After docker kill / OOM / crash the PID file may linger on the bind-mounted
|
|
# volume and block the next gateway start (the recorded PID could collide with
|
|
# an unrelated process inside the new container).
|
|
rm -f "${HOME}/.picoclaw/.picoclaw.pid"
|
|
|
|
exec picoclaw gateway "$@"
|