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: New release 5.8.8.4
ENH: Better docker support (also for Synology)
ENH: Add Raspberry Pi Bullseye 11.0 support
New release 5.8.7.0
FIX: Token "Without2FA" where not working all time with LDAP users
ENH: Embedded Windows nginx edition updated to version 1.21.6
ENH: Embedded Windows PHP edition updated to version 7.4.29
ENH: New MariaDB/MySQL indexes handling during schema creation and schema updates
ENH: Enhanced internal tests
ENH: Telnyx SMS provider support
ENH: PHP 7.4 deprecated code cleaned
ENH: Email token is now supported for Credential Provider
ENH: In CLI check, if username doesn't exist, it try automatically a shorter domain name step by step
ENH: Enhanced multiOTP Credential Provider support
ENH: VM version 011 support
(Debian Bullseye 11.0, PHP 7.4, FreeRADIUS 3.0.21, Nginx 1.18.0)
ENH: Removed multicast support on the network card
5.8.2.9 Added compatibility with new multiOTP Credential Provider
New release 5.8.2.3
FIX: Dockerfile updated (php-bcmath added)
Added php-bcmath (thx benson for the debug ;-)
New release 5.8.2.1
ENH: eDirectory LDAP server support (set the LDAP server type value to 4)
ENH: Raspberry content also in source file
New release 5.8.1.9
FIX: Cookie privacy (httponly and secure) backported to previous virtual appliances
ENH: Weak SSL ciphers disabled
ENH: Better Docker support
ENH: Better log handling
Update Dockerfile
New release 5.8.1.1
FIX: In some cases, the HOTP/TOTP was not well computed
New release 5.8.1.0
FIX: Too many ReadConfigData loop during initialization
FIX: Better unicode handling, multibyte fonctions also for mb_substr()
FIX: A device file was searched with the name of the FreeRADIUS Client-Shortname
ENH: Enhanced Web GUI accounts list (green=AD/LDAP synced, orange = delayed, red=locked)
ENH: -sync-delete-retention-days= option is set by default to 30 days
ENH: VM version 010 support (Debian Buster 10.5, PHP 7.3, FreeRADIUS 3.0.17)
ENH: MySQL optimization
ENH: Enhanced windows command line scripts (automatic administrator level)
ENH: New -sync-delete-retention-days= option in order to purge inexistent AD/LDAP users (SetSyncDeleteRetentionDays and GetSyncDeleteRetentionDays method)
ENH: Raspberry Pi 4B support
ENH: New unified distribution
ENH: Debian Buster 10.5 support
ENH: Enhanced PHP 7.3 support
ENH: Better mysqli support for alternate connection port
New release 5.6.1.5
FIX: Separated configuration/statistics storage handling
FIX: IsTemporaryBadServer function (thanks to brownowski on GitHub)
ENH: Better PHP 7.3 support
ENH: Base32 encoder/decoder new implementation
ENH: During WriteConfigData, loop on the current values, and check with the old values
ENH: Enhanced internal tests
ENH: Give an info if time based token is probably out of sync (in a window 10 time bigger)
(for example for hardware tokens not used for a long time)
ENH: Modifications for Debian 10.x (buster) binary images support (64 bits)
ENH: Enhanced error messages, more log information
ENH: In debug mode, display an error if logfile cannot be written
ENH: Global Access-Challenge support
ENH: New QRcode library used (without external files dependency)
ENH: New Raspberry images support for Raspberry Pi 1B/1B+/2B/3B/3B+
Date: 6 months ago
Size: 5,057 bytes
 

Contents

Class file image Download
########################################################################## # # @file Dockerfile # @brief multiOTP open source docker image creator (based on Debian 8) # # 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, <info@multiotp.net> # @version 5.8.8.4 # @date 2022-05-08 # @since 2013-11-29 # @copyright (c) 2013-2022 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 # # 2022-05-08 5.8.8.4 SysCo/al Better docker support (also for Synology) # 2022-05-08 5.8.8.1 SysCo/al Add Raspberry Pi Bullseye 11.0 support # 2021-09-14 5.8.3.0 SysCo/al Debian Bullseye 11.0 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 10 support # 2019-01-07 5.4.1.1 SysCo/al Debian 9 support # 2018-03-20 5.1.1.2 SysCo/al Initial public Dockerfile release ########################################################################## FROM debian:11 ENV DEBIAN 11 ENV PHPINSTALLPREFIX php ENV PHPINSTALLPREFIXVERSION php7.4 ENV PHPVERSION 7.4 ENV SQLITEVERSION sqlite3 MAINTAINER Andre Liechti <andre.liechti@multiotp.net> LABEL 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.8.8.4" 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 \ ntp \ 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 \ 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 && \ /boot/newvm.sh INIT 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