forked from kylemanna/docker-openvpn
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile
38 lines (28 loc) · 1.25 KB
/
Dockerfile
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
# Original credits: https://github.com/jpetazzo/dockvpn, https://github.com/kylemanna/docker-openvpn
FROM debian:stable
LABEL maintainer="Théo Lépine <[email protected]"
ARG PAM_KEYCLOAK_OIDC_VERSION=r1.1.8
RUN apt-get update && \
apt-get install -y openvpn iptables bash easy-rsa libqrencode4 wget && \
ln -s /usr/share/easy-rsa/easyrsa /usr/local/bin && \
rm -rf /tmp/* /var/tmp/* /var/cache/apt/*
# PAM module Keycloak OIDC: https://github.com/zhaow-de/pam-keycloak-oidc
RUN mkdir /opt/pam-keycloak-oidc
RUN wget -q -O /opt/pam-keycloak-oidc/pam-keycloak-oidc https://github.com/SekoiaLab/pam-keycloak-oidc/releases/download/$PAM_KEYCLOAK_OIDC_VERSION/pam-keycloak-oidc.linux-amd64 && \
chmod 755 /opt/pam-keycloak-oidc/pam-keycloak-oidc
# Script for Keycloak/OIDC module configuration generation
COPY ./pam/openvpn-keycloak-oidc /etc/pam.d/
COPY ./utils/generate-config.sh /opt/
# Init script
COPY ./utils/init.sh /opt/
# Needed by scripts
ENV OPENVPN=/etc/openvpn
ENV EASYRSA=/usr/share/easy-rsa \
EASYRSA_CRL_DAYS=3650 \
EASYRSA_PKI=$OPENVPN/pki
VOLUME ["/etc/openvpn"]
# Internally uses port 1194/udp, remap using `docker run -p 443:1194/tcp`
EXPOSE 1194/udp
CMD ["/opt/init.sh"]
COPY ./bin /usr/local/bin
RUN chmod a+x /usr/local/bin/*