diff --git a/config/dnsmasq/dnsmasq.conf b/config/dnsmasq/dnsmasq.conf new file mode 100644 index 0000000..ca1a735 --- /dev/null +++ b/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 \ No newline at end of file diff --git a/docker-compose.e2e.yml.example b/docker-compose.e2e.yml.example new file mode 100755 index 0000000..a8cdf07 --- /dev/null +++ b/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" \ No newline at end of file diff --git a/docker-compose.yml.example b/docker-compose.yml.example index 0e9f6c4..df0cc7e 100755 --- a/docker-compose.yml.example +++ b/docker-compose.yml.example @@ -1,5 +1,3 @@ -version: '3.9' - services: nginx: extends: @@ -24,6 +22,13 @@ services: service: php build: dockerfile: php81.Dockerfile + php82: + extends: + file: docker-compose.base.yml + service: php + build: + dockerfile: php82.Dockerfile + volumes: workspace74: extends: file: docker-compose.base.yml @@ -36,6 +41,12 @@ services: service: workspace build: dockerfile: workspace81.Dockerfile + workspace82: + extends: + file: docker-compose.base.yml + service: workspace + build: + dockerfile: workspace82.Dockerfile db: extends: file: docker-compose.base.yml diff --git a/dockerfiles/php-fpm/php82.Dockerfile b/dockerfiles/php-fpm/php82.Dockerfile new file mode 100644 index 0000000..cda75ea --- /dev/null +++ b/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" diff --git a/dockerfiles/workspace/workspace82.Dockerfile b/dockerfiles/workspace/workspace82.Dockerfile new file mode 100644 index 0000000..a24c73e --- /dev/null +++ b/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