|
4 | 4 | ### |
5 | 5 | FROM cgr.dev/chainguard/wolfi-base AS builder |
6 | 6 |
|
7 | | -ARG PYVERSION=3.12 |
8 | | -ARG PI_VERSION=3.12 |
9 | | -ARG PI_REQUIREMENTS=3.12 |
| 7 | +ARG PYVERSION=3.13 |
| 8 | +ARG PI_VERSION=3.12.1 |
| 9 | +ARG PI_REQUIREMENTS=3.12.1 |
10 | 10 | ARG GUNICORN==23.0.0 |
11 | 11 | ARG PSYCOPG2==2.9.10 |
12 | 12 | ARG PYKCS11==1.5.14 |
| 13 | +ARG NODEJS_VERSION=22 |
13 | 14 |
|
14 | 15 | ENV LANG=C.UTF-8 |
15 | 16 | ENV PYTHONDONTWRITEBYTECODE=1 |
16 | 17 | ENV PYTHONUNBUFFERED=1 |
17 | 18 | ENV PATH="/privacyidea/venv/bin:$PATH" |
18 | 19 |
|
19 | 20 | WORKDIR /privacyidea |
20 | | -RUN apk add python-${PYVERSION} py${PYVERSION}-pip python3-dev gnupg && \ |
| 21 | +RUN apk add python-${PYVERSION} py${PYVERSION}-pip python3-dev gnupg git nodejs-${NODEJS_VERSION} npm && \ |
21 | 22 | #RUN apk add python-${PYVERSION} py${PYVERSION}-pip python3-dev build-base krb5-conf krb5-dev swig && \ |
22 | 23 | chown -R nonroot:nonroot /privacyidea/ |
23 | 24 |
|
24 | 25 | USER nonroot |
25 | 26 | RUN python -m venv /privacyidea/venv |
26 | | -RUN pip install -r https://raw.githubusercontent.com/privacyidea/privacyidea/refs/tags/v${PI_REQUIREMENTS}/requirements.txt |
| 27 | +RUN pip install -r https://raw.githubusercontent.com/privacyidea/privacyidea/refs/tags/v${PI_REQUIREMENTS}/requirements.txt |
27 | 28 | RUN pip install psycopg2-binary==${PSYCOPG2} gunicorn==${GUNICORN} gnupg |
28 | | -RUN pip install privacyIDEA==${PI_VERSION} |
| 29 | +# Install privacyIDEA from GitHub repository |
| 30 | +RUN git clone --branch v${PI_VERSION} --depth 1 https://github.com/privacyidea/privacyidea.git /privacyidea/pi_src \ |
| 31 | + && pip install /privacyidea/pi_src |
29 | 32 | #RUN pip install -r https://raw.githubusercontent.com/privacyidea/privacyidea/v${PI_REQUIREMENTS}/requirements-kerberos.txt |
30 | 33 | # Workaroud for https://github.com/privacyidea/privacyidea/issues/4127 |
31 | 34 | #RUN pip install -r https://raw.githubusercontent.com/privacyidea/privacyidea/v${PI_REQUIREMENTS}/requirements-hsm.txt |
32 | 35 | #RUN pip install pykcs11==${PYKCS11} |
33 | 36 |
|
34 | 37 | ADD https://raw.githubusercontent.com/privacyidea/privacyidea/refs/tags/v${PI_REQUIREMENTS}/deploy/privacyidea/NetKnights.pem /privacyidea/etc/persistent/ |
35 | 38 |
|
| 39 | + |
36 | 40 | COPY conf/pi.cfg /privacyidea/etc/ |
37 | 41 | COPY conf/logging.cfg /privacyidea/etc/ |
38 | 42 | COPY entrypoint.py /privacyidea/entrypoint.py |
39 | 43 | COPY templates/healthcheck.py /privacyidea/healthcheck.py |
40 | 44 |
|
| 45 | +# New WebUI |
| 46 | +WORKDIR /privacyidea/pi_src/privacyidea/static_new |
| 47 | +RUN npm ci |
| 48 | +RUN npm run-script ng build |
| 49 | +RUN rm -rf node_modules |
| 50 | + |
| 51 | +WORKDIR /privacyidea/pi_src |
| 52 | +RUN pip install . |
| 53 | +RUN rm -rf /privacyidea/pi_src |
| 54 | + |
41 | 55 | ### final stage |
42 | 56 | ### |
43 | 57 | FROM cgr.dev/chainguard/wolfi-base |
44 | 58 |
|
45 | | -ARG PYVERSION=3.12 |
| 59 | +ARG PYVERSION=3.13 |
46 | 60 | ENV PYTHONUNBUFFERED=1 |
47 | 61 | ENV PATH="/privacyidea/venv/bin:/privacyidea/bin:$PATH" |
48 | 62 | ENV PRIVACYIDEA_CONFIGFILE="/privacyidea/etc/pi.cfg" |
|
0 commit comments