Files
TSYSDevStack/ToolboxStack/output/toolbox-template/Dockerfile
ReachableCEO 073cb91585 feat(toolbox): update toolbox template configuration
- Update ToolboxStack/output/toolbox-template/Dockerfile with latest configuration
- Add ToolboxStack/output/toolbox-template/release.sh for release management
- Refine template functionality and ensure proper operations
- Align with project standards and conventions

This enhances the ToolboxStack template for creating new developer environments.
2025-10-30 11:55:34 -05:00

27 lines
1016 B
Docker

# Extend from the toolbox-base image
FROM tsysdevstack-toolboxstack-toolbox-base:release-current
# Set build arguments (these can be overridden at build time)
ARG USER_ID=1000
ARG GROUP_ID=1000
ARG USERNAME=toolbox
# Ensure the non-root user exists with the correct UID/GID
RUN if getent passwd "${USER_ID}" >/dev/null; then \
existing_user="$(getent passwd "${USER_ID}" | cut -d: -f1)"; \
userdel --remove "${existing_user}" 2>/dev/null || true; \
fi \
&& if ! getent group "${GROUP_ID}" >/dev/null; then \
groupadd --gid "${GROUP_ID}" "${USERNAME}"; \
fi \
&& useradd --uid "${USER_ID}" --gid "${GROUP_ID}" --shell /usr/bin/zsh --create-home "${USERNAME}"
# Remove sudo to ensure no root escalation is possible at runtime
RUN apt-get remove -y sudo 2>/dev/null || true && apt-get autoremove -y 2>/dev/null || true && rm -rf /var/lib/apt/lists/* 2>/dev/null || true
# Switch to the non-root user
USER ${USERNAME}
WORKDIR /workspace
# Default command
CMD ["/usr/bin/zsh"]