easyappointments (1.6.0-bexsys-gc535834e5c4a)
Published 2026-08-13 11:12:47 +00:00 by clement
Installation
docker pull git.bexsys.fr/bexsys/easyappointments:1.6.0-bexsys-gc535834e5c4asha256:16b020aa80f1c419f7875732a322d5c28e1a962aee45a9be246a321a0b8a37e0Image layers
| # debian.sh --arch 'amd64' out/ 'trixie' '@1771804800' |
| RUN /bin/sh -c set -eux; { echo 'Package: php*'; echo 'Pin: release *'; echo 'Pin-Priority: -1'; } > /etc/apt/preferences.d/no-debian-php # buildkit |
| ENV PHPIZE_DEPS=autoconf dpkg-dev file g++ gcc libc-dev make pkg-config re2c |
| RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends $PHPIZE_DEPS ca-certificates curl xz-utils ; apt-get dist-clean # buildkit |
| ENV PHP_INI_DIR=/usr/local/etc/php |
| RUN /bin/sh -c set -eux; mkdir -p "$PHP_INI_DIR/conf.d"; [ ! -d /var/www/html ]; mkdir -p /var/www/html; chown www-data:www-data /var/www/html; chmod 1777 /var/www/html # buildkit |
| ENV APACHE_CONFDIR=/etc/apache2 |
| ENV APACHE_ENVVARS=/etc/apache2/envvars |
| RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends apache2; apt-get dist-clean; sed -ri 's/^export ([^=]+)=(.*)$/: ${\1:=\2}\nexport \1/' "$APACHE_ENVVARS"; . "$APACHE_ENVVARS"; for dir in "$APACHE_LOCK_DIR" "$APACHE_RUN_DIR" "$APACHE_LOG_DIR" "$APACHE_RUN_DIR/socks" ; do rm -rvf "$dir"; mkdir -p "$dir"; chown "$APACHE_RUN_USER:$APACHE_RUN_GROUP" "$dir"; chmod 1777 "$dir"; done; rm -rvf /var/www/html/*; ln -sfT /dev/stderr "$APACHE_LOG_DIR/error.log"; ln -sfT /dev/stdout "$APACHE_LOG_DIR/access.log"; ln -sfT /dev/stdout "$APACHE_LOG_DIR/other_vhosts_access.log"; chown -R --no-dereference "$APACHE_RUN_USER:$APACHE_RUN_GROUP" "$APACHE_LOG_DIR" # buildkit |
| RUN /bin/sh -c a2dismod mpm_event && a2enmod mpm_prefork # buildkit |
| RUN /bin/sh -c { echo '<FilesMatch \.php$>'; echo '\tSetHandler application/x-httpd-php'; echo '</FilesMatch>'; echo; echo 'DirectoryIndex disabled'; echo 'DirectoryIndex index.php index.html'; echo; echo '<Directory /var/www/>'; echo '\tOptions -Indexes'; echo '\tAllowOverride All'; echo '</Directory>'; } | tee "$APACHE_CONFDIR/conf-available/docker-php.conf" && a2enconf docker-php # buildkit |
| ENV PHP_CFLAGS=-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 |
| ENV PHP_CPPFLAGS=-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 |
| ENV PHP_LDFLAGS=-Wl,-O1 -pie |
| ENV GPG_KEYS=39B641343D8C104B2B146DC3F9C39DC0B9698544 E60913E4DF209907D8E30D96659A97C9CF2A795A 1198C0117593497A5EC5C199286AF1F9897469DC |
| ENV PHP_VERSION=8.2.30 |
| ENV PHP_URL=https://www.php.net/distributions/php-8.2.30.tar.xz PHP_ASC_URL=https://www.php.net/distributions/php-8.2.30.tar.xz.asc |
| ENV PHP_SHA256=bc90523e17af4db46157e75d0c9ef0b9d0030b0514e62c26ba7b513b8c4eb015 |
| RUN /bin/sh -c set -eux; savedAptMark="$(apt-mark showmanual)"; apt-get update; apt-get install -y --no-install-recommends gnupg; apt-get dist-clean; mkdir -p /usr/src; cd /usr/src; curl -fsSL -o php.tar.xz "$PHP_URL"; if [ -n "$PHP_SHA256" ]; then echo "$PHP_SHA256 *php.tar.xz" | sha256sum -c -; fi; curl -fsSL -o php.tar.xz.asc "$PHP_ASC_URL"; export GNUPGHOME="$(mktemp -d)"; for key in $GPG_KEYS; do gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key"; done; gpg --batch --verify php.tar.xz.asc php.tar.xz; gpgconf --kill all; rm -rf "$GNUPGHOME"; apt-mark auto '.*' > /dev/null; apt-mark manual $savedAptMark > /dev/null; apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false # buildkit |
| COPY docker-php-source /usr/local/bin/ # buildkit |
| RUN /bin/sh -c set -eux; savedAptMark="$(apt-mark showmanual)"; apt-get update; apt-get install -y --no-install-recommends apache2-dev libargon2-dev libcurl4-openssl-dev libonig-dev libreadline-dev libsodium-dev libsqlite3-dev libssl-dev libxml2-dev zlib1g-dev ; export CFLAGS="$PHP_CFLAGS" CPPFLAGS="$PHP_CPPFLAGS" LDFLAGS="$PHP_LDFLAGS" PHP_BUILD_PROVIDER='https://github.com/docker-library/php' PHP_UNAME='Linux - Docker' ; docker-php-source extract; cd /usr/src/php; gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; debMultiarch="$(dpkg-architecture --query DEB_BUILD_MULTIARCH)"; if [ ! -d /usr/include/curl ]; then ln -sT "/usr/include/$debMultiarch/curl" /usr/local/include/curl; fi; test "$PHP_INI_DIR" != "${PHP_INI_DIR%/php}"; ./configure --build="$gnuArch" --sysconfdir="${PHP_INI_DIR%/php}" --with-config-file-path="$PHP_INI_DIR" --with-config-file-scan-dir="$PHP_INI_DIR/conf.d" --enable-option-checking=fatal --with-mhash --with-pic --enable-mbstring --enable-mysqlnd --with-password-argon2 --with-sodium=shared --with-pdo-sqlite=/usr --with-sqlite3=/usr --with-curl --with-iconv --with-openssl --with-readline --with-zlib --disable-phpdbg --with-pear $(test "$gnuArch" = 'riscv64-linux-gnu' && echo '--without-pcre-jit') --with-libdir="lib/$debMultiarch" --disable-cgi --with-apxs2 ; make -j "$(nproc)"; find -type f -name '*.a' -delete; make install; find /usr/local -type f -perm '/0111' -exec sh -euxc ' strip --strip-all "$@" || : ' -- '{}' + ; make clean; cp -v php.ini-* "$PHP_INI_DIR/"; cd /; docker-php-source delete; apt-mark auto '.*' > /dev/null; [ -z "$savedAptMark" ] || apt-mark manual $savedAptMark; find /usr/local -type f -executable -exec ldd '{}' ';' | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' | sort -u | xargs -rt dpkg-query --search | awk 'sub(":$", "", $1) { print $1 }' | sort -u | xargs -r apt-mark manual ; apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; apt-get dist-clean; pecl update-channels; rm -rf /tmp/pear ~/.pearrc; php --version # buildkit |
| COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # buildkit |
| RUN /bin/sh -c docker-php-ext-enable opcache # buildkit |
| RUN /bin/sh -c docker-php-ext-enable sodium # buildkit |
| ENTRYPOINT ["docker-php-entrypoint"] |
| STOPSIGNAL SIGWINCH |
| COPY apache2-foreground /usr/local/bin/ # buildkit |
| WORKDIR /var/www/html |
| EXPOSE map[80/tcp:{}] |
| CMD ["apache2-foreground"] |
| MAINTAINER Alex Tselegidis (alextselegidis.com) |
| ARG VERSION=1.6.0 |
| ENV BASE_URL=http://localhost |
| ENV LANGUAGE=english |
| ENV DEBUG_MODE=FALSE |
| ENV DB_HOST=db |
| ENV DB_NAME=easyappointments |
| ENV DB_USERNAME=root |
| ENV DB_PASSWORD=secret |
| ENV GOOGLE_SYNC_FEATURE=FALSE |
| ENV GOOGLE_PRODUCT_NAME= |
| ENV GOOGLE_CLIENT_ID= |
| ENV GOOGLE_CLIENT_SECRET= |
| ENV GOOGLE_API_KEY= |
| ENV MAIL_PROTOCOL=mail |
| ENV MAIL_SMTP_DEBUG=0 |
| ENV MAIL_SMTP_AUTH=0 |
| ENV MAIL_SMTP_HOST= |
| ENV MAIL_SMTP_USER= |
| ENV MAIL_SMTP_PASS= |
| ENV MAIL_SMTP_CRYPTO=tls |
| ENV MAIL_SMTP_PORT=587 |
| ENV MAIL_FROM_ADDRESS= |
| ENV MAIL_FROM_NAME= |
| ENV MAIL_REPLY_TO_ADDRESS= |
| EXPOSE [80/tcp] |
| WORKDIR /var/www/html |
| COPY ./assets/99-overrides.ini /usr/local/etc/php/conf.d # buildkit |
| COPY ./assets/docker-entrypoint.sh /usr/local/bin # buildkit |
| RUN |1 VERSION=1.6.0 /bin/sh -c apt-get update && apt-get install -y libfreetype-dev libjpeg62-turbo-dev libpng-dev unzip wget && curl -sSL https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions -o - | sh -s curl gd intl ldap mbstring mysqli xdebug odbc pdo pdo_mysql xml zip exif gettext bcmath csv event imap inotify mcrypt redis && docker-php-ext-enable xdebug && wget https://github.com/alextselegidis/easyappointments/releases/download/${VERSION}/easyappointments-${VERSION}.zip && unzip easyappointments-${VERSION}.zip && rm easyappointments-${VERSION}.zip && echo "alias ll=\"ls -al\"" >> /root/.bashrc && apt-get -y autoremove && apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* && chown -R www-data:www-data . # buildkit |
| ENTRYPOINT ["docker-entrypoint.sh"] |
| ENV APP_ENV=production BASE_URL=https://bexsys.fr/book LANGUAGE=french DEBUG_MODE=FALSE DB_PASSWORD_FILE=/run/secrets/easyappointments_db_password MAIL_SMTP_PASS_FILE=/run/secrets/easyappointments_smtp_password ENCRYPTION_KEY_FILE=/run/secrets/easyappointments_encryption_key TRUSTED_PROXIES=10.100.10.0/24 CORS_ALLOWED_ORIGINS=https://bexsys.fr BEXSYS_FREEBUSY_ENABLED=FALSE |
| RUN /bin/sh -c rm -f /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini && mkdir -p /var/www/html/application/config/production # buildkit |
| COPY easyappointments/image/99-bexsys.ini /usr/local/etc/php/conf.d/zz-bexsys.ini # buildkit |
| COPY easyappointments/image/bexsys-config.php /var/www/html/application/config/production/config.php # buildkit |
| COPY easyappointments/image/docker-entrypoint-bexsys.sh /usr/local/bin/docker-entrypoint-bexsys.sh # buildkit |
| COPY easyappointments/image/Bexsys_freebusy_core.php /var/www/html/application/libraries/Bexsys_freebusy_core.php # buildkit |
| COPY easyappointments/image/Bexsys_freebusy.php /var/www/html/application/libraries/Bexsys_freebusy.php # buildkit |
| COPY easyappointments/image/Bexsys_booking_fields.php /var/www/html/application/libraries/Bexsys_booking_fields.php # buildkit |
| COPY easyappointments/image/Bexsys_booking_policy_core.php /var/www/html/application/libraries/Bexsys_booking_policy_core.php # buildkit |
| COPY easyappointments/image/Bexsys_booking_policy.php /var/www/html/application/libraries/Bexsys_booking_policy.php # buildkit |
| COPY easyappointments/image/Bexsys_local_booking_buffer_core.php /var/www/html/application/libraries/Bexsys_local_booking_buffer_core.php # buildkit |
| COPY easyappointments/image/Bexsys_local_booking_buffer.php /var/www/html/application/libraries/Bexsys_local_booking_buffer.php # buildkit |
| COPY easyappointments/image/Bexsys_notification_recipients.php /var/www/html/application/libraries/Bexsys_notification_recipients.php # buildkit |
| COPY --chown=www-data:www-data easyappointments/image/Bexsys_booking_flow.js /var/www/html/assets/js/pages/bexsys_booking_flow.js # buildkit |
| COPY --chown=www-data:www-data easyappointments/image/Bexsys_booking_flow.js /var/www/html/assets/js/pages/bexsys_booking_flow.min.js # buildkit |
| COPY --chown=www-data:www-data easyappointments/image/Bexsys_booking_flow.css /var/www/html/assets/css/bexsys_booking_flow.css # buildkit |
| COPY --chown=www-data:www-data easyappointments/image/Bexsys_booking_flow.css /var/www/html/assets/css/bexsys_booking_flow.min.css # buildkit |
| COPY easyappointments/image/patch-availability.php /tmp/patch-availability.php # buildkit |
| COPY easyappointments/image/patch-email-messages.php /tmp/patch-email-messages.php # buildkit |
| COPY easyappointments/image/patch-professional-fields.php /tmp/patch-professional-fields.php # buildkit |
| COPY easyappointments/image/patch-booking-flow.php /tmp/patch-booking-flow.php # buildkit |
| COPY easyappointments/image/patch-local-booking-buffer.php /tmp/patch-local-booking-buffer.php # buildkit |
| COPY easyappointments/image/patch-bexsys-customer-emails.php /tmp/patch-bexsys-customer-emails.php # buildkit |
| COPY easyappointments/image/patch-notification-dedupe.php /tmp/patch-notification-dedupe.php # buildkit |
| COPY easyappointments/image/Bexsys_email_plain_text.php /tmp/Bexsys_email_plain_text.php # buildkit |
| COPY easyappointments/image/bexsys-appointment-saved-email.php /tmp/bexsys-appointment-saved-email.php # buildkit |
| COPY easyappointments/image/bexsys-appointment-deleted-email.php /tmp/bexsys-appointment-deleted-email.php # buildkit |
| COPY easyappointments/image/tests/freebusy_filter_test.php /tmp/freebusy_filter_test.php # buildkit |
| COPY easyappointments/image/tests/smtp_auth_type_test.php /tmp/smtp_auth_type_test.php # buildkit |
| COPY easyappointments/image/tests/professional_fields_test.php /tmp/professional_fields_test.php # buildkit |
| COPY easyappointments/image/tests/booking_policy_test.php /tmp/booking_policy_test.php # buildkit |
| COPY easyappointments/image/tests/booking_flow_test.php /tmp/booking_flow_test.php # buildkit |
| COPY easyappointments/image/tests/local_booking_buffer_test.php /tmp/local_booking_buffer_test.php # buildkit |
| COPY easyappointments/image/tests/customer_email_test.php /tmp/customer_email_test.php # buildkit |
| COPY easyappointments/image/tests/notification_dedupe_test.php /tmp/notification_dedupe_test.php # buildkit |
| RUN /bin/sh -c php -l /var/www/html/application/libraries/Bexsys_freebusy_core.php && php -l /var/www/html/application/libraries/Bexsys_freebusy.php && php -l /var/www/html/application/libraries/Bexsys_booking_fields.php && php -l /var/www/html/application/libraries/Bexsys_booking_policy_core.php && php -l /var/www/html/application/libraries/Bexsys_booking_policy.php && php -l /var/www/html/application/libraries/Bexsys_local_booking_buffer_core.php && php -l /var/www/html/application/libraries/Bexsys_local_booking_buffer.php && php -l /var/www/html/application/libraries/Bexsys_notification_recipients.php && php -l /tmp/patch-availability.php && php -l /tmp/patch-email-messages.php && php -l /tmp/patch-professional-fields.php && php -l /tmp/patch-booking-flow.php && php -l /tmp/patch-local-booking-buffer.php && php -l /tmp/patch-bexsys-customer-emails.php && php -l /tmp/patch-notification-dedupe.php && php -l /tmp/Bexsys_email_plain_text.php && php -l /tmp/bexsys-appointment-saved-email.php && php -l /tmp/bexsys-appointment-deleted-email.php && php /tmp/patch-availability.php && php /tmp/patch-email-messages.php && php /tmp/patch-professional-fields.php && php /tmp/patch-booking-flow.php && php /tmp/patch-local-booking-buffer.php && php /tmp/patch-bexsys-customer-emails.php && php /tmp/patch-notification-dedupe.php && php -l /var/www/html/application/libraries/Availability.php && php -l /var/www/html/application/libraries/Email_messages.php && php -l /var/www/html/application/libraries/Notifications.php && php -l /var/www/html/application/libraries/Bexsys_email_plain_text.php && php -l /var/www/html/application/libraries/Bexsys_notification_recipients.php && php -l /var/www/html/application/libraries/Ics_file.php && php -l /var/www/html/application/controllers/Booking.php && php -l /var/www/html/application/views/emails/appointment_saved_email.php && php -l /var/www/html/application/views/emails/appointment_deleted_email.php && php -l /var/www/html/application/helpers/setting_helper.php && php -l /var/www/html/application/controllers/Booking_settings.php && php -l /var/www/html/application/views/pages/booking.php && php /tmp/freebusy_filter_test.php && php /tmp/smtp_auth_type_test.php && php /tmp/professional_fields_test.php && php /tmp/booking_policy_test.php && php /tmp/booking_flow_test.php && php /tmp/local_booking_buffer_test.php && php /tmp/customer_email_test.php && php /tmp/notification_dedupe_test.php && rm -f /tmp/patch-availability.php /tmp/patch-email-messages.php /tmp/patch-professional-fields.php /tmp/patch-booking-flow.php /tmp/patch-local-booking-buffer.php /tmp/patch-bexsys-customer-emails.php /tmp/patch-notification-dedupe.php /tmp/Bexsys_email_plain_text.php /tmp/bexsys-appointment-saved-email.php /tmp/bexsys-appointment-deleted-email.php /tmp/freebusy_filter_test.php /tmp/smtp_auth_type_test.php /tmp/professional_fields_test.php /tmp/booking_policy_test.php /tmp/booking_flow_test.php /tmp/local_booking_buffer_test.php /tmp/customer_email_test.php /tmp/notification_dedupe_test.php # buildkit |
| COPY --chown=www-data:www-data easyappointments/theme/bexsys.css /var/www/html/assets/css/themes/bexsys.css # buildkit |
| COPY --chown=www-data:www-data easyappointments/theme/bexsys.min.css /var/www/html/assets/css/themes/bexsys.min.css # buildkit |
| COPY --chown=www-data:www-data easyappointments/theme/bexsys.css /var/www/html/assets/css/themes/default.css # buildkit |
| COPY --chown=www-data:www-data easyappointments/theme/bexsys.min.css /var/www/html/assets/css/themes/default.min.css # buildkit |
| RUN /bin/sh -c chmod 0755 /usr/local/bin/docker-entrypoint-bexsys.sh && chmod 0644 /usr/local/etc/php/conf.d/zz-bexsys.ini /var/www/html/application/config/production/config.php /var/www/html/application/libraries/Bexsys_freebusy_core.php /var/www/html/application/libraries/Bexsys_freebusy.php /var/www/html/application/libraries/Bexsys_booking_fields.php /var/www/html/application/libraries/Bexsys_booking_policy_core.php /var/www/html/application/libraries/Bexsys_booking_policy.php /var/www/html/application/libraries/Bexsys_local_booking_buffer_core.php /var/www/html/application/libraries/Bexsys_local_booking_buffer.php /var/www/html/application/libraries/Bexsys_notification_recipients.php /var/www/html/application/libraries/Bexsys_email_plain_text.php /var/www/html/application/views/emails/appointment_saved_email.php /var/www/html/application/views/emails/appointment_deleted_email.php /var/www/html/assets/js/pages/bexsys_booking_flow.js /var/www/html/assets/js/pages/bexsys_booking_flow.min.js /var/www/html/assets/css/bexsys_booking_flow.css /var/www/html/assets/css/bexsys_booking_flow.min.css /var/www/html/assets/css/themes/bexsys.css /var/www/html/assets/css/themes/bexsys.min.css /var/www/html/assets/css/themes/default.css /var/www/html/assets/css/themes/default.min.css # buildkit |
| WORKDIR /var/www/html |
| ENTRYPOINT ["docker-entrypoint-bexsys.sh"] |
Details
2026-08-13 11:12:47 +00:00
Versions (7)
View all
Container
1
OCI / Docker
linux/amd64
208 MiB
1.6.0-bexsys-gc535834e5c4a
2026-08-13
1.6.0-bexsys-g82ec3476cf48
2026-08-13
1.6.0-bexsys-g47266496e42d
2026-08-13
1.6.0-bexsys-g68fed5d25597
2026-08-13
1.6.0-bexsys-g102edb13d790
2026-08-12