2021-05-06 16:00:48 +02:00
|
|
|
####################################################
|
2022-02-19 17:06:11 +01:00
|
|
|
# Castopod development Docker file
|
2021-05-06 16:00:48 +02:00
|
|
|
####################################################
|
2021-05-24 12:08:15 +02:00
|
|
|
# ⚠️ NOT optimized for production
|
2021-05-06 16:00:48 +02:00
|
|
|
# should be used only for development purposes
|
2021-05-24 12:08:15 +02:00
|
|
|
#---------------------------------------------------
|
2022-07-04 14:52:55 +02:00
|
|
|
FROM php:8.1-fpm
|
2020-05-27 18:46:16 +02:00
|
|
|
|
2021-05-20 13:02:08 +02:00
|
|
|
LABEL maintainer="Yassine Doghri <yassine@doghri.fr>"
|
2021-05-06 16:00:48 +02:00
|
|
|
|
2022-02-19 17:06:11 +01:00
|
|
|
COPY . /castopod
|
|
|
|
WORKDIR /castopod
|
2020-05-27 18:46:16 +02:00
|
|
|
|
2021-05-06 16:00:48 +02:00
|
|
|
# Install composer
|
2021-05-24 12:08:15 +02:00
|
|
|
COPY --from=composer:2 /usr/bin/composer /usr/bin/composer
|
|
|
|
|
|
|
|
# Install server requirements
|
2023-06-12 17:49:55 +02:00
|
|
|
RUN curl -fsSL https://deb.nodesource.com/setup_18.x | bash - \
|
2021-05-24 12:08:15 +02:00
|
|
|
&& apt-get update \
|
|
|
|
&& apt-get install --yes --no-install-recommends nodejs \
|
2023-02-21 18:27:45 +01:00
|
|
|
# gnupg to sign commits with gpg
|
|
|
|
gnupg \
|
2021-05-24 12:08:15 +02:00
|
|
|
openssh-client \
|
|
|
|
# cron for scheduled tasks
|
|
|
|
cron \
|
|
|
|
# unzip used by composer
|
|
|
|
unzip \
|
|
|
|
# required libraries to install php extensions using
|
|
|
|
# https://github.com/mlocati/docker-php-extension-installer (included in php's docker image)
|
2020-05-27 18:46:16 +02:00
|
|
|
libicu-dev \
|
2020-06-12 21:31:10 +02:00
|
|
|
libpng-dev \
|
2021-11-23 12:54:34 +01:00
|
|
|
libwebp-dev \
|
2022-11-02 15:38:17 +01:00
|
|
|
libjpeg62-turbo-dev \
|
2021-12-02 17:45:41 +01:00
|
|
|
libfreetype6-dev \
|
2020-06-12 21:31:10 +02:00
|
|
|
zlib1g-dev \
|
2021-05-24 12:08:15 +02:00
|
|
|
libzip-dev \
|
2021-12-02 17:45:41 +01:00
|
|
|
# ffmpeg for video encoding
|
|
|
|
ffmpeg \
|
2021-05-24 12:08:15 +02:00
|
|
|
# intl for Internationalization
|
|
|
|
&& docker-php-ext-install intl \
|
|
|
|
&& docker-php-ext-install zip \
|
|
|
|
# gd for image processing
|
2021-12-02 17:45:41 +01:00
|
|
|
&& docker-php-ext-configure gd --with-webp --with-jpeg --with-freetype \
|
2021-05-24 12:08:15 +02:00
|
|
|
&& docker-php-ext-install gd \
|
2021-12-14 17:41:10 +01:00
|
|
|
&& docker-php-ext-install exif \
|
|
|
|
&& docker-php-ext-enable exif \
|
2021-05-24 12:08:15 +02:00
|
|
|
# redis extension for cache
|
|
|
|
&& pecl install -o -f redis \
|
|
|
|
&& rm -rf /tmp/pear \
|
|
|
|
&& docker-php-ext-enable redis \
|
|
|
|
# mysqli for database access
|
|
|
|
&& docker-php-ext-install mysqli \
|
|
|
|
&& docker-php-ext-enable mysqli \
|
|
|
|
# configure php
|
|
|
|
&& echo "file_uploads = On\n" \
|
2021-04-14 17:58:40 +02:00
|
|
|
"memory_limit = 512M\n" \
|
|
|
|
"upload_max_filesize = 500M\n" \
|
|
|
|
"post_max_size = 512M\n" \
|
2020-09-08 13:45:17 +02:00
|
|
|
"max_execution_time = 300\n" \
|
2022-09-06 11:56:12 +02:00
|
|
|
> /usr/local/etc/php/conf.d/uploads.ini
|