public/apache-php (sha256:1eb89d43dd619e0cfb7e18754f8c54ce491d283641a4bd6fcc14d10214c3b8ca)
Published 2025-10-24 22:41:06 +07:00 by panuwat.n
Installation
docker pull git.web2.rmutsv.ac.th/administrator/public/apache-php@sha256:1eb89d43dd619e0cfb7e18754f8c54ce491d283641a4bd6fcc14d10214c3b8casha256:1eb89d43dd619e0cfb7e18754f8c54ce491d283641a4bd6fcc14d10214c3b8caImage Layers
| ADD file:d08e242792caa7f842fcf39a09ad59c97a856660e2013d5aed3e4a29197e9aaa in / |
| CMD ["bash"] |
| /bin/sh -c set -eux; { echo 'Package: php*'; echo 'Pin: release *'; echo 'Pin-Priority: -1'; } > /etc/apt/preferences.d/no-debian-php |
| ENV PHPIZE_DEPS=autoconf dpkg-dev file g++ gcc libc-dev make pkg-config re2c |
| /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends $PHPIZE_DEPS ca-certificates curl xz-utils ; rm -rf /var/lib/apt/lists/* |
| ENV PHP_INI_DIR=/usr/local/etc/php |
| /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 777 /var/www/html |
| ENV APACHE_CONFDIR=/etc/apache2 |
| ENV APACHE_ENVVARS=/etc/apache2/envvars |
| /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends apache2; rm -rf /var/lib/apt/lists/*; sed -ri 's/^export ([^=]+)=(.*)$/: ${\1:=\2}\nexport \1/' "$APACHE_ENVVARS"; . "$APACHE_ENVVARS"; for dir in "$APACHE_LOCK_DIR" "$APACHE_RUN_DIR" "$APACHE_LOG_DIR" ; do rm -rvf "$dir"; mkdir -p "$dir"; chown "$APACHE_RUN_USER:$APACHE_RUN_GROUP" "$dir"; chmod 777 "$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" |
| /bin/sh -c a2dismod mpm_event && a2enmod mpm_prefork |
| /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 |
| 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=42670A7FE4D0441C8E4632349E4FDC074A4EF02D 5A52880781F755608BF815FC910DEB46F53EA312 |
| ENV PHP_VERSION=7.4.33 |
| ENV PHP_URL=https://www.php.net/distributions/php-7.4.33.tar.xz PHP_ASC_URL=https://www.php.net/distributions/php-7.4.33.tar.xz.asc |
| ENV PHP_SHA256=924846abf93bc613815c55dd3f5809377813ac62a9ec4eb3778675b82a27b927 |
| /bin/sh -c set -eux; savedAptMark="$(apt-mark showmanual)"; apt-get update; apt-get install -y --no-install-recommends gnupg dirmngr; rm -rf /var/lib/apt/lists/*; 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; if [ -n "$PHP_ASC_URL" ]; then 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"; fi; apt-mark auto '.*' > /dev/null; apt-mark manual $savedAptMark > /dev/null; apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false |
| COPY file:ce57c04b70896f77cc11eb2766417d8a1240fcffe5bba92179ec78c458844110 in /usr/local/bin/ |
| /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" ; 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; ./configure --build="$gnuArch" --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-ftp --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" = 's390x-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 '/=>/ { print $(NF-1) }' | sort -u | xargs -r dpkg-query --search | cut -d: -f1 | sort -u | xargs -r apt-mark manual ; apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; rm -rf /var/lib/apt/lists/*; pecl update-channels; rm -rf /tmp/pear ~/.pearrc; php --version |
| COPY multi:e11221d43af7136e4dbad5a74e659bcfa753214a9e615c3daf357f1633d9d3d1 in /usr/local/bin/ |
| /bin/sh -c docker-php-ext-enable sodium |
| ENTRYPOINT ["docker-php-entrypoint"] |
| STOPSIGNAL SIGWINCH |
| COPY file:e3123fcb6566efa979f945bfac1c94c854a559d7b82723e42118882a8ac4de66 in /usr/local/bin/ |
| WORKDIR /var/www/html |
| EXPOSE 80 |
| CMD ["apache2-foreground"] |
| USER root |
| WORKDIR /var/www/html |
| RUN /bin/sh -c apt-get update && apt-get install -y libpng-dev libicu-dev zlib1g-dev libxml2-dev libzip-dev libldap2-dev libonig-dev libmcrypt-dev zip curl unzip libfreetype6-dev libjpeg62-turbo-dev libmcrypt-dev libpng-dev unixodbc-dev && docker-php-ext-configure gd && docker-php-ext-install -j$(nproc) gd && docker-php-ext-install -j$(nproc) iconv && docker-php-ext-install pdo_mysql && docker-php-ext-install mysqli && docker-php-ext-install zip && docker-php-ext-configure intl && docker-php-ext-install intl && docker-php-ext-install soap && docker-php-ext-install xmlrpc && docker-php-ext-install opcache && docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu/ && docker-php-ext-install ldap && docker-php-source delete # buildkit |
| RUN /bin/sh -c apt-get install libmcrypt-dev # buildkit |
| RUN /bin/sh -c pecl install mcrypt-1.0.4 && docker-php-ext-enable mcrypt # buildkit |
| RUN /bin/sh -c curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer # buildkit |
| RUN /bin/sh -c apt-get install imagemagick -y # buildkit |
| RUN /bin/sh -c apt-get update && apt-get install -y libmemcached-dev zlib1g-dev && pecl install memcached && docker-php-ext-enable memcached # buildkit |
| RUN /bin/sh -c pecl install redis && docker-php-ext-enable redis # buildkit |
| RUN /bin/sh -c apt-get update && apt-get install -y libmagickwand-dev --no-install-recommends && pecl install imagick && docker-php-ext-enable imagick # buildkit |
| COPY php.ini /usr/local/etc/php/ # buildkit |
| COPY apache2.conf /etc/apache2/ # buildkit |
| COPY 000-default.conf /etc/apache2/sites-available/ # buildkit |
| RUN /bin/sh -c chown -R www-data:www-data /var/www/html && a2enmod rewrite && service apache2 restart # buildkit |
| USER root |
| LABEL maintainer=RUTS ARIT |
| LABEL version=2.0 |
| ENV PHP_MEMORY_LIMIT=512M PHP_MAX_EXECUTION_TIME=300 PHP_UPLOAD_MAX_FILESIZE=512M PHP_POST_MAX_SIZE=512M PHP_MAX_INPUT_TIME=300 PHP_MAX_INPUT_VARS=3000 TZ=Asia/Bangkok |
| RUN /bin/sh -c apt-get update && apt-get upgrade -y && apt-get install -y --no-install-recommends ca-certificates curl && rm -rf /var/lib/apt/lists/* # buildkit |
| RUN /bin/sh -c { echo 'disable_functions = exec,passthru,shell_exec,system,proc_open,popen,parse_ini_file,show_source,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,apache_note,apache_setenv,disk_free_space,diskfreespace,dl,highlight_file,ini_alter,ini_restore,openlog,passthru,php_uname,popen,proc_close,proc_get_status,proc_nice,proc_open,proc_terminate,syslog'; } > /usr/local/etc/php/conf.d/security.ini # buildkit |
| RUN /bin/sh -c { echo ''; echo '; Security Settings'; echo 'expose_php = Off'; echo 'display_errors = Off'; echo 'display_startup_errors = Off'; echo 'log_errors = On'; echo 'error_log = /var/log/php_errors.log'; echo 'error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT'; echo ''; echo '; File Upload Settings'; echo 'file_uploads = On'; echo 'upload_max_filesize = ${PHP_UPLOAD_MAX_FILESIZE}'; echo 'post_max_size = ${PHP_POST_MAX_SIZE}'; echo 'max_file_uploads = 20'; echo ''; echo '; Resource Limits'; echo 'memory_limit = ${PHP_MEMORY_LIMIT}'; echo 'max_execution_time = ${PHP_MAX_EXECUTION_TIME}'; echo 'max_input_time = ${PHP_MAX_INPUT_TIME}'; echo 'max_input_vars = ${PHP_MAX_INPUT_VARS}'; echo ''; echo '; Remote File Access - Disabled for security'; echo 'allow_url_fopen = Off'; echo 'allow_url_include = Off'; echo ''; echo '; Session Security'; echo 'session.cookie_httponly = 1'; echo 'session.cookie_secure = 1'; echo 'session.cookie_samesite = Strict'; echo 'session.use_strict_mode = 1'; echo 'session.use_only_cookies = 1'; echo 'session.cookie_lifetime = 0'; echo 'session.gc_maxlifetime = 1440'; echo ''; echo '; SQL Injection Protection'; echo 'magic_quotes_gpc = Off'; echo ''; echo '; Open Base Directory Restriction'; echo 'open_basedir = /var/www/html:/tmp'; } >> /usr/local/etc/php/conf.d/security.ini # buildkit |
| RUN /bin/sh -c { echo '# Apache Security Hardening Configuration'; echo 'ServerTokens Prod'; echo 'ServerSignature Off'; echo 'TraceEnable Off'; echo 'FileETag None'; echo ''; echo '# Health Check Protection - Allow only from localhost'; echo '<LocationMatch "^/health-check\.php$">'; echo ' Require ip 127.0.0.1 ::1'; echo '</LocationMatch>'; echo ''; echo '# Security Headers'; echo '# X-Frame-Options disabled to allow iframe embedding from any domain'; echo '# Header always set X-Frame-Options "SAMEORIGIN"'; echo 'Header always set X-Content-Type-Options "nosniff"'; echo 'Header always set X-XSS-Protection "1; mode=block"'; echo 'Header always set Referrer-Policy "strict-origin-when-cross-origin"'; echo 'Header always set Permissions-Policy "geolocation=(), microphone=(), camera=()"'; echo 'Header always set Content-Security-Policy "default-src '\''self'\''; script-src '\''self'\'' '\''unsafe-inline'\'' '\''unsafe-eval'\'' https:; style-src '\''self'\'' '\''unsafe-inline'\'' https:; img-src '\''self'\'' data: https: blob:; font-src '\''self'\'' data: https:; connect-src '\''self'\'' https: wss:; frame-src '\''self'\'' https:; object-src '\''self'\'' https:; frame-ancestors '\''self'\'' https://*.rmutsv.ac.th;"'; echo 'Header always unset X-Powered-By'; echo 'Header unset Server'; echo ''; echo '# CORS Headers - Global support for multiple domains'; echo '# Use setifempty to prevent duplicate headers from PHP/htaccess'; echo 'SetEnvIf Origin "^https?://(.*)" CORS_ORIGIN=$0'; echo 'Header setifempty Access-Control-Allow-Origin "%{CORS_ORIGIN}e" env=CORS_ORIGIN'; echo 'Header setifempty Access-Control-Allow-Methods "GET, POST, PUT, DELETE, OPTIONS, PATCH"'; echo 'Header setifempty Access-Control-Allow-Headers "Content-Type, Authorization, X-Requested-With, Accept, Origin, X-CSRF-Token"'; echo 'Header setifempty Access-Control-Allow-Credentials "true"'; echo 'Header setifempty Access-Control-Max-Age "3600"'; echo ''; echo '# Handle preflight OPTIONS globally'; echo '<IfModule mod_rewrite.c>'; echo ' RewriteEngine On'; echo ' RewriteCond %{REQUEST_METHOD} OPTIONS'; echo ' RewriteRule ^ - [R=204,L]'; echo '</IfModule>'; echo ''; echo '# Angular SPA Routing - Fallback to index.html'; echo '<IfModule mod_rewrite.c>'; echo ' RewriteEngine On'; echo ' # If an existing asset or file is requested, serve it'; echo ' RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f [OR]'; echo ' RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -d'; echo ' RewriteRule ^ - [L]'; echo ' # For Angular routing - redirect all to index.html'; echo ' RewriteRule ^ /index.html [L]'; echo '</IfModule>'; echo ''; echo '# Disable directory listing'; echo '<Directory /var/www/html>'; echo ' Options -Indexes +FollowSymLinks'; echo ' AllowOverride All'; echo ' Require all granted'; echo ' DirectoryIndex index.html index.php'; echo '</Directory>'; echo ''; echo '# Protect sensitive files'; echo '<FilesMatch "^\.">'; echo ' Require all denied'; echo '</FilesMatch>'; echo '<FilesMatch "\.(sql|config|ini|log|bak|backup|old|sh|bat|cmd)$">'; echo ' Require all denied'; echo '</FilesMatch>'; echo ''; echo '# Block source map files in production'; echo '<FilesMatch "\.map$">'; echo ' Require all denied'; echo '</FilesMatch>'; echo ''; echo '# Block suspicious file uploads'; echo '<FilesMatch "\.(phar|py|pl|cgi|rb|exe|com|dll)$">'; echo ' Require all denied'; echo '</FilesMatch>'; echo ''; echo '# Prevent execution in uploads directory'; echo '<Directory /var/www/html/uploads>'; echo ' php_flag engine off'; echo ' RemoveHandler .php .phtml .php3 .php4 .php5'; echo ' RemoveType .php .phtml .php3 .php4 .php5'; echo ' <FilesMatch "\.(php|php3|php4|php5|phtml|phar)$">'; echo ' Require all denied'; echo ' </FilesMatch>'; echo '</Directory>'; echo ''; echo '# Prevent execution in document directory'; echo '<Directory /var/www/html/document>'; echo ' php_flag engine off'; echo ' RemoveHandler .php .phtml .php3 .php4 .php5'; echo ' RemoveType .php .phtml .php3 .php4 .php5'; echo ' <FilesMatch "\.(php|php3|php4|php5|phtml|phar)$">'; echo ' Require all denied'; echo ' </FilesMatch>'; echo ' # Allow only safe file types'; echo ' <FilesMatch "^.*$">'; echo ' Require all denied'; echo ' </FilesMatch>'; echo ' <FilesMatch "\.(?i:pdf|doc|docx|xls|xlsx|ppt|pptx|jpg|jpeg|png|gif|zip|rar|txt)$">'; echo ' Require all granted'; echo ' </FilesMatch>'; echo '</Directory>'; echo ''; echo '# Limit request size (DoS protection) - 550MB to allow 512MB uploads + overhead'; echo 'LimitRequestBody 576716800'; echo ''; echo '# Timeout settings - Optimized for E-Doc'; echo 'Timeout 300'; echo 'KeepAlive On'; echo 'MaxKeepAliveRequests 100'; echo 'KeepAliveTimeout 5'; echo ''; echo '# Additional Security - Disable HTTP TRACE'; echo '<IfModule mod_rewrite.c>'; echo ' RewriteEngine On'; echo ' RewriteCond %{REQUEST_METHOD} ^TRACE'; echo ' RewriteRule .* - [F]'; echo '</IfModule>'; } > /etc/apache2/conf-enabled/security-hardening.conf # buildkit |
| RUN /bin/sh -c a2enmod headers && a2enmod rewrite && a2enmod ssl && a2enmod expires && a2enmod deflate && a2dismod -f status && a2dismod -f autoindex # buildkit |
| RUN /bin/sh -c { echo '[PHP]'; echo 'engine = On'; echo 'short_open_tag = Off'; echo 'precision = 14'; echo 'output_buffering = 4096'; echo 'zlib.output_compression = Off'; echo 'implicit_flush = Off'; echo 'serialize_precision = -1'; echo 'zend.enable_gc = On'; echo 'expose_php = Off'; echo 'max_execution_time = ${PHP_MAX_EXECUTION_TIME}'; echo 'max_input_time = ${PHP_MAX_INPUT_TIME}'; echo 'memory_limit = ${PHP_MEMORY_LIMIT}'; echo 'error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT'; echo 'display_errors = Off'; echo 'display_startup_errors = Off'; echo 'log_errors = On'; echo 'log_errors_max_len = 1024'; echo 'ignore_repeated_errors = Off'; echo 'ignore_repeated_source = Off'; echo 'report_memleaks = On'; echo 'variables_order = "GPCS"'; echo 'request_order = "GP"'; echo 'register_argc_argv = Off'; echo 'auto_globals_jit = On'; echo 'post_max_size = ${PHP_POST_MAX_SIZE}'; echo 'auto_prepend_file ='; echo 'auto_append_file ='; echo 'default_mimetype = "text/html"'; echo 'default_charset = "UTF-8"'; echo 'enable_dl = Off'; echo 'file_uploads = On'; echo 'upload_max_filesize = ${PHP_UPLOAD_MAX_FILESIZE}'; echo 'max_file_uploads = 20'; echo 'allow_url_fopen = Off'; echo 'allow_url_include = Off'; echo 'default_socket_timeout = 60'; echo '[Date]'; echo 'date.timezone = ${TZ}'; } > /usr/local/etc/php/conf.d/production.ini # buildkit |
| RUN /bin/sh -c groupadd -r appuser && useradd -r -g appuser appuser # buildkit |
| RUN /bin/sh -c mkdir -p /var/www/protected && chown root:root /var/www/protected && chmod 755 /var/www/protected # buildkit |
| RUN /bin/sh -c mkdir -p /var/log/apache2 /var/log/php && touch /var/log/php/php_errors.log && chown -R www-data:www-data /var/log/php && chmod 755 /var/log/php && chmod 644 /var/log/php/php_errors.log # buildkit |
| RUN /bin/sh -c sed -i 's|/var/log/php_errors.log|/var/log/php/php_errors.log|g' /usr/local/etc/php/conf.d/security.ini # buildkit |
| RUN /bin/sh -c apt-get autoremove -y && apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /var/cache/apt/* # buildkit |
| RUN /bin/sh -c rm -f /etc/apache2/sites-available/000-default.conf.bak /etc/apache2/apache2.conf.bak /usr/local/etc/php/php.ini-development 2>/dev/null || true # buildkit |
| RUN /bin/sh -c echo '<?php http_response_code(200); echo "OK"; ?>' > /var/www/html/health-check.php && chown www-data:www-data /var/www/html/health-check.php && chmod 644 /var/www/html/health-check.php # buildkit |
| COPY security-scan.sh /usr/local/bin/security-scan.sh # buildkit |
| COPY setup-document-security.sh /usr/local/bin/setup-document-security.sh # buildkit |
| COPY create-htaccess.sh /usr/local/bin/create-htaccess.sh # buildkit |
| COPY docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh # buildkit |
| RUN /bin/sh -c chmod +x /usr/local/bin/security-scan.sh && chmod +x /usr/local/bin/setup-document-security.sh && chmod +x /usr/local/bin/create-htaccess.sh && chmod +x /usr/local/bin/docker-entrypoint.sh # buildkit |
| RUN /bin/sh -c mkdir -p /var/quarantine && chmod 700 /var/quarantine && chown root:root /var/quarantine # buildkit |
| HEALTHCHECK &{["CMD-SHELL" "curl -f http://localhost/health-check.php || exit 1"] "30s" "5s" "15s" "0s" '\x03'} |
| ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] |
| CMD ["apache2-foreground"] |
| WORKDIR /var/www/html |
| EXPOSE [80/tcp] |
| LABEL security.scan.date=2025-10-22 security.hardening=enabled security.level=high security.compliance=OWASP Top 10 |
Labels
| Key | Value |
|---|---|
| maintainer | RUTS ARIT |
| security.compliance | OWASP Top 10 |
| security.hardening | enabled |
| security.level | high |
| security.scan.date | 2025-10-22 |
| version | 2.0 |
Details
2025-10-24 22:41:06 +07:00
Versions (14)
View all
Container
4
OCI / Docker
linux/amd64
381 MiB
8.1.33-cron-sis
2025-11-07
8.1.32
2025-11-06
7.4.33gd
2025-11-02
7.4.33up
2025-10-24
8.1.33cron
2025-08-06