FROM python:3.10 AS builder

ARG USERNAME=vscode
ARG USER_UID=1000
ARG USER_GID=${USER_UID}

RUN groupadd --gid $USER_GID ${USERNAME} \
    && useradd -s /bin/bash --uid ${USER_UID} --gid $USER_GID -m ${USERNAME}   \
    && apt-get update \
    && apt-get install -y sudo \
    && echo ${USERNAME} ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/${USERNAME} \
    && chmod 0440 /etc/sudoers.d/${USERNAME}  \
    && apt-get install -y python3-pip \
    && apt-get install -y i2c-tools fonts-ipafont python3-gpiozero \
    && apt-get clean
RUN pip3 install poetry rpi_ws281x \
    && poetry config virtualenvs.create false 

## pyproject.toml を作った後で有効化
ADD pyproject.toml poetry.lock .
RUN poetry install  

USER ${USERNAME}
ENV SHELL=/bin/bash
ENV TZ=Asia/Tokyo

## プロダクション用イメージ
FROM builder AS production

WORKDIR /workspaces
COPY src/*.py  src/

USER root
CMD [ "/usr/local/bin/python3", "src/raspi_app.py" ]
