PHP Classes

File: Dockerfile

Recommend this page to a friend!
  Classes of André Liechti   multiOTP PHP class   Dockerfile   Download  
File: Dockerfile
Role: Auxiliary data
Content type: text/plain
Description: Auxiliary data
Class: multiOTP PHP class
Authenticate and manage OTP strong user tokens
Author: By
Last change: Release 5.10.0.2 - Fixed docker issue
Release 5.10.0.1
New release 5.9.9.1
FIX: Windows backup temp folder is now the default system temp folder
FIX: Adding -sync-delete-retention-days parameter doesn't return missing parameters error
FIX: Case sensitive issue has been fixed with MSCHAPv2 authentication (thanks Alexey)
FIX: Case sensitive issue has been fixed during FastCreateUser process
FIX: {MultiotpUserDisplayName} tag usage in templates (was not replaced in the QRcode)
ENH: Created users are trimmed to avoid bad space prefix/suffix during copy/paste
ENH: multiOTP Credential Provider enhanced support
ENH: New default-2fa-digits command line option to set the default amount of OTP digits
ENH: PHP 8.4.x deprecated code cleaned (xml_set_object removed)
ENH: New Message-Authenticator requirement support for FortiGate v7.2.10+, v7.4.5+ and v7.6.1+
ENH: New SetCurrentUserSid function for new Credential Provider -usersid option
ENH: Embedded Windows PHP edition updated to version 8.3.15
ENH: Embedded Windows nginx edition updated to version 1.27.3
New release 5.9.8.0
FIX: Database backend setup and initialization was not working well with some PHP version
ENH: New option to force writing logs only in file (even if the backend is a database)
ENH: Spryng SMS provider support
ENH: PHP 8.2.x deprecated code cleaned (null for string parameters)
FIX: without2fa token can be now correctly converted to TOTP with default 30 seconds time interval
FIX: Without2fa tokens with prefix pin where not working with CHAP/MSCHAP/MSCHAPv2
FIX: Windows: radiusd.conf and clients.conf files removed from the distribution
(they are created automatically when installing the services using radius_install.cmd)
ENH: Windows: -debug option removed from the radius module launcher
ENH: By design, Credential Provider check request don't wait any prefix. This behavior can now be overwrited.
Date: 1 month ago
Size: 5,569 bytes
 

Contents

Class file image Download
########################################################################## # # @file Dockerfile # @brief multiOTP open source docker image creator # # multiOTP package - Strong two-factor authentication open source package # https://www\.multiOTP.net/ # # The multiOTP package is the lightest package available that provides so many # strong authentication functionalities and goodies, and best of all, for anyone # that is interested about security issues, it's a fully open source solution! # # This package is the result of a *LOT* of work. If you are happy using this # package, [Donation] are always welcome to support this project. # Please check https://www\.multiOTP.net/ and you will find the magic button ;-) # # @author Andre Liechti, SysCo systemes de communication sa, <[email protected]> # @version 5.10.0.2 # @date 2025-10-31 # @since 2013-11-29 # @copyright (c) 2013-2025 SysCo systemes de communication sa # @copyright GNU Lesser General Public License # # docker build . # docker run -v [PATH/TO/MULTIOTP/DATA/VOLUME]:/etc/multiotp -v [PATH/TO/FREERADIUS/CONFIG/VOLUME]:/etc/freeradius -v [PATH/TO/MULTIOTP/LOG/VOLUME]:/var/log/multiotp -v [PATH/TO/FREERADIUS/LOG/VOLUME]:/var/log/freeradius -p [HOST WWW PORT NUMBER]:80 -p [HOST SSL PORT NUMBER]:443 -p [HOST RADIUS-AUTH PORT NUMBER]:1812/udp -p [HOST RADIUS-ACCNT PORT NUMBER]:1813/udp -d xxxxxxxxxxxx # # 2025-10-31 5.10.0.2 SysCo/al /boot/newvm.sh INIT no more called by RUN # Updated Docker format # 2025-10-16 5.9.9.3 SysCo/al Debian Trixie 13 support # 2023-10-11 5.9.6.8 SysCo/al Debian Bookworm 12 support # 2022-05-08 5.8.8.4 SysCo/al Better docker support (also for Synology) # 2022-05-08 5.8.8.1 SysCo/al Raspberry Pi Bullseye 11 support # 2021-09-14 5.8.3.0 SysCo/al Debian Bullseye 11 support # 2021-05-19 5.8.2.3 SysCo/al Added php-bcmath # 2021-03-25 5.8.1.9 SysCo/al Remove apt-offline, which is not used # 2020-08-31 5.8.0.0 SysCo/al Debian Buster 10.5 support # 2019-10-22 5.6.1.3 SysCo/al Debian Buster 10 support # 2019-01-07 5.4.1.1 SysCo/al Debian Strech 9 support # 2018-03-20 5.1.1.2 SysCo/al Initial public Dockerfile release ########################################################################## FROM debian:13 ENV DEBIAN=13 ENV PHPINSTALLPREFIX=php ENV PHPINSTALLPREFIXVERSION=php8.4 ENV PHPVERSION=8.4 ENV SQLITEVERSION=sqlite3 LABEL org.opencontainers.image.title="multiOTP open source" LABEL org.opencontainers.image.description="multiOTP open source, running on Debian ${DEBIAN} with PHP${PHPVERSION}." \ License="LGPL-3.0" \ Usage="docker run -v [PATH/TO/MULTIOTP/DATA/VOLUME]:/etc/multiotp -v [PATH/TO/FREERADIUS/CONFIG/VOLUME]:/etc/freeradius -v [PATH/TO/MULTIOTP/LOG/VOLUME]:/var/log/multiotp -v [PATH/TO/FREERADIUS/LOG/VOLUME]:/var/log/freeradius -p [HOST WWW PORT NUMBER]:80 -p [HOST SSL PORT NUMBER]:443 -p [HOST RADIUS-AUTH PORT NUMBER]:1812/udp -p [HOST RADIUS-ACCNT PORT NUMBER]:1813/udp -d multiotp-open-source" \ Version="5.10.0.2" LABEL org.opencontainers.image.Version="5.10.0.2" LABEL org.opencontainers.image.authors="Andre Liechti <[email protected]>" LABEL org.opencontainers.image.url="https://www.multiotp.net" LABEL org.opencontainers.image.source="https://github.com/multiOTP/multiotp" ARG DEBIAN_FRONTEND=noninteractive RUN echo slapd slapd/internal/adminpw password rtzewrpiZRT753 | debconf-set-selections; \ echo slapd slapd/internal/generated_adminpw password rtzewrpiZRT753 | debconf-set-selections; \ echo slapd slapd/password2 password rtzewrpiZRT753 | debconf-set-selections; \ echo slapd slapd/password1 password rtzewrpiZRT753 | debconf-set-selections; # Make sure you run apt-get update in the same line with # all the packages to ensure all are updated correctly. # (https://runnable.com/blog/9-common-dockerfile-mistakes) RUN apt-get update && \ apt-get install -y \ apache2-utils \ apt-utils \ build-essential \ bzip2 \ dialog \ dselect \ freeradius \ initramfs-tools \ ldap-utils \ libbz2-dev \ logrotate \ nano \ net-tools \ nginx-extras \ p7zip-full \ php-pear \ ${PHPINSTALLPREFIX}-bcmath \ ${PHPINSTALLPREFIX}-cgi \ ${PHPINSTALLPREFIX}-dev \ ${PHPINSTALLPREFIX}-fpm \ ${PHPINSTALLPREFIX}-gd \ ${PHPINSTALLPREFIX}-gmp \ ${PHPINSTALLPREFIX}-ldap \ ${PHPINSTALLPREFIXVERSION}-${SQLITEVERSION} \ slapd \ snmp \ snmpd \ ${SQLITEVERSION} \ subversion \ sudo \ tcpdump \ unzip \ wget \ ${PHPINSTALLPREFIX}-mbstring ############################################################ # Offline local docker image creation ############################################################ COPY raspberry/boot-part/*.sh /boot/ COPY raspberry/boot-part/multiotp-tree /boot/multiotp-tree/ ############################################################ # Take online the latest version of multiOTP open source # (if you want to build an image with the latest # available version instead of the local one) # # RUN wget -q https://download.multiotp.net/multiotp.zip -O /tmp/multiotp.zip && \ # unzip -q -o /tmp/multiotp.zip -d /tmp/multiotp # # RUN mv /tmp/multiotp/raspberry/boot-part/* /boot && \ # rm -rf /tmp/multiotp ############################################################ WORKDIR / RUN chmod 777 /boot/*.sh && \ /boot/install.sh EXPOSE 80/tcp 443/tcp 1812/udp 1813/udp VOLUME /etc/multiotp /etc/freeradius /var/log/multiotp /var/log/freeradius ENTRYPOINT ["/boot/newvm.sh", "RUNDOCKER"]