Prechádzať zdrojové kódy

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
Mahmoud Zalt 5 mesiacov pred
rodič
commit
3ca9bb0a59

+ 2 - 1
.env.example

@@ -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

+ 77 - 0
docker-compose.yml

@@ -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}

+ 4 - 4
jenkins/Dockerfile

@@ -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

+ 3 - 9
mysql/Dockerfile

@@ -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

+ 11 - 0
php-worker/Dockerfile

@@ -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}."
 
 #

+ 20 - 18
react/package-lock.json

@@ -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",

+ 2 - 0
workspace/Dockerfile

@@ -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; \

+ 5 - 0
workspace/aliases.sh

@@ -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"