11FROM docker.io/drycc/base:bullseye
22
3- ARG DRYCC_UID=1001
4- ARG DRYCC_GID=1001
5- ARG DRYCC_HOME_DIR=/workspace
3+ ENV DRYCC_UID=1001 \
4+ DRYCC_GID=1001 \
5+ DRYCC_HOME_DIR=/workspace \
6+ PYTHON_VERSION="3.10.2"
67
78RUN groupadd drycc --gid ${DRYCC_GID} \
89 && useradd drycc -u ${DRYCC_UID} -g ${DRYCC_GID} -s /bin/bash -m -d ${DRYCC_HOME_DIR}
910
10- ENV PYTHON_VERSION="3.10.2"
1111COPY requirements.txt ${DRYCC_HOME_DIR}/requirements.txt
1212
1313RUN buildDeps='gcc libffi-dev libpq-dev rustc cargo' ; \
14- install-packages $buildDeps \
14+ install-packages ${ buildDeps} \
1515 && install-stack python $PYTHON_VERSION && . init-stack \
1616 && python3 -m venv ${DRYCC_HOME_DIR}/.venv \
1717 && source ${DRYCC_HOME_DIR}/.venv/bin/activate \
1818 && pip3 install --disable-pip-version-check --no-cache-dir -r ${DRYCC_HOME_DIR}/requirements.txt \
19- && chown -R drycc:drycc ${DRYCC_HOME_DIR} \
19+ && chown -R ${DRYCC_UID}:${DRYCC_GID} ${DRYCC_HOME_DIR} \
2020 # set env
2121 && echo "source ${DRYCC_HOME_DIR}/.venv/bin/activate" >> /opt/drycc/python/profile.d/python.sh \
2222 # cleanup
2323 && scanelp ${DRYCC_HOME_DIR}/.venv/lib > runtime.txt \
24- && apt-get purge -y --auto-remove $buildDeps \
24+ && apt-get purge -y --auto-remove ${ buildDeps} \
2525 && install-packages $(< runtime.txt) \
2626 && apt-get autoremove -y \
2727 && apt-get clean -y \
@@ -40,9 +40,9 @@ RUN buildDeps='gcc libffi-dev libpq-dev rustc cargo'; \
4040 /usr/lib/`echo $(uname -m)`-linux-gnu/gconv/EBC* \
4141 && mkdir -p /usr/share/man/man{1..8}
4242
43- USER drycc
43+ USER ${DRYCC_UID}
4444
45- COPY --chown=drycc:drycc . ${DRYCC_HOME_DIR}
45+ COPY --chown=${DRYCC_UID}:${DRYCC_GID} . ${DRYCC_HOME_DIR}
4646WORKDIR ${DRYCC_HOME_DIR}
4747CMD ["bin/boot" ]
4848EXPOSE 8000
0 commit comments