| |
| |
| |
| |
| |
| FROM php:8.2-apache-bookworm |
|
|
| USER root |
|
|
| ENV DEBIAN_FRONTEND=noninteractive \ |
| PORT=7860 \ |
| HUMHUB_VERSION=1.18.2 \ |
| MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD:-omnigroup_root} \ |
| MYSQL_USER=${MYSQL_USER:-madiba} \ |
| MYSQL_PASSWORD=${MYSQL_PASSWORD:-omnigroup_master} \ |
| MYSQL_DATABASE=${MYSQL_DATABASE:-synaps_db} \ |
| APACHE_RUN_USER=www-data \ |
| APACHE_RUN_GROUP=www-data |
|
|
| |
| RUN sed -i 's/Listen 80/Listen 7860/' /etc/apache2/ports.conf && \ |
| echo "ServerName localhost" >> /etc/apache2/apache2.conf && \ |
| a2enmod rewrite headers expires deflate |
|
|
| RUN cat > /etc/apache2/sites-available/000-default.conf << 'APACHECONF' |
| <VirtualHost *:7860> |
| DocumentRoot /var/www/html |
| <Directory /var/www/html> |
| Options FollowSymLinks |
| AllowOverride All |
| Require all granted |
| </Directory> |
| <Directory /var/www/html/protected> |
| Deny from all |
| </Directory> |
| </VirtualHost> |
| APACHECONF |
|
|
| |
| RUN apt-get update && apt-get install -y --no-install-recommends \ |
| mariadb-server mariadb-client cron \ |
| libpng-dev libjpeg-dev libfreetype6-dev libicu-dev libxml2-dev \ |
| libzip-dev libonig-dev libmagickwand-dev tar curl wget unzip sudo \ |
| libldap2-dev libsodium-dev \ |
| && apt-get clean && rm -rf /var/lib/apt/lists/* |
|
|
| |
| RUN docker-php-ext-configure gd --with-freetype --with-jpeg && \ |
| docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu/ && \ |
| docker-php-ext-install -j$(nproc) \ |
| gd intl pdo_mysql mysqli zip mbstring xml opcache exif ldap sodium fileinfo |
|
|
| RUN pecl install apcu imagick && docker-php-ext-enable apcu imagick |
|
|
| |
| RUN { \ |
| echo "memory_limit = 512M"; \ |
| echo "upload_max_filesize = 1G"; \ |
| echo "post_max_size = 1G"; \ |
| echo "max_execution_time = 600"; \ |
| echo "max_input_time = 600"; \ |
| echo "date.timezone = UTC"; \ |
| echo "realpath_cache_size = 4096K"; \ |
| echo "realpath_cache_ttl = 600"; \ |
| echo "opcache.enable = 1"; \ |
| echo "opcache.memory_consumption = 512"; \ |
| echo "opcache.max_accelerated_files = 20000"; \ |
| echo "opcache.interned_strings_buffer = 64"; \ |
| echo "opcache.fast_shutdown = 1"; \ |
| echo "apc.enabled = 1"; \ |
| echo "apc.shm_size = 512M"; \ |
| echo "allow_url_fopen = On"; \ |
| echo "pdo_mysql.default_socket = /var/run/mysqld/mysqld.sock"; \ |
| echo "mysqli.default_socket = /var/run/mysqld/mysqld.sock"; \ |
| } > /usr/local/etc/php/conf.d/synaps-optimizations.ini |
|
|
| |
| WORKDIR /var/www/html |
| RUN wget -q https://download.humhub.com/downloads/install/humhub-${HUMHUB_VERSION}.tar.gz -O humhub.tar.gz && \ |
| tar -xzf humhub.tar.gz --strip-components=1 && \ |
| rm humhub.tar.gz |
| |
| RUN mkdir -p \ |
| /var/www/html/uploads/file \ |
| /var/www/html/uploads/profile_image \ |
| /var/www/html/protected/runtime/cache \ |
| /var/www/html/protected/runtime/logs \ |
| /var/www/html/protected/runtime/searchdb \ |
| /var/www/html/protected/runtime/tmp \ |
| /var/www/html/protected/modules \ |
| /var/www/html/assets && \ |
| chown -R www-data:www-data /var/www/html && \ |
| find /var/www/html -type d -exec chmod 755 {} + && \ |
| find /var/www/html -type f -exec chmod 644 {} + && \ |
| chmod -R 775 \ |
| /var/www/html/uploads \ |
| /var/www/html/protected/runtime \ |
| /var/www/html/protected/modules \ |
| /var/www/html/assets |
| |
| |
| RUN cp /var/www/html/.htaccess.dist /var/www/html/.htaccess && \ |
| cp /var/www/html/.env.example /var/www/html/.env && \ |
| sed -i 's| |
| sed -i 's| |
| chown www-data:www-data /var/www/html/.htaccess /var/www/html/.env |
| |
| COPY omni_start.sh /omni_start.sh |
| RUN chmod +x /omni_start.sh |
| |
| EXPOSE 7860 |
| ENTRYPOINT ["/omni_start.sh"] |