# ────────────────────────────────────────────── # GSD Docker Sandbox Template # Base: docker/sandbox-templates:shell # Purpose: Isolated environment for GSD auto mode # Usage: docker sandbox create --template ./docker # ────────────────────────────────────────────── FROM node:22-bookworm-slim # System dependencies required by GSD RUN apt-get update && apt-get install -y --no-install-recommends \ git \ curl \ ca-certificates \ openssh-client \ && rm -rf /var/lib/apt/lists/* # Install GSD globally — version controlled via build arg ARG GSD_VERSION=latest RUN npm install -g gsd-pi@${GSD_VERSION} # Create non-root user for sandbox isolation RUN groupadd --gid 1000 gsd \ && useradd --uid 1000 --gid gsd --shell /bin/bash --create-home gsd # Persistent GSD state directory RUN mkdir -p /home/gsd/.gsd && chown -R gsd:gsd /home/gsd/.gsd # Workspace directory — synced from host via Docker sandbox WORKDIR /workspace RUN chown gsd:gsd /workspace USER gsd # Expose default GSD web UI port EXPOSE 3000 ENTRYPOINT ["gsd"] CMD ["--help"]