Skip to content

Commit f700a04

Browse files
committed
- bump to version 3.12.1
1 parent 0254398 commit f700a04

File tree

8 files changed

+541
-37
lines changed

8 files changed

+541
-37
lines changed

Changelog

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
1-
Version 3.12, 2025-07-03
1+
Version 3.12.1, 2025-07-03
22

3-
Release 3.12
4-
3+
Release 3.12.1
4+
5+
- Start using privacyidea github source-tree instead of python package index.
6+
- Added new webUI preview parameters. See environment/application-prod.env file for more information.
7+
- Updated resolver.json
8+
- Updated to new version.

Dockerfile

Lines changed: 21 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,45 +4,59 @@
44
###
55
FROM cgr.dev/chainguard/wolfi-base AS builder
66

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
1010
ARG GUNICORN==23.0.0
1111
ARG PSYCOPG2==2.9.10
1212
ARG PYKCS11==1.5.14
13+
ARG NODEJS_VERSION=22
1314

1415
ENV LANG=C.UTF-8
1516
ENV PYTHONDONTWRITEBYTECODE=1
1617
ENV PYTHONUNBUFFERED=1
1718
ENV PATH="/privacyidea/venv/bin:$PATH"
1819

1920
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 && \
2122
#RUN apk add python-${PYVERSION} py${PYVERSION}-pip python3-dev build-base krb5-conf krb5-dev swig && \
2223
chown -R nonroot:nonroot /privacyidea/
2324

2425
USER nonroot
2526
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
2728
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
2932
#RUN pip install -r https://raw.githubusercontent.com/privacyidea/privacyidea/v${PI_REQUIREMENTS}/requirements-kerberos.txt
3033
# Workaroud for https://github.com/privacyidea/privacyidea/issues/4127
3134
#RUN pip install -r https://raw.githubusercontent.com/privacyidea/privacyidea/v${PI_REQUIREMENTS}/requirements-hsm.txt
3235
#RUN pip install pykcs11==${PYKCS11}
3336

3437
ADD https://raw.githubusercontent.com/privacyidea/privacyidea/refs/tags/v${PI_REQUIREMENTS}/deploy/privacyidea/NetKnights.pem /privacyidea/etc/persistent/
3538

39+
3640
COPY conf/pi.cfg /privacyidea/etc/
3741
COPY conf/logging.cfg /privacyidea/etc/
3842
COPY entrypoint.py /privacyidea/entrypoint.py
3943
COPY templates/healthcheck.py /privacyidea/healthcheck.py
4044

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+
4155
### final stage
4256
###
4357
FROM cgr.dev/chainguard/wolfi-base
4458

45-
ARG PYVERSION=3.12
59+
ARG PYVERSION=3.13
4660
ENV PYTHONUNBUFFERED=1
4761
ENV PATH="/privacyidea/venv/bin:/privacyidea/bin:$PATH"
4862
ENV PRIVACYIDEA_CONFIGFILE="/privacyidea/etc/pi.cfg"

Makefile

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
PI_VERSION := "3.12"
2-
PI_VERSION_BUILD := "3.12"
1+
PI_VERSION := "3.12.1"
2+
PI_VERSION_BUILD := "3.12.1"
33
IMAGE_NAME := privacyidea-docker:${PI_VERSION}
44

55
BUILDER := docker build
@@ -54,8 +54,12 @@ fullstack:
5454
resolver:
5555
${CONTAINER_ENGINE} cp templates/resolver.json prod-privacyidea-1:/privacyidea/etc/resolver.json
5656
${CONTAINER_ENGINE} exec -ti prod-privacyidea-1 /privacyidea/venv/bin/pi-manage config import -i /privacyidea/etc/resolver.json
57-
@echo resolvers and realm created
58-
57+
@echo resolvers and realm created.
58+
@echo "############################################################################"
59+
@echo "admin login with: admin@admin / admin "
60+
@echo "helpdesk login with: helpdesk@helpdesk / helpdesk "
61+
@echo "user login with: HadiPac / hadi "
62+
@echo "############################################################################"
5963
run:
6064
@${CONTAINER_ENGINE} run -d --name ${TAG}-privacyidea \
6165
-e PI_PASSWORD=admin \

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ Sample images from this project can be found here:
7777
| [ghcr.io](https://github.com/gpappsoft/privacyidea-docker/pkgs/container/privacyidea-docker)| ```docker pull ghcr.io/gpappsoft/privacyidea-docker:latest```|
7878

7979
> [!Note]
80-
> ```latest``` tagged image is maybe a pre- or development-release. Please use always a release number (like ```3.12```)
80+
> ```latest``` tagged image is maybe a pre- or development-release. Please use always a release number (like ```3.12.1```)
8181
8282
## Quickstart
8383

@@ -130,7 +130,7 @@ You can use *Makefile* targets to build different images with different privacyI
130130

131131
#### Build a specific privacyIDEA version
132132
```
133-
make build PI_VERSION=3.12 PI_VERSION_BUILD=3.12
133+
make build PI_VERSION=3.12.1 PI_VERSION_BUILD=3.12.1
134134
```
135135

136136
#### Push to a registry
@@ -157,7 +157,7 @@ make distclean
157157

158158
| target | optional ARGS | description | example
159159
---------|----------|---|---------
160-
| ```build ``` | ```PI_VERSION```<br> ```IMAGE_NAME```|Build an image. Optional: specify the version, requirements version and image name| ```make build PI_VERSION=3.12 PI_VERSION_BUILD=3.12```|
160+
| ```build ``` | ```PI_VERSION```<br> ```IMAGE_NAME```|Build an image. Optional: specify the version, requirements version and image name| ```make build PI_VERSION=3.12.1 PI_VERSION_BUILD=3.12.1```|
161161
| ```push``` | ```REGISTRY```|Tag and push the image to the registry. Optional: specify the registry URI. Defaults to *localhost:5000*| ```make push REGISTRY=docker.io/gpappsoft/privacyidea-docker```|
162162
| ```run``` | ```PORT``` <br> ```TAG``` |Run a standalone container with gunicorn and sqlite. Optional: specify the prefix tag of the container name and listen port. Defaults to *pi* and port *8080*| ```make run TAG=prod PORT=8888```|
163163
| ```secret``` | |Generate secrets to use in an environment file | ```make secret```|
@@ -282,7 +282,7 @@ You can start the stack in the background with console detached using the **-d**
282282

283283
Full example including build with ```make```targets:
284284
```
285-
make cert build push stack PI_VERSION=3.12 PI_VERSION_BUILD=3.12 TAG=pidev
285+
make cert build push stack PI_VERSION=3.12.1 PI_VERSION_BUILD=3.12.1 TAG=pidev
286286
```
287287
---
288288
Now you can deploy additional containers like OpenLDAP for user realms or Owncloud as a client to test 2FA authentication.

entrypoint.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313

1414
app = create_app(config_name='production',config_file='/privacyidea/etc/pi.cfg')
1515

16-
os.chdir('/privacyidea/venv/lib/python3.12/site-packages/privacyidea')
16+
os.chdir('/privacyidea/')
1717

1818
# Update database schema, if set
1919
PI_UPDATE = os.environ.get('PI_UPDATE', False)

environment/application-dev.env

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,28 @@
1-
ENVIRONMENT="environment/application-dev.env"
1+
ENVIRONMENT="environment/application-prod.env"
22

3-
# PrivacyIDEA
4-
PI_VERSION=3.12
3+
## PrivacyIDEA
4+
PI_VERSION=3.12.1
55
PI_ADMIN=admin
66
PI_ADMIN_PASS=admin
7-
PI_PORT=8080
7+
PI_ADDRESS=0.0.0.0
8+
PI_PORT=8081
89
PI_LOGLEVEL=INFO
910
PI_PEPPER=changeMe
1011
PI_SECRET=changeMe
11-
PI_ENCKEY=9KraeeWGbIANYFHS+4L4YY2uRE/xP3pdeMZ5hrHYagmFo5vbYxNcruv4mh2P/pX6xUp+Px/AKLPANzi1s3N4O2vWEC7a2yzk3o4LcWKupFAbW/Jl1kM16EvCyCQ9hpKe
12-
12+
#PI_ENCKEY=9KraeeWGbIANYFHS+4L4YY2uRE/xP3pdeMZ5hrHYagmFo5vbYxNcruv4mh2P/pX6xUp+Px/AKLPANzi1s3N4O2vWEC7a2yzk3o4LcWKupFAbW/Jl1kM16EvCyCQ9hpKe
1313
SUPERUSER_REALM="admin,helpdesk"
14+
SQLALCHEMY_ENGINE_OPTIONS=False
15+
#PI_AUDIT_NO_SIGN=False
16+
#PI_AUDIT_SQL_URI=
17+
PI_AUDIT_KEY_PRIVATE="/privacyidea/etc/persistent/private.pem"
18+
PI_AUDIT_KEY_PUBLIC="/privacyidea/etc/persistent/public.pem"
19+
20+
## uncomment two lines below for new UI preview
21+
#PI_STATIC_FOLDER="static_new/"
22+
#PI_TEMPLATE_FOLDER="static_new/dist/privacyidea-webui/browser/"
23+
1424

15-
# DB connection parameters
25+
## DB connection parameters
1626
DB_HOST=db
1727
DB_PORT=3306
1828
DB_NAME=pi
@@ -21,13 +31,13 @@ DB_PASSWORD=superSecret
2131
DB_API=mysql+pymysql
2232
DB_EXTRA_PARAMS="?charset=utf8"
2333

24-
# reverse proxy port
34+
## reverse proxy port
2535
PROXY_PORT=8444
2636
PROXY_SERVERNAME=localhost
2737

28-
# External RADIUS ports
38+
## External RADIUS ports
2939
RADIUS_PORT=1814
3040
RADIUS_PORT_INC=1815
3141

32-
# External LDAP port
33-
LDAP_PORT=1689
42+
## External LDAP port
43+
LDAP_PORT=1398

environment/application-prod.env

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
ENVIRONMENT="environment/application-prod.env"
22

3-
# PrivacyIDEA
4-
PI_VERSION=3.12
3+
## PrivacyIDEA
4+
PI_VERSION=3.12.1
55
PI_ADMIN=admin
66
PI_ADMIN_PASS=admin
77
PI_ADDRESS=0.0.0.0
@@ -16,7 +16,13 @@ SQLALCHEMY_ENGINE_OPTIONS=False
1616
#PI_AUDIT_SQL_URI=
1717
PI_AUDIT_KEY_PRIVATE="/privacyidea/etc/persistent/private.pem"
1818
PI_AUDIT_KEY_PUBLIC="/privacyidea/etc/persistent/public.pem"
19-
# DB connection parameters
19+
20+
## uncomment two lines below for new UI preview
21+
#PI_STATIC_FOLDER="static_new/"
22+
#PI_TEMPLATE_FOLDER="static_new/dist/privacyidea-webui/browser/"
23+
24+
25+
## DB connection parameters
2026
DB_HOST=db
2127
DB_PORT=3306
2228
DB_NAME=pi
@@ -25,13 +31,13 @@ DB_PASSWORD=superSecret
2531
DB_API=mysql+pymysql
2632
DB_EXTRA_PARAMS="?charset=utf8"
2733

28-
# reverse proxy port
34+
## reverse proxy port
2935
PROXY_PORT=8443
3036
PROXY_SERVERNAME=localhost
3137

32-
# External RADIUS ports
38+
## External RADIUS ports
3339
RADIUS_PORT=1812
3440
RADIUS_PORT_INC=1813
3541

36-
# External LDAP port
42+
## External LDAP port
3743
LDAP_PORT=1389

0 commit comments

Comments
 (0)