Browse Source

+ conditionally libreoffice install for php

master
dimti 4 months ago
parent
commit
5c1c94bfe2
  1. 9
      .env.example
  2. 4
      docker-compose.base.yml
  3. 20
      dockerfiles/php-fpm/php81.Dockerfile
  4. 32
      dockerfiles/workspace/workspace81.Dockerfile

9
.env.example

@ -2,6 +2,13 @@
DOCKER_HOST_IP=172.20.0.1 DOCKER_HOST_IP=172.20.0.1
PROJECTS_DIR=/home/youruser/PhpstormProjects PROJECTS_DIR=/home/youruser/PhpstormProjects
# All options below dramastically need defined in docker-compose.*.yml
### PHP COMMON #############################################
INSTALL_REDIS=true
INSTALL_PEAR_MAIL=true
INSTALL_LIBREOFFICE=true
### WORKSPACE ############################################# ### WORKSPACE #############################################
WORKSPACE_PUID=1000 WORKSPACE_PUID=1000
WORKSPACE_PGID=1000 WORKSPACE_PGID=1000
@ -16,8 +23,6 @@ WORKSPACE_PHP_OPT_MAX_EXECUTION_TIME=0
WORKSPACE_PHP_OPT_MEMORY_LIMIT=-1 WORKSPACE_PHP_OPT_MEMORY_LIMIT=-1
### PHP-FPM ############################################# ### PHP-FPM #############################################
INSTALL_REDIS=true
INSTALL_PEAR_MAIL=true
PHP_OPT_SHORT_OPEN_TAG=Off PHP_OPT_SHORT_OPEN_TAG=Off
PHP_OPT_MAX_EXECUTION_TIME=600 PHP_OPT_MAX_EXECUTION_TIME=600
PHP_OPT_MEMORY_LIMIT=256M PHP_OPT_MEMORY_LIMIT=256M

4
docker-compose.base.yml

@ -15,6 +15,7 @@ services:
args: args:
- INSTALL_REDIS=${INSTALL_REDIS} - INSTALL_REDIS=${INSTALL_REDIS}
- INSTALL_PEAR_MAIL=${INSTALL_PEAR_MAIL} - INSTALL_PEAR_MAIL=${INSTALL_PEAR_MAIL}
- INSTALL_LIBREOFFICE=${INSTALL_LIBREOFFICE}
- PHP_OPT_SHORT_OPEN_TAG=${PHP_OPT_SHORT_OPEN_TAG} - PHP_OPT_SHORT_OPEN_TAG=${PHP_OPT_SHORT_OPEN_TAG}
- PHP_OPT_MAX_EXECUTION_TIME=${PHP_OPT_MAX_EXECUTION_TIME} - PHP_OPT_MAX_EXECUTION_TIME=${PHP_OPT_MAX_EXECUTION_TIME}
- PHP_OPT_MEMORY_LIMIT=${PHP_OPT_MEMORY_LIMIT} - PHP_OPT_MEMORY_LIMIT=${PHP_OPT_MEMORY_LIMIT}
@ -28,6 +29,9 @@ services:
build: build:
context: ./dockerfiles/workspace context: ./dockerfiles/workspace
args: args:
- INSTALL_REDIS=${INSTALL_REDIS}
- INSTALL_PEAR_MAIL=${INSTALL_PEAR_MAIL}
- INSTALL_LIBREOFFICE=${INSTALL_LIBREOFFICE}
- CUSTOM_PUID=${WORKSPACE_PUID} - CUSTOM_PUID=${WORKSPACE_PUID}
- CUSTOM_PGID=${WORKSPACE_PGID} - CUSTOM_PGID=${WORKSPACE_PGID}
- CUSTOM_TZ=${WORKSPACE_TIMEZONE} - CUSTOM_TZ=${WORKSPACE_TIMEZONE}

20
dockerfiles/php-fpm/php81.Dockerfile

@ -33,6 +33,20 @@ RUN if [ ${INSTALL_PEAR_MAIL} = true ]; then \
COPY ./xdebug3/xdebug.ini /usr/local/etc/php/conf.d/xdebug.ini COPY ./xdebug3/xdebug.ini /usr/local/etc/php/conf.d/xdebug.ini
########################################################################### ###########################################################################
# Libreoffice
###########################################################################
ARG INSTALL_LIBREOFFICE=false
ARG DEBIAN_FRONTEND=noninteractive
RUN if [ ${INSTALL_LIBREOFFICE} = true ]; then \
apt-get update \
&& apt-get install -y libreoffice-nogui --no-install-recommends \
&& apt-get clean \
;fi
###########################################################################
# Tune opts: # Tune opts:
########################################################################### ###########################################################################
@ -50,9 +64,3 @@ RUN sed -i "s/^post_max_size = .*/post_max_size = $PHP_OPT_POST_MAX_SIZE/g" "$PH
ARG PHP_OPT_UPLOAD_MAX_FILESIZE=16M ARG PHP_OPT_UPLOAD_MAX_FILESIZE=16M
RUN sed -i "s/^upload_max_filesize = .*/upload_max_filesize = $PHP_OPT_UPLOAD_MAX_FILESIZE/g" "$PHP_INI_DIR/php.ini" RUN sed -i "s/^upload_max_filesize = .*/upload_max_filesize = $PHP_OPT_UPLOAD_MAX_FILESIZE/g" "$PHP_INI_DIR/php.ini"
###########################################################################
# Libreoffice:
###########################################################################
RUN apt-get update && apt-get install -y libreoffice-nogui --no-install-recommends && apt-get clean

32
dockerfiles/workspace/workspace81.Dockerfile

@ -28,10 +28,29 @@ RUN ln -snf /usr/share/zoneinfo/$CUSTOM_TZ /etc/localtime && echo $CUSTOM_TZ > /
# Additional PHP-extensions: # Additional PHP-extensions:
########################################################################### ###########################################################################
#RUN pecl install igbinary && pecl install -a redis
RUN pecl install -a redis
ARG INSTALL_REDIS=false
RUN echo "extension=redis.so" > /etc/php/${PHP_VERSION}/cli/conf.d/20-redis.ini
#RUN pecl install igbinary
RUN if [ ${INSTALL_REDIS} = true ]; then \
pecl install -a redis \
echo "extension=redis.so" > /etc/php/${PHP_VERSION}/cli/conf.d/20-redis.ini \
;fi
###########################################################################
# Libreoffice
###########################################################################
ARG INSTALL_LIBREOFFICE=false
ARG DEBIAN_FRONTEND=noninteractive
RUN if [ ${INSTALL_LIBREOFFICE} = true ]; then \
add-apt-repository ppa:libreoffice/ppa \
&& apt update \
&& apt install libreoffice-nogui -y --no-install-recommends \
&& apt clean \
;fi
########################################################################### ###########################################################################
# S3 config # S3 config
@ -106,10 +125,3 @@ USER root
COPY ./crontab /etc/cron.d COPY ./crontab /etc/cron.d
RUN chmod -R 644 /etc/cron.d RUN chmod -R 644 /etc/cron.d
###########################################################################
# Libreoffice:
###########################################################################
ARG DEBIAN_FRONTEND=noninteractive
RUN add-apt-repository ppa:libreoffice/ppa && apt update && apt install libreoffice-nogui -y --no-install-recommends && apt clean
Loading…
Cancel
Save