mirror of
https://github.com/iFargle/headscale-webui.git
synced 2026-03-17 23:05:28 +01:00
51 lines
1.0 KiB
Docker
51 lines
1.0 KiB
Docker
# Global ARG, available to all stages (if renewed)
|
|
ARG WORKDIR="/app"
|
|
FROM python:3.11-alpine AS builder
|
|
|
|
# Renew (https://stackoverflow.com/a/53682110):
|
|
ARG WORKDIR
|
|
|
|
# Don't buffer `stdout`:
|
|
ENV PYTHONUNBUFFERED=1
|
|
# Don't create `.pyc` files:
|
|
ENV PYTHONDONTWRITEBYTECODE=1
|
|
|
|
RUN pip install poetry && poetry config virtualenvs.in-project true
|
|
|
|
WORKDIR ${WORKDIR}
|
|
|
|
COPY --chown=1000:1000 . .
|
|
RUN poetry install --only main
|
|
|
|
FROM python:3.11-alpine
|
|
|
|
ARG WORKDIR
|
|
WORKDIR ${WORKDIR}
|
|
|
|
RUN adduser app -DHh ${WORKDIR} -u 1000
|
|
USER 1000
|
|
|
|
COPY --chown=app:app --from=builder ${WORKDIR} .
|
|
|
|
ENV TZ="UTC"
|
|
ENV HS_SERVER="http://localhost/"
|
|
ENV KEY=""
|
|
ENV BASE_PATH="http://127.0.0.1/"
|
|
|
|
# Jenkins build args
|
|
ARG GIT_COMMIT_ARG=""
|
|
ARG GIT_BRANCH_ARG=""
|
|
ARG APP_VERSION_ARG=""
|
|
ARG BUILD_DATE_ARG=""
|
|
|
|
ENV GIT_COMMIT=$GIT_COMMIT_ARG
|
|
ENV GIT_BRANCH=$GIT_BRANCH_ARG
|
|
ENV APP_VERSION=$APP_VERSION_ARG
|
|
ENV BUILD_DATE=$BUILD_DATE_ARG
|
|
|
|
VOLUME /headscale
|
|
VOLUME /data
|
|
|
|
EXPOSE 5000/tcp
|
|
ENTRYPOINT ["/app/entrypoint.sh"]
|
|
CMD gunicorn -w 4 -b 0.0.0.0:5000 server:app |