File: Dockerfile

package info (click to toggle)
gitlabracadabra 2.8.0
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 10,520 kB
  • sloc: python: 12,305; javascript: 663; makefile: 4
file content (61 lines) | stat: -rw-r--r-- 2,087 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# stage builder
FROM python:3.14.0-slim@sha256:0aecac02dc3d4c5dbb024b753af084cafe41f5416e02193f1ce345d671ec966e as builder

WORKDIR /usr/share/gitlabracadabra

# DL3013 Pin versions in pip
# hadolint ignore=DL3013
RUN pip install --no-cache-dir build

COPY . .

RUN python -m build

# =================================================================
# stage venv
FROM python:3.14.0-slim@sha256:0aecac02dc3d4c5dbb024b753af084cafe41f5416e02193f1ce345d671ec966e as venv

WORKDIR /usr/share/gitlabracadabra

RUN python -m venv /usr/share/gitlabracadabra/venv

COPY requirements.txt .

# SC1091 Not following: File not included in mock
# hadolint ignore=SC1091
RUN . venv/bin/activate && \
  pip install --no-cache-dir -r requirements.txt

COPY --from=builder /usr/share/gitlabracadabra/dist/gitlabracadabra-*-py3-none-any.whl .

# SC1091 Not following: File not included in mock
# hadolint ignore=SC1091
RUN . venv/bin/activate && \
  pip install --no-cache-dir ./gitlabracadabra-*-py3-none-any.whl

# =================================================================
# stage run
FROM python:3.14.0-slim@sha256:0aecac02dc3d4c5dbb024b753af084cafe41f5416e02193f1ce345d671ec966e

WORKDIR /usr/share/gitlabracadabra

COPY --from=venv /usr/share/gitlabracadabra/venv ./venv

# DL3008 Pin versions in apt get install
# hadolint ignore=DL3008
RUN --mount=type=cache,from=builder,source=/usr/share/gitlabracadabra/urllib3-Lower-retry-message-from-WARNING-to-INFO.patch,target=/tmp/urllib3-Lower-retry-message-from-WARNING-to-INFO.patch \
  set -x && \
  apt-get update && \
  apt-get install -y --no-install-recommends \
  ca-certificates \
  patch \
  && \
  rm -rf /var/lib/apt/lists/* && \
  patch venv/lib/python*/site-packages/urllib3/connectionpool.py < /tmp/urllib3-Lower-retry-message-from-WARNING-to-INFO.patch && \
  apt-get purge -y patch && \
  adduser --disabled-password --gecos '' gitlabracadabra

ENTRYPOINT ["gitlabracadabra"]
ENV PATH="/usr/share/gitlabracadabra/venv/bin:$PATH"
USER 1000
LABEL org.opencontainers.image.source="https://gitlab.com/gitlabracadabra/gitlabracadabra"