Ajout de la configuration de Supercronic pour la configuration des tâches planifiées.
This commit is contained in:
+6
-2
@@ -1,10 +1,11 @@
|
|||||||
# À définir pour éviter les problèmes sur les multi-projets Docker
|
# À définir pour éviter les problèmes sur les multi-projets Docker
|
||||||
COMPOSE_PROJECT_NAME=""
|
COMPOSE_PROJECT_NAME=""
|
||||||
|
|
||||||
# Raccourcie pour les fichier docker-compose
|
# Raccourcis pour les fichier docker-compose
|
||||||
COMPOSE_FILE_BASE="docker/docker-compose.yml"
|
COMPOSE_FILE_BASE="docker/docker-compose.yml"
|
||||||
COMPOSE_FILE_APACHE="docker/docker-compose.apache-php.yml"
|
COMPOSE_FILE_APACHE="docker/docker-compose.apache-php.yml"
|
||||||
COMPOSE_FILE_FRANKENPHP="docker/docker-compose.frankenphp.yml"
|
COMPOSE_FILE_FRANKENPHP="docker/docker-compose.frankenphp.yml"
|
||||||
|
COMPOSE_FILE_CRON="docker/docker-compose.cron.yml"
|
||||||
COMPOSE_FILE_UPLOAD="docker/docker-compose.upload.yml"
|
COMPOSE_FILE_UPLOAD="docker/docker-compose.upload.yml"
|
||||||
COMPOSE_FILE_MAILOG="docker/docker-compose.mailhog.yml"
|
COMPOSE_FILE_MAILOG="docker/docker-compose.mailhog.yml"
|
||||||
COMPOSE_FILE_DEV="docker/docker-compose.dev.yml"
|
COMPOSE_FILE_DEV="docker/docker-compose.dev.yml"
|
||||||
@@ -18,7 +19,7 @@ COMPOSE_FILE=${COMPOSE_FILE_BASE}
|
|||||||
COMPOSE_FILE_SERVER_PHP=${COMPOSE_FILE_APACHE}
|
COMPOSE_FILE_SERVER_PHP=${COMPOSE_FILE_APACHE}
|
||||||
|
|
||||||
# Exemple complet en local
|
# Exemple complet en local
|
||||||
# COMPOSE_FILE=${COMPOSE_FILE_BASE}:${COMPOSE_FILE_SERVER_PHP}:${COMPOSE_FILE_UPLOAD}:${COMPOSE_FILE_MAILOG}:${COMPOSE_FILE_DEV}
|
# COMPOSE_FILE=${COMPOSE_FILE_BASE}:${COMPOSE_FILE_SERVER_PHP}:${COMPOSE_FILE_CRON}:${COMPOSE_FILE_UPLOAD}:${COMPOSE_FILE_MAILOG}:${COMPOSE_FILE_DEV}
|
||||||
|
|
||||||
# Pour utiliser Let's Encrypt :
|
# Pour utiliser Let's Encrypt :
|
||||||
# COMPOSE_FILE=${COMPOSE_FILE_BASE}:${COMPOSE_FILE_LETS_ENCRYPT}
|
# COMPOSE_FILE=${COMPOSE_FILE_BASE}:${COMPOSE_FILE_LETS_ENCRYPT}
|
||||||
@@ -50,6 +51,9 @@ APACHE_ROOT_PATH="/var/www/html"
|
|||||||
FRANKENPHP_IMAGE="dunglas/frankenphp:1.11.2-php8.5"
|
FRANKENPHP_IMAGE="dunglas/frankenphp:1.11.2-php8.5"
|
||||||
FRANKENPHP_ROOT_PATH="/app/"
|
FRANKENPHP_ROOT_PATH="/app/"
|
||||||
|
|
||||||
|
# Image du serveur PHP
|
||||||
|
PHP_IMAGE=${APACHE_PHP_IMAGE}
|
||||||
|
|
||||||
# Nom du fichier de configuration OPcache à utiliser
|
# Nom du fichier de configuration OPcache à utiliser
|
||||||
OPCACHE_CONFIG_FILE="opcache.dev.ini"
|
OPCACHE_CONFIG_FILE="opcache.dev.ini"
|
||||||
|
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ RUN if echo "$SERVER_PHP_IMAGE" | grep -qi apache; then \
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
RUN apt-get update && apt-get install -y \
|
RUN apt-get update && apt-get install -y \
|
||||||
|
nano \
|
||||||
git \
|
git \
|
||||||
mariadb-client \
|
mariadb-client \
|
||||||
npm \
|
npm \
|
||||||
@@ -35,6 +36,17 @@ RUN apt-get update && apt-get install -y \
|
|||||||
&& apt-get clean \
|
&& apt-get clean \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
# Configuration de cron
|
||||||
|
ENV SUPERCRONIC_URL=https://github.com/aptible/supercronic/releases/download/v0.2.44/supercronic-linux-amd64 \
|
||||||
|
SUPERCRONIC_SHA1SUM=6eb0a8e1e6673675dc67668c1a9b6409f79c37bc \
|
||||||
|
SUPERCRONIC=supercronic-linux-amd64
|
||||||
|
|
||||||
|
RUN curl -fsSLO "$SUPERCRONIC_URL" \
|
||||||
|
&& echo "${SUPERCRONIC_SHA1SUM} ${SUPERCRONIC}" | sha1sum -c - \
|
||||||
|
&& chmod +x "$SUPERCRONIC" \
|
||||||
|
&& mv "$SUPERCRONIC" "/usr/local/bin/${SUPERCRONIC}" \
|
||||||
|
&& ln -s "/usr/local/bin/${SUPERCRONIC}" /usr/local/bin/supercronic
|
||||||
|
|
||||||
RUN usermod -u 1000 www-data && groupmod -g 1000 www-data
|
RUN usermod -u 1000 www-data && groupmod -g 1000 www-data
|
||||||
|
|
||||||
# Configuration pour Composer
|
# Configuration pour Composer
|
||||||
@@ -44,5 +56,3 @@ ENV COMPOSER_CACHE_DIR=/var/www/.cache/composer
|
|||||||
# Configuration de NPM
|
# Configuration de NPM
|
||||||
RUN mkdir -p /var/www/.npm && chown -R www-data:www-data /var/www/.npm
|
RUN mkdir -p /var/www/.npm && chown -R www-data:www-data /var/www/.npm
|
||||||
ENV NPM_CONFIG_CACHE=/var/www/.npm
|
ENV NPM_CONFIG_CACHE=/var/www/.npm
|
||||||
|
|
||||||
USER www-data
|
|
||||||
@@ -1,11 +1,6 @@
|
|||||||
services:
|
services:
|
||||||
|
|
||||||
server-php:
|
server-php:
|
||||||
build:
|
|
||||||
context: .
|
|
||||||
args:
|
|
||||||
SERVER_PHP_IMAGE: ${APACHE_PHP_IMAGE}
|
|
||||||
dockerfile: ${PWD}/docker/Dockerfile.server-php
|
|
||||||
|
|
||||||
environment:
|
environment:
|
||||||
APACHE_ADMIN_EMAIL: ${APACHE_ADMIN_EMAIL}
|
APACHE_ADMIN_EMAIL: ${APACHE_ADMIN_EMAIL}
|
||||||
@@ -20,5 +15,3 @@ services:
|
|||||||
- ${PWD}/host/apache/conf/apache2.conf:/etc/apache2/conf-enabled/docker.conf
|
- ${PWD}/host/apache/conf/apache2.conf:/etc/apache2/conf-enabled/docker.conf
|
||||||
- ${PWD}/host/php/conf/${OPCACHE_CONFIG_FILE:-opcache.default.ini}:/usr/local/etc/php/conf.d/opcache.ini
|
- ${PWD}/host/php/conf/${OPCACHE_CONFIG_FILE:-opcache.default.ini}:/usr/local/etc/php/conf.d/opcache.ini
|
||||||
- ${PWD}/upload:/app/public/upload
|
- ${PWD}/upload:/app/public/upload
|
||||||
|
|
||||||
user: "${UID:-1000}:${GID:-1000}"
|
|
||||||
@@ -0,0 +1,26 @@
|
|||||||
|
services:
|
||||||
|
|
||||||
|
cron:
|
||||||
|
restart: unless-stopped
|
||||||
|
container_name: ${CONTAINER_PREFIX}_cron
|
||||||
|
|
||||||
|
build:
|
||||||
|
context: ${PWD}
|
||||||
|
args:
|
||||||
|
SERVER_PHP_IMAGE: ${SERVER_PHP_IMAGE}
|
||||||
|
dockerfile: ${PWD}/docker/Dockerfile.server-php
|
||||||
|
|
||||||
|
command: supercronic /etc/crontab
|
||||||
|
|
||||||
|
environment:
|
||||||
|
APP_PATH: ${APP_CONTAINER_PATH}
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
- ${PWD}/${APP_HOST_PATH}:${APP_CONTAINER_PATH}
|
||||||
|
- ${PWD}/host/crontab:/etc/crontab
|
||||||
|
|
||||||
|
depends_on:
|
||||||
|
- server-php
|
||||||
|
|
||||||
|
healthcheck:
|
||||||
|
disable: true
|
||||||
@@ -1,11 +1,6 @@
|
|||||||
services:
|
services:
|
||||||
|
|
||||||
server-php:
|
server-php:
|
||||||
build:
|
|
||||||
context: .
|
|
||||||
args:
|
|
||||||
SERVER_PHP_IMAGE: ${FRANKENPHP_IMAGE}
|
|
||||||
dockerfile: ${PWD}/docker/Dockerfile.server-php
|
|
||||||
|
|
||||||
environment:
|
environment:
|
||||||
FRANKENPHP_ROOT_PATH: ${FRANKENPHP_ROOT_PATH}
|
FRANKENPHP_ROOT_PATH: ${FRANKENPHP_ROOT_PATH}
|
||||||
@@ -18,11 +13,5 @@ services:
|
|||||||
- ${PWD}/host/php/conf/${OPCACHE_CONFIG_FILE:-opcache.default.ini}:/usr/local/etc/php/conf.d/opcache.ini
|
- ${PWD}/host/php/conf/${OPCACHE_CONFIG_FILE:-opcache.default.ini}:/usr/local/etc/php/conf.d/opcache.ini
|
||||||
- ${PWD}/upload:/app/public/upload
|
- ${PWD}/upload:/app/public/upload
|
||||||
|
|
||||||
user: "${UID:-1000}:${GID:-1000}"
|
|
||||||
|
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: [ "CMD-SHELL", "curl -s http://localhost/server-php-test.php || exit 1" ]
|
disable: true
|
||||||
interval: 30s
|
|
||||||
timeout: 1s
|
|
||||||
retries: 10
|
|
||||||
start_period: 1s
|
|
||||||
|
|||||||
@@ -27,6 +27,13 @@ services:
|
|||||||
server-php:
|
server-php:
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
container_name: ${CONTAINER_PREFIX}_server_php
|
container_name: ${CONTAINER_PREFIX}_server_php
|
||||||
|
|
||||||
|
build:
|
||||||
|
context: ${PWD}
|
||||||
|
args:
|
||||||
|
SERVER_PHP_IMAGE: ${SERVER_PHP_IMAGE}
|
||||||
|
dockerfile: ${PWD}/docker/Dockerfile.server-php
|
||||||
|
|
||||||
labels:
|
labels:
|
||||||
- traefik.enable=true
|
- traefik.enable=true
|
||||||
- traefik.docker.network=frontend
|
- traefik.docker.network=frontend
|
||||||
@@ -40,6 +47,8 @@ services:
|
|||||||
- frontend
|
- frontend
|
||||||
- backend
|
- backend
|
||||||
|
|
||||||
|
user: "${UID:-1000}:${GID:-1000}"
|
||||||
|
|
||||||
# Configuration de PHPMyAdmin
|
# Configuration de PHPMyAdmin
|
||||||
phpmyadmin:
|
phpmyadmin:
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
|||||||
@@ -0,0 +1,4 @@
|
|||||||
|
# Utilisation de Supercronic pour la gestion des tâches planifiées
|
||||||
|
# https://github.com/aptible/supercronic
|
||||||
|
|
||||||
|
# * * * * * php $APP_PATH/artisan my-test
|
||||||
Reference in New Issue
Block a user