RUN adduser \
--disabled-password \
--gecos "" \
- --no-create-home \
--ingroup ${USER} \
--uid ${UID} \
${USER} \
&& pip install pipenv
RUN mkdir -p ${DATA_DIR}
+RUN chown -R ${UID}:${GID} ${APP_DIR}
WORKDIR ${APP_DIR}
+USER ${UID}
-COPY LICENSE Pipfile Pipfile.lock package.json package-lock.json ./
-RUN pipenv install --system --deploy --ignore-pipfile && npm ci
+COPY --chown=${UID}:${GID} LICENSE Pipfile Pipfile.lock package.json package-lock.json ./
+RUN pipenv install --deploy --ignore-pipfile && npm ci
-COPY flatnotes ./flatnotes
+COPY --chown=${UID}:${GID} flatnotes ./flatnotes
RUN npm run build
-RUN chown -R ${UID}:${GID} ${APP_DIR}
-USER ${UID}
-
-ENTRYPOINT [ "python", "-m", "uvicorn", "main:app", "--app-dir", "flatnotes", "--host", "0.0.0.0", "--port", "80" ]
+ENTRYPOINT [ "pipenv", "run", "python", "-m", "uvicorn", "main:app", "--app-dir", "flatnotes", "--host", "0.0.0.0", "--port", "80" ]