FROM python:3.14.5-slim-bookworm ARG USERNAME=vscode ARG USER_UID=1000 ARG USER_GID=1000 ENV PLATFORMIO_CORE_DIR=/home/${USERNAME}/.platformio ENV PATH="${PLATFORMIO_CORE_DIR}/penv/bin:${PATH}" RUN apt-get update && apt-get install -y --no-install-recommends \ git \ build-essential \ ca-certificates \ udev \ openssh-client \ sudo \ && rm -rf /var/lib/apt/lists/* RUN python -m pip install --no-cache-dir --upgrade pip \ && pip install --no-cache-dir platformio RUN groupadd --gid ${USER_GID} ${USERNAME} \ && useradd --uid ${USER_UID} --gid ${USER_GID} --create-home --shell /bin/bash ${USERNAME} \ && usermod --append --groups dialout ${USERNAME} \ && mkdir -p /workspace ${PLATFORMIO_CORE_DIR} \ && chown -R ${USERNAME}:${USERNAME} /workspace /home/${USERNAME} RUN echo "${USERNAME} ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/${USERNAME} && \ chmod 0440 /etc/sudoers.d/${USERNAME} USER ${USERNAME} WORKDIR /workspace CMD ["pio", "run"]