54 lines
1.3 KiB
Docker
54 lines
1.3 KiB
Docker
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"]
|