Merge branch 'master' into new-docs

* master:
  Update docker-compose.yml
  Update Dockerfile
  fix: mysql service exit
  chore(jenkins): Upgrade jdk and jenkins versions
  Fix Swoole 2
  Fix for bug #3535
  Update docker-compose.yml
  Update docker-compose.yml
  Fix swoole
  Fix oracle instant client args from env
  build(deps): bump braces from 3.0.2 to 3.0.3 in /react
  Workspace: add new aliases
  build(deps): bump ejs from 3.1.8 to 3.1.10 in /react
  build(deps): bump tar from 6.1.15 to 6.2.1 in /react
  add   restart: always for all service
This commit is contained in:
Mahmoud Zalt
2024-10-27 22:49:19 +01:00
8 changed files with 124 additions and 32 deletions

View File

@@ -407,7 +407,8 @@ APACHE_FOR_MAC_M1=false
### MYSQL #################################################
MYSQL_VERSION=latest
# 5.7, 8.0, 8.4, 9.0
MYSQL_VERSION=8.4
MYSQL_DATABASE=default
MYSQL_USER=default
MYSQL_PASSWORD=secret

View File

@@ -57,6 +57,7 @@ services:
### Workspace Utilities ##################################
workspace:
restart: always
build:
context: ./workspace
args:
@@ -180,6 +181,10 @@ services:
- INSTALL_POPPLER_UTILS=${WORKSPACE_INSTALL_POPPLER_UTILS}
- INSTALL_JDK=${WORKSPACE_INSTALL_JDK}
- INSTALL_GITHUB_CLI=${WORKSPACE_INSTALL_GITHUB_CLI}
- ORACLE_INSTANT_CLIENT_MIRROR=${ORACLE_INSTANT_CLIENT_MIRROR}
- ORACLE_INSTANT_CLIENT_ARCH=${ORACLE_INSTANT_CLIENT_ARCH}
- ORACLE_INSTANT_CLIENT_MAJOR=${ORACLE_INSTANT_CLIENT_MAJOR}
- ORACLE_INSTANT_CLIENT_MINOR=${ORACLE_INSTANT_CLIENT_MINOR}
- http_proxy
- https_proxy
- no_proxy
@@ -213,6 +218,7 @@ services:
### PHP-FPM ##############################################
php-fpm:
restart: always
build:
context: ./php-fpm
args:
@@ -300,6 +306,10 @@ services:
- INSTALL_DOCKER_CLIENT=${PHP_FPM_INSTALL_DOCKER_CLIENT}
- INSTALL_DNSUTILS=${PHP_FPM_INSTALL_DNSUTILS}
- INSTALL_POPPLER_UTILS=${PHP_FPM_INSTALL_POPPLER_UTILS}
- ORACLE_INSTANT_CLIENT_MIRROR=${ORACLE_INSTANT_CLIENT_MIRROR}
- ORACLE_INSTANT_CLIENT_ARCH=${ORACLE_INSTANT_CLIENT_ARCH}
- ORACLE_INSTANT_CLIENT_MAJOR=${ORACLE_INSTANT_CLIENT_MAJOR}
- ORACLE_INSTANT_CLIENT_MINOR=${ORACLE_INSTANT_CLIENT_MINOR}
- http_proxy
- https_proxy
- no_proxy
@@ -318,6 +328,8 @@ services:
- DOCKER_TLS_CERTDIR=/certs
- DOCKER_CERT_PATH=/certs/client
- FAKETIME=${PHP_FPM_FAKETIME}
- TZ=${WORKSPACE_TIMEZONE}
depends_on:
- workspace
networks:
@@ -327,6 +339,7 @@ services:
### PHP Worker ############################################
php-worker:
restart: always
build:
context: ./php-worker
args:
@@ -370,17 +383,24 @@ services:
- PUID=${PHP_WORKER_PUID}
- PGID=${PHP_WORKER_PGID}
- IMAGEMAGICK_VERSION=${PHP_WORKER_IMAGEMAGICK_VERSION}
- ORACLE_INSTANT_CLIENT_MIRROR=${ORACLE_INSTANT_CLIENT_MIRROR}
- ORACLE_INSTANT_CLIENT_ARCH=${ORACLE_INSTANT_CLIENT_ARCH}
- ORACLE_INSTANT_CLIENT_MAJOR=${ORACLE_INSTANT_CLIENT_MAJOR}
- ORACLE_INSTANT_CLIENT_MINOR=${ORACLE_INSTANT_CLIENT_MINOR}
volumes:
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}${APP_CODE_CONTAINER_FLAG}
- ./php-worker/supervisord.d:/etc/supervisord.d
depends_on:
- workspace
environment:
- TZ=${WORKSPACE_TIMEZONE}
extra_hosts:
- "dockerhost:${DOCKER_HOST_IP}"
networks:
- backend
### Laravel Horizon ############################################
laravel-horizon:
restart: always
build:
context: ./laravel-horizon
args:
@@ -435,6 +455,7 @@ services:
### NGINX Server #########################################
nginx:
restart: always
build:
context: ./nginx
args:
@@ -463,6 +484,7 @@ services:
### OpenResty Server #########################################
openresty:
restart: always
build:
context: ./openresty
args:
@@ -500,6 +522,7 @@ services:
### Apache Server ########################################
apache2:
restart: always
build:
context: ./apache2
args:
@@ -525,6 +548,7 @@ services:
### HHVM #################################################
hhvm:
restart: always
build: ./hhvm
volumes:
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}${APP_CODE_CONTAINER_FLAG}
@@ -538,6 +562,7 @@ services:
### Minio ################################################
minio:
restart: always
build: ./minio
volumes:
- ${DATA_PATH_HOST}/minio/data:/export
@@ -554,6 +579,7 @@ services:
### MySQL ################################################
mysql:
restart: always
build:
context: ./mysql
args:
@@ -574,6 +600,7 @@ services:
### Percona ################################################
percona:
restart: always
build:
context: ./percona
environment:
@@ -591,6 +618,7 @@ services:
### MSSQL ################################################
mssql:
restart: always
build:
context: ./mssql
environment:
@@ -607,6 +635,7 @@ services:
### MariaDB ##############################################
mariadb:
restart: always
build:
context: ./mariadb
args:
@@ -630,6 +659,7 @@ services:
### PostgreSQL ###########################################
postgres:
restart: always
build:
context: ./postgres
args:
@@ -684,6 +714,7 @@ services:
### PostgreSQL PostGis ###################################
postgres-postgis:
restart: always
build:
context: ./postgres-postgis
args:
@@ -702,6 +733,7 @@ services:
### Neo4j ################################################
neo4j:
restart: always
ports:
- '7401:7474'
- '7402:7687'
@@ -725,6 +757,7 @@ services:
### MongoDB ##############################################
mongo:
restart: always
build: ./mongo
ports:
- "${MONGODB_PORT}:27017"
@@ -739,6 +772,7 @@ services:
### RethinkDB ##############################################
rethinkdb:
restart: always
build: ./rethinkdb
ports:
- "${RETHINKDB_PORT}:8080"
@@ -780,6 +814,7 @@ services:
### Redis ################################################
redis:
restart: always
build: ./redis
volumes:
- ${DATA_PATH_HOST}/redis:/data
@@ -791,6 +826,7 @@ services:
### Redis Cluster ##########################################
redis-cluster:
restart: always
build: ./redis-cluster
ports:
- "${REDIS_CLUSTER_PORT_RANGE}:7000-7005"
@@ -798,6 +834,7 @@ services:
- backend
### SSDB ################################################
ssdb:
restart: always
build: ./ssdb
volumes:
- ${DATA_PATH_HOST}/ssdb:/data
@@ -808,6 +845,7 @@ services:
### ZooKeeper #########################################
zookeeper:
restart: always
build: ./zookeeper
volumes:
- ${DATA_PATH_HOST}/zookeeper/data:/data
@@ -819,6 +857,7 @@ services:
### Aerospike ##########################################
aerospike:
restart: always
build: ./aerospike
volumes:
- workspace
@@ -837,6 +876,7 @@ services:
### Memcached ############################################
memcached:
restart: always
build: ./memcached
volumes:
- ${DATA_PATH_HOST}/memcached:/var/lib/memcached
@@ -849,6 +889,7 @@ services:
### Beanstalkd ###########################################
beanstalkd:
restart: always
build: ./beanstalkd
ports:
- "${BEANSTALKD_HOST_PORT}:11300"
@@ -860,6 +901,7 @@ services:
### SQS #############################################
sqs:
restart: always
build: ./sqs
ports:
- "${SQS_NODE_HOST_PORT}:9324"
@@ -874,6 +916,7 @@ services:
### RabbitMQ #############################################
rabbitmq:
restart: always
build: ./rabbitmq
ports:
- "${RABBITMQ_NODE_HOST_PORT}:5672"
@@ -893,6 +936,7 @@ services:
### Mercure #############################################
mercure:
restart: always
build: ./mercure
ports:
- "${MERCURE_NODE_HOST_HTTP_PORT}:80"
@@ -911,6 +955,7 @@ services:
### Cassandra ############################################
cassandra:
restart: always
build: ./cassandra
ports:
- "${CASSANDRA_TRANSPORT_PORT_NUMBER}:7000"
@@ -943,6 +988,7 @@ services:
### Gearman ############################################
gearman:
restart: always
build: ./gearman
ports:
- "${GEARMAN_PORT}:4730"
@@ -976,6 +1022,7 @@ services:
### Beanstalkd Console ###################################
beanstalkd-console:
restart: always
build: ./beanstalkd-console
ports:
- "${BEANSTALKD_CONSOLE_HOST_PORT}:2080"
@@ -986,6 +1033,7 @@ services:
### Caddy Server #########################################
caddy:
restart: always
build: ./caddy
volumes:
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}${APP_CODE_CONTAINER_FLAG}
@@ -1003,6 +1051,7 @@ services:
### phpMyAdmin ###########################################
phpmyadmin:
restart: always
build: ./phpmyadmin
environment:
- PMA_ARBITRARY=1
@@ -1022,6 +1071,7 @@ services:
### Adminer ###########################################
adminer:
restart: always
build:
context: ./adminer
args:
@@ -1040,6 +1090,7 @@ services:
### pgAdmin ##############################################
pgadmin:
restart: always
image: dpage/pgadmin4:latest
environment:
- "PGADMIN_DEFAULT_EMAIL=${PGADMIN_DEFAULT_EMAIL}"
@@ -1069,6 +1120,7 @@ services:
### ElasticSearch ########################################
elasticsearch:
restart: always
build:
context: ./elasticsearch
args:
@@ -1102,6 +1154,7 @@ services:
### Logstash ##############################################
logstash:
restart: always
build:
context: ./logstash
args:
@@ -1123,6 +1176,7 @@ services:
### Kibana ##############################################
kibana:
restart: always
build:
context: ./kibana
args:
@@ -1137,6 +1191,7 @@ services:
### Dejavu ##############################################
dejavu:
restart: always
build:
context: ./dejavu
ports:
@@ -1162,6 +1217,7 @@ services:
### MailCatcher ################################################
mailcatcher:
restart: always
build: ./mailcatcher
ports:
- "1025:1025"
@@ -1172,6 +1228,7 @@ services:
### Mailhog ################################################
mailhog:
restart: always
build: ./mailhog
ports:
- "1025:1025"
@@ -1182,6 +1239,7 @@ services:
### MailDev ##############################################
maildev:
restart: always
build: ./maildev
ports:
- "${MAILDEV_HTTP_PORT}:80"
@@ -1192,6 +1250,7 @@ services:
### Mailpit ##############################################
mailpit:
restart: always
build: ./mailpit
ports:
- "${MAILPIT_HTTP_PORT}:8025"
@@ -1202,6 +1261,7 @@ services:
### Selenium ###############################################
selenium:
restart: always
build: ./selenium
ports:
- "${SELENIUM_PORT}:4444"
@@ -1212,6 +1272,7 @@ services:
### Varnish ##########################################
proxy:
restart: always
container_name: proxy
build: ./varnish
expose:
@@ -1253,6 +1314,7 @@ services:
### HAProxy ####################################
haproxy:
restart: always
build: ./haproxy
ports:
- "${HAPROXY_HOST_HTTP_PORT}:8085"
@@ -1264,6 +1326,7 @@ services:
### Jenkins ###################################################
jenkins:
restart: always
build: ./jenkins
environment:
JAVA_OPTS: "-Djava.awt.headless=true"
@@ -1280,6 +1343,7 @@ services:
### Grafana ################################################
grafana:
restart: always
build:
context: ./grafana
volumes:
@@ -1291,6 +1355,7 @@ services:
### Graylog #######################################
graylog:
restart: always
build: ./graylog
environment:
- GRAYLOG_PASSWORD_SECRET=${GRAYLOG_PASSWORD}
@@ -1321,6 +1386,7 @@ services:
### Laravel Echo Server #######################################
laravel-echo-server:
restart: always
build:
context: ./laravel-echo-server
args:
@@ -1337,6 +1403,7 @@ services:
### Solr ################################################
solr:
restart: always
build:
context: ./solr
args:
@@ -1352,6 +1419,7 @@ services:
### Thumbor #########################################
thumbor:
restart: always
build: ./thumbor
volumes:
- ${DATA_PATH_HOST}/thumbor/data:/data
@@ -1468,6 +1536,7 @@ services:
### AWS EB-CLI ################################################
aws:
restart: always
build:
context: ./aws-eb-cli
volumes:
@@ -1478,6 +1547,7 @@ services:
### Portainer ################################################
portainer:
restart: always
build:
context: ./portainer
volumes:
@@ -1539,6 +1609,7 @@ services:
### JupyterHub #########################################
jupyterhub:
restart: always
build:
context: ./jupyterhub
depends_on:
@@ -1574,6 +1645,7 @@ services:
### IPython #########################################
ipython-controller:
restart: always
build:
context: ./ipython
dockerfile: Dockerfile.controller
@@ -1594,6 +1666,7 @@ services:
### Docker-in-Docker ################################################
docker-in-docker:
restart: always
image: docker:20.10-dind
environment:
DOCKER_TLS_SAN: DNS:docker-in-docker
@@ -1608,6 +1681,7 @@ services:
### NetData ################################################
netdata:
restart: always
image: netdata/netdata:latest
cap_add:
- SYS_PTRACE
@@ -1622,6 +1696,7 @@ services:
### REDISWEBUI ################################################
redis-webui:
restart: always
build:
context: ./redis-webui
environment:
@@ -1639,6 +1714,7 @@ services:
### MongoWebUI ################################################
mongo-webui:
restart: always
build:
context: ./mongo-webui
environment:
@@ -1656,6 +1732,7 @@ services:
### Metabase #################################################
metabase:
restart: always
image: metabase/metabase:latest
environment:
- MB_DB_FILE=/metabase-data/${METABASE_DB_FILE}

View File

@@ -1,4 +1,4 @@
FROM openjdk:11-jdk
FROM openjdk:17-jdk-bullseye
RUN apt-get update && apt-get install -y git curl && rm -rf /var/lib/apt/lists/*
@@ -36,11 +36,11 @@ COPY init.groovy /usr/share/jenkins/ref/init.groovy.d/tcp-slave-agent-port.groov
# jenkins version being bundled in this docker image
ARG JENKINS_VERSION
ENV JENKINS_VERSION ${JENKINS_VERSION:-2.381}
ENV JENKINS_VERSION ${JENKINS_VERSION:-2.469}
# jenkins.war checksum, download will be validated using it
# 2.303.2
ARG JENKINS_SHA=62ca5dcecbf176452d94d4438488662e223ab9594dccb564f065c63832a47302
# 2.469
ARG JENKINS_SHA=954b2759e2309151596e90bb5a88ddfd950d9397440403641bbefe5c3a2a016e
# Can be used to customize where jenkins.war get downloaded from

View File

@@ -1,8 +1,6 @@
ARG MYSQL_VERSION
FROM mysql:${MYSQL_VERSION}
LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>"
#####################################
# Set Timezone
#####################################
@@ -15,10 +13,6 @@ COPY my.cnf /etc/mysql/conf.d/my.cnf
RUN chmod 0444 /etc/mysql/conf.d/my.cnf
RUN if [ ${MYSQL_VERSION} > '8.4.0-0.000' ]; then \
echo 'mysql_native_password=on' >> /etc/mysql/conf.d/my.cnf \
else \
echo 'default-authentication-plugin=mysql_native_password' >> /etc/mysql/conf.d/my.cnf \
;fi
EXPOSE 3306
RUN if [ ${MYSQL_MAJOR} = '8.0' ]; then \
echo 'default-authentication-plugin=mysql_native_password' >> /etc/mysql/conf.d/my.cnf; \
fi

View File

@@ -650,6 +650,17 @@ ENTRYPOINT ["/usr/bin/supervisord", "-n", "-c", "/etc/supervisord.conf"]
#--------------------------------------------------------------------------
#
###########################################################################
# Set Timezone
###########################################################################
ARG TZ=UTC
ENV TZ ${TZ}
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
###########################################################################
RUN php -v | head -n 1 | grep -q "PHP ${PHP_VERSION}."
#

View File

@@ -4741,11 +4741,21 @@
}
},
"braces": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
"integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
"requires": {
"fill-range": "^7.0.1"
"fill-range": "^7.1.1"
},
"dependencies": {
"fill-range": {
"version": "7.1.1",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
"integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
"requires": {
"to-regex-range": "^5.0.1"
}
}
}
},
"browser-process-hrtime": {
@@ -5870,9 +5880,9 @@
"integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="
},
"ejs": {
"version": "3.1.8",
"resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.8.tgz",
"integrity": "sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==",
"version": "3.1.10",
"resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz",
"integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==",
"requires": {
"jake": "^10.8.5"
}
@@ -7085,14 +7095,6 @@
"resolved": "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz",
"integrity": "sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ=="
},
"fill-range": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
"requires": {
"to-regex-range": "^5.0.1"
}
},
"finalhandler": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz",
@@ -15000,9 +15002,9 @@
"integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ=="
},
"tar": {
"version": "6.1.15",
"resolved": "https://registry.npmjs.org/tar/-/tar-6.1.15.tgz",
"integrity": "sha512-/zKt9UyngnxIT/EAGYuxaMYgOIJiP81ab9ZfkILq4oNLPFX50qyYmu7jRj9qeXoxmJHjGlbH0+cm2uy1WCs10A==",
"version": "6.2.1",
"resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz",
"integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==",
"requires": {
"chownr": "^2.0.0",
"fs-minipass": "^2.0.0",

View File

@@ -580,6 +580,8 @@ RUN set -eux; \
echo '' | pecl -q install swoole-4.5.11; \
elif [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ]; then \
echo '' | pecl -q install swoole-4.8.12; \
elif [ $(php -r "echo PHP_MAJOR_VERSION;") = "8" ]; then \
echo '' | pecl -q install swoole-5.1.2; \
else \
echo '' | pecl -q install swoole; \
fi; \

View File

@@ -71,6 +71,11 @@ alias rollback="php artisan migrate:rollback"
alias seed="php artisan db:seed"
alias serve="php artisan serve --quiet &"
alias pint="./vendor/bin/pint"
alias pest="./vendor/bin/pest"
alias phpstan="./vendor/bin/phpstan"
alias php-cs-fixer="./vendor/bin/php-cs-fixer"
alias phpunit="./vendor/bin/phpunit"
alias pu="phpunit"
alias puf="phpunit --filter"