Browse Source

+ php8.2 example docker compose service

+ e2e example docker compose config file with browserless service
master
dimti 5 months ago
parent
commit
35baceb62a
  1. 9
      config/dnsmasq/dnsmasq.conf
  2. 12
      docker-compose.e2e.yml.example
  3. 15
      docker-compose.yml.example
  4. 52
      dockerfiles/php-fpm/php82.Dockerfile
  5. 108
      dockerfiles/workspace/workspace82.Dockerfile

9
config/dnsmasq/dnsmasq.conf

@ -0,0 +1,9 @@
#log all dns queries
log-queries
#dont use hosts nameservers
no-resolv
#use google as default nameservers
server=8.8.4.4
server=8.8.8.8
#explicitly define host-ip mappings
address=/homerealestate.cz/144.76.56.24

12
docker-compose.e2e.yml.example

@ -0,0 +1,12 @@
services:
browserless:
image: browserless/chrome:latest
environment:
- MAX_CONCURRENT_SESSIONS=10
- CONNECTION_TIMEOUT=60000
- HOST=0.0.0.0
- PORT=3000
container_name: "browserless"
restart: always
ports:
- "3000:3000"

15
docker-compose.yml.example

@ -1,5 +1,3 @@
version: '3.9'
services: services:
nginx: nginx:
extends: extends:
@ -24,6 +22,13 @@ services:
service: php service: php
build: build:
dockerfile: php81.Dockerfile dockerfile: php81.Dockerfile
php82:
extends:
file: docker-compose.base.yml
service: php
build:
dockerfile: php82.Dockerfile
volumes:
workspace74: workspace74:
extends: extends:
file: docker-compose.base.yml file: docker-compose.base.yml
@ -36,6 +41,12 @@ services:
service: workspace service: workspace
build: build:
dockerfile: workspace81.Dockerfile dockerfile: workspace81.Dockerfile
workspace82:
extends:
file: docker-compose.base.yml
service: workspace
build:
dockerfile: workspace82.Dockerfile
db: db:
extends: extends:
file: docker-compose.base.yml file: docker-compose.base.yml

52
dockerfiles/php-fpm/php82.Dockerfile

@ -0,0 +1,52 @@
FROM dimti/php:8.2
###########################################################################
# Redis and igbinary:
###########################################################################
ARG INSTALL_REDIS=false
COPY ./igbinary.ini /usr/local/etc/php/conf.d/igbinary.ini
RUN if [ ${INSTALL_REDIS} = true ]; then \
pecl install -a igbinary \
&& docker-php-ext-enable igbinary \
&& printf "yes\n" | pecl install redis \
&& docker-php-ext-enable redis \
;fi
###########################################################################
# Pear Mail and Mail_Mime:
###########################################################################
ARG INSTALL_PEAR_MAIL=false
RUN if [ ${INSTALL_PEAR_MAIL} = true ]; then \
pear install Mail && pear install Mail_Mime \
;fi
###########################################################################
# xDebug (termporary):
###########################################################################
# Copy xdebug configuration for remote debugging
COPY ./xdebug3/xdebug.ini /usr/local/etc/php/conf.d/xdebug.ini
###########################################################################
# Tune opts:
###########################################################################
ARG PHP_OPT_SHORT_OPEN_TAG=Off
RUN sed -i "s/^short_open_tag = .*/short_open_tag = $PHP_OPT_SHORT_OPEN_TAG/g" "$PHP_INI_DIR/php.ini"
ARG PHP_OPT_MAX_EXECUTION_TIME=600
RUN sed -i "s/^max_execution_time = .*/max_execution_time = $PHP_OPT_MAX_EXECUTION_TIME/g" "$PHP_INI_DIR/php.ini"
ARG PHP_OPT_MEMORY_LIMIT=256M
RUN sed -i "s/^memory_limit = .*/memory_limit = $PHP_OPT_MEMORY_LIMIT/g" "$PHP_INI_DIR/php.ini"
ARG PHP_OPT_POST_MAX_SIZE=48M
RUN sed -i "s/^post_max_size = .*/post_max_size = $PHP_OPT_POST_MAX_SIZE/g" "$PHP_INI_DIR/php.ini"
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"

108
dockerfiles/workspace/workspace82.Dockerfile

@ -0,0 +1,108 @@
FROM dimti/workspace:8.2
ARG PHP_VERSION=8.2
###########################################################################
# Laradock non-root user:
###########################################################################
ARG CUSTOM_PUID=1000
ENV PUID ${CUSTOM_PUID}
ARG CUSTOM_PGID=1000
ENV PGID ${CUSTOM_PGID}
RUN usermod -u ${CUSTOM_PUID} laradock && groupmod -g ${CUSTOM_PGID} laradock
RUN chown -R ${CUSTOM_PUID}:${CUSTOM_PGID} /home/laradock
###########################################################################
# Set Timezone
###########################################################################
ARG CUSTOM_TZ=Europe/Moscow
ENV TZ ${CUSTOM_TZ}
RUN ln -snf /usr/share/zoneinfo/$CUSTOM_TZ /etc/localtime && echo $CUSTOM_TZ > /etc/timezone
###########################################################################
# Additional PHP-extensions:
###########################################################################
#RUN pecl install igbinary && pecl install -a redis
RUN pecl install -a redis
RUN echo "extension=redis.so" > /etc/php/${PHP_VERSION}/cli/conf.d/20-redis.ini
###########################################################################
# S3 config
###########################################################################
USER laradock
COPY ./minio/auth.json /home/laradock/.mc/config.json
###########################################################################
# Install custom node version
###########################################################################
USER root
ARG NODE_VERSION
ENV NODE_VERSION ${NODE_VERSION}
RUN if [ ! -z "${NODE_VERSION}" ]; then \
. ~/.bashrc && nvm install ${NODE_VERSION} \
&& . ~/.bashrc && nvm alias default ${NODE_VERSION} \
&& npm i -g yarn \
&& cp -R ~/.nvm/alias /home/laradock/.nvm \
&& cp -R ~/.nvm/versions /home/laradock/.nvm \
&& chown -R ${CUSTOM_PUID}:${CUSTOM_PGID} /home/laradock/.nvm \
;fi
###########################################################################
# Update composer version
###########################################################################
USER root
ARG COMPOSER_VERSION=2
ENV COMPOSER_VERSION ${COMPOSER_VERSION}
RUN composer self-update --${COMPOSER_VERSION}
###########################################################################
# Laradock Aliases
###########################################################################
USER laradock
COPY ./aliases.sh /home/laradock/aliases.sh
RUN echo "" >> ~/.bashrc && \
echo "# Load Custom Aliases" >> ~/.bashrc && \
echo "source ~/aliases.sh" >> ~/.bashrc && \
echo "" >> ~/.bashrc
###########################################################################
# Tune opts:
###########################################################################
USER root
ARG PHP_OPT_SHORT_OPEN_TAG=Off
RUN sed -i "s/^short_open_tag = .*/short_open_tag = $PHP_OPT_SHORT_OPEN_TAG/g" /etc/php/${PHP_VERSION}/cli/php.ini
ARG PHP_OPT_MAX_EXECUTION_TIME=600
RUN sed -i "s/^max_execution_time = .*/max_execution_time = $PHP_OPT_MAX_EXECUTION_TIME/g" /etc/php/${PHP_VERSION}/cli/php.ini
ARG PHP_OPT_MEMORY_LIMIT=256M
RUN sed -i "s/^memory_limit = .*/memory_limit = $PHP_OPT_MEMORY_LIMIT/g" /etc/php/${PHP_VERSION}/cli/php.ini
###########################################################################
# Crontab
###########################################################################
USER root
COPY ./crontab /etc/cron.d
RUN chmod -R 644 /etc/cron.d
Loading…
Cancel
Save