From 9a50b78a16a9b59797a4f53d1844905741feabe0 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Fri, 28 Feb 2025 08:15:59 +0100 Subject: [PATCH] Add a Dockerfile --- .dockerignore | 1 + Dockerfile | 25 +++++++++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 .dockerignore create mode 100644 Dockerfile diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..2b29f27 --- /dev/null +++ b/.dockerignore @@ -0,0 +1 @@ +tests diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..a0bb3d6 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,25 @@ +FROM ghcr.io/astral-sh/uv:python3.11-bookworm + +ENV UV_CACHE_DIR=/app/.cache/uv + +RUN useradd --shell /bin/bash --uid 1000 transip_client + +USER transip_client + +WORKDIR /app + +RUN mkdir --parents /app/.cache/uv + +# only install dependencies +RUN --mount=type=cache,uid=1000,target=/app/.cache/uv \ + --mount=type=bind,source=uv.lock,target=/app/uv.lock \ + --mount=type=bind,source=pyproject.toml,target=/app/pyproject.toml \ + uv sync --frozen --no-install-project + +COPY pyproject.toml uv.lock /app +COPY transip_client /app/transip_client + +# install dependencies + project +RUN --mount=type=cache,uid=1000,target=/app/.cache/uv uv sync --frozen + +ENTRYPOINT ["uv", "run", "--", "transip-listen"]