FROM php:8.1-apache ARG OMEKA_DB_NAME ARG OMEKA_DB_USER ARG OMEKA_DB_PASSWORD ARG OMEKA_DB_HOST # Install dependencies RUN apt-get update && apt-get install -y \ git \ unzip \ libxml2-dev \ libpng-dev \ libjpeg-dev \ libfreetype6-dev \ libmagickwand-dev \ imagemagick \ nodejs \ npm \ libicu-dev \ && rm -rf /var/lib/apt/lists/* # Install PHP extensions RUN docker-php-ext-configure gd --with-freetype --with-jpeg \ && docker-php-ext-install -j$(nproc) pdo pdo_mysql xml gd intl \ && pecl install imagick \ && docker-php-ext-enable imagick # Enable Apache modules RUN a2enmod rewrite # Set the working directory WORKDIR /var/www/html # Clone Omeka S repository RUN git clone https://github.com/omeka/omeka-s.git . \ && git config --global --add safe.directory /var/www/html \ && npm install \ && npx gulp init # Set directory permissions RUN mkdir -p files && chown -R www-data:www-data files RUN { \ echo "user = ${OMEKA_DB_USER}"; \ echo "password = ${OMEKA_DB_PASSWORD}"; \ echo "dbname = ${OMEKA_DB_NAME}"; \ echo "host = ${OMEKA_DB_HOST}"; \ echo "port = ''"; \ echo "unix_socket = ''"; \ echo "charset = ''"; \ } > /var/www/html/config/database.ini; CMD ["apache2-foreground"]