Loading bin/oscar-worker.php +1 −1 Original line number Diff line number Diff line Loading @@ -41,7 +41,7 @@ $worker->addFunction('hello', 'oscarJob_hello'); // Affiche dans le journalctl -u oscarworker.service -f $execDev = "2"; echo "###################################################################\n"; echo "# OSCAR WORKER STARTED " . \Oscar\OscarVersion::getBuild() . " SPARTAN\n"; echo "# OSCAR WORKER STARTED\n"; echo "# working directory : '" . __DIR__ . "'\n"; echo "###################################################################\n"; Loading compose.dev.yml +51 −31 Original line number Diff line number Diff line Loading @@ -39,7 +39,7 @@ services: volumes: - ./:/var/application depends_on: - oscar-dev-gearman - oscar-dev-php networks: - oscar-dev-network # env_file: # TODO Loading @@ -47,8 +47,11 @@ services: build: context: ./docker/dev/apache/ dockerfile: Dockerfile extra_hosts: - host.docker.internal:host-gateway ports: - "8888:80" # - "9003:9003" ###################################################################### Loading @@ -56,6 +59,8 @@ services: oscar-dev-gearman: container_name: oscar-dev-gearman image: artefactual/gearmand:1.1.21.2-alpine depends_on: - oscar-dev-postgres networks: - oscar-dev-network tty: true Loading @@ -73,29 +78,44 @@ services: # - cluster.name=es-oscar-cluster - bootstrap.memory_lock=true - "ES_JAVA_OPTS=-Xms512m -Xmx512m" depends_on: - oscar-dev-postgres ulimits: memlock: soft: -1 hard: -1 volumes: - ./docker/dev/volumes/elasticsearch:/usr/share/elasticsearch/data # ports: # - "9200:9200" networks: - oscar-dev-network tty: true restart: "always" ###################################################################### ### WORKER oscar-dev-php: container_name: oscar-dev-php restart: unless-stopped depends_on: - oscar-dev-gearman volumes: - ./:/var/application networks: - oscar-dev-network build: context: ./docker/dev/worker dockerfile: Dockerfile ###################################################################### ### WORKER oscar-dev-worker: container_name: oscar-dev-worker restart: unless-stopped depends_on: - oscar-dev-gearman volumes: - ./:/var/application depends_on: - oscar-dev-apache networks: - oscar-dev-network # env_file: # TODO Loading @@ -103,7 +123,7 @@ services: build: context: ./docker/dev/worker dockerfile: Dockerfile command: ["php", "/var/application/bin/oscar-worker.php"] ###################################################################### ### VITE Loading @@ -120,28 +140,28 @@ services: - "5173:5173" ###################################################################### # KIBANA kibana: image: docker.elastic.co/kibana/kibana:7.16.1 container_name: oscar-dev-kibana depends_on: - oscar-dev-elasticsearch networks: - oscar-dev-network environment: - ELASTICSEARCH_HOSTS=http://oscar-dev-elasticsearch:9200 # Connexion à Elasticsearch ports: - "5601:5601" ###################################################################### # MAILHOG (capture les mails envoyés depuis Oscar) mailhog: image: mailhog/mailhog container_name: oscar-dev-mailhog networks: - oscar-dev-network ports: - "8025:8025" # Interface web MailHog - "1025:1025" # Port SMTP pour envoyer les mails No newline at end of file # ###################################################################### # # KIBANA # kibana: # image: docker.elastic.co/kibana/kibana:7.16.1 # container_name: oscar-dev-kibana # depends_on: # - oscar-dev-elasticsearch # networks: # - oscar-dev-network # environment: # - ELASTICSEARCH_HOSTS=http://oscar-dev-elasticsearch:9200 # Connexion à Elasticsearch # ports: # - "5601:5601" # # # ###################################################################### # # MAILHOG (capture les mails envoyés depuis Oscar) # mailhog: # image: mailhog/mailhog # container_name: oscar-dev-mailhog # networks: # - oscar-dev-network # ports: # - "8025:8025" # Interface web MailHog # - "1025:1025" # Port SMTP pour envoyer les mails No newline at end of file docker/dev/apache/Dockerfile +6 −72 Original line number Diff line number Diff line FROM php:8.2-apache-bookworm FROM debian:12-slim LABEL authors="Stéphane BOUVRY<stephane.bouvry@unicaen.fr>" # RUN apt-get update && apt-get -y install php8.2-gearman RUN apt update && apt install -y \ wget \ libpq-dev \ postgresql-client \ libgearman-dev \ gearman-job-server RUN apt update && apt install -y apache2 RUN pecl install gearman \ && docker-php-ext-enable gearman \ # XDebug && pecl install xdebug \ && docker-php-ext-enable xdebug \ && docker-php-ext-install bcmath \ && docker-php-ext-install gettext \ && docker-php-ext-install pdo \ && docker-php-ext-install pdo_pgsql \ && docker-php-ext-install sockets \ # Sodium && apt install -y libsodium-dev \ && docker-php-ext-install sodium \ # Intl && apt install -y libicu-dev \ && docker-php-ext-configure intl \ && docker-php-ext-install intl \ # Ldap && apt install -y libldap2-dev \ && docker-php-ext-install ldap \ # Gd && apt install zlib1g-dev \ && apt install -y libpng-dev \ && docker-php-ext-install gd \ # Zip && apt install -y libzip-dev \ && docker-php-ext-install zip \ # Git && apt install -y git RUN a2enmod proxy_fcgi setenvif rewrite # Installation de composer RUN wget https://getcomposer.org/download/2.2.24/composer.phar RUN mv composer.phar /bin/composer && chmod +x /bin/composer EXPOSE 80 RUN apt install -y libbz2-dev \ && docker-php-ext-install bz2 RUN apt install -y apache2-suexec-custom sudo git RUN apt install -y sendmail RUN a2enmod rewrite #RUN a2enmod suexec # # #RUN groupadd app #RUN useradd -m -s /bin/bash -g app app ## RUN chown -R app:app /var/application # Configuration PHP COPY ./php.ini /usr/local/etc/php/conf.d/999-application.ini ## Mail rerouté var mailhog avec mhsendmail RUN wget https://github.com/mailhog/mhsendmail/releases/download/v0.2.0/mhsendmail_linux_amd64 RUN chmod +x mhsendmail_linux_amd64 RUN mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmail WORKDIR /var/application # Copier le script d'entrée COPY ./entrypoint.sh /entrypoint.sh RUN chmod +x /entrypoint.sh # Définir le script comme point d'entrée ENTRYPOINT ["/entrypoint.sh"] COPY apache-config.conf /etc/apache2/sites-available/000-default.conf COPY ./apache-config.conf /etc/apache2/sites-available/000-default.conf CMD ["apachectl", "-DFOREGROUND"] No newline at end of file docker/dev/apache/apache-config.conf +7 −6 Original line number Diff line number Diff line Loading @@ -2,13 +2,14 @@ ServerName localhost DocumentRoot /var/application/public <Directory /var/application/public> <Directory "/var/application/public"> AllowOverride All Require all granted DirectoryIndex index.php <FilesMatch \.php$> SetHandler "proxy:fcgi://oscar-dev-php:9000" </FilesMatch> </Directory> # SuexecUserGroup app www-data LogLevel warn ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined LogLevel debug ErrorLog /proc/self/fd/2 </VirtualHost> No newline at end of file docker/dev/apache/php.ini +3 −2 Original line number Diff line number Diff line # Niveau de log ; Niveau de log log_errors = On # Log envoyés dans la sortie standard (s'affiche dans les logs docker) ; Log envoyés dans la sortie standard (s'affiche dans les logs docker) error_log = /dev/stderr error_reporting = E_ALL display_errors = On Loading @@ -24,6 +24,7 @@ xdebug.start_with_request=yes xdebug.client_host=host.docker.internal xdebug.client_port=9003 xdebug.idekey=PHPSTORM xdebug.discover_client_host=true ; Afficher les logs (optionnel) xdebug.log=/tmp/xdebug.log Loading Loading
bin/oscar-worker.php +1 −1 Original line number Diff line number Diff line Loading @@ -41,7 +41,7 @@ $worker->addFunction('hello', 'oscarJob_hello'); // Affiche dans le journalctl -u oscarworker.service -f $execDev = "2"; echo "###################################################################\n"; echo "# OSCAR WORKER STARTED " . \Oscar\OscarVersion::getBuild() . " SPARTAN\n"; echo "# OSCAR WORKER STARTED\n"; echo "# working directory : '" . __DIR__ . "'\n"; echo "###################################################################\n"; Loading
compose.dev.yml +51 −31 Original line number Diff line number Diff line Loading @@ -39,7 +39,7 @@ services: volumes: - ./:/var/application depends_on: - oscar-dev-gearman - oscar-dev-php networks: - oscar-dev-network # env_file: # TODO Loading @@ -47,8 +47,11 @@ services: build: context: ./docker/dev/apache/ dockerfile: Dockerfile extra_hosts: - host.docker.internal:host-gateway ports: - "8888:80" # - "9003:9003" ###################################################################### Loading @@ -56,6 +59,8 @@ services: oscar-dev-gearman: container_name: oscar-dev-gearman image: artefactual/gearmand:1.1.21.2-alpine depends_on: - oscar-dev-postgres networks: - oscar-dev-network tty: true Loading @@ -73,29 +78,44 @@ services: # - cluster.name=es-oscar-cluster - bootstrap.memory_lock=true - "ES_JAVA_OPTS=-Xms512m -Xmx512m" depends_on: - oscar-dev-postgres ulimits: memlock: soft: -1 hard: -1 volumes: - ./docker/dev/volumes/elasticsearch:/usr/share/elasticsearch/data # ports: # - "9200:9200" networks: - oscar-dev-network tty: true restart: "always" ###################################################################### ### WORKER oscar-dev-php: container_name: oscar-dev-php restart: unless-stopped depends_on: - oscar-dev-gearman volumes: - ./:/var/application networks: - oscar-dev-network build: context: ./docker/dev/worker dockerfile: Dockerfile ###################################################################### ### WORKER oscar-dev-worker: container_name: oscar-dev-worker restart: unless-stopped depends_on: - oscar-dev-gearman volumes: - ./:/var/application depends_on: - oscar-dev-apache networks: - oscar-dev-network # env_file: # TODO Loading @@ -103,7 +123,7 @@ services: build: context: ./docker/dev/worker dockerfile: Dockerfile command: ["php", "/var/application/bin/oscar-worker.php"] ###################################################################### ### VITE Loading @@ -120,28 +140,28 @@ services: - "5173:5173" ###################################################################### # KIBANA kibana: image: docker.elastic.co/kibana/kibana:7.16.1 container_name: oscar-dev-kibana depends_on: - oscar-dev-elasticsearch networks: - oscar-dev-network environment: - ELASTICSEARCH_HOSTS=http://oscar-dev-elasticsearch:9200 # Connexion à Elasticsearch ports: - "5601:5601" ###################################################################### # MAILHOG (capture les mails envoyés depuis Oscar) mailhog: image: mailhog/mailhog container_name: oscar-dev-mailhog networks: - oscar-dev-network ports: - "8025:8025" # Interface web MailHog - "1025:1025" # Port SMTP pour envoyer les mails No newline at end of file # ###################################################################### # # KIBANA # kibana: # image: docker.elastic.co/kibana/kibana:7.16.1 # container_name: oscar-dev-kibana # depends_on: # - oscar-dev-elasticsearch # networks: # - oscar-dev-network # environment: # - ELASTICSEARCH_HOSTS=http://oscar-dev-elasticsearch:9200 # Connexion à Elasticsearch # ports: # - "5601:5601" # # # ###################################################################### # # MAILHOG (capture les mails envoyés depuis Oscar) # mailhog: # image: mailhog/mailhog # container_name: oscar-dev-mailhog # networks: # - oscar-dev-network # ports: # - "8025:8025" # Interface web MailHog # - "1025:1025" # Port SMTP pour envoyer les mails No newline at end of file
docker/dev/apache/Dockerfile +6 −72 Original line number Diff line number Diff line FROM php:8.2-apache-bookworm FROM debian:12-slim LABEL authors="Stéphane BOUVRY<stephane.bouvry@unicaen.fr>" # RUN apt-get update && apt-get -y install php8.2-gearman RUN apt update && apt install -y \ wget \ libpq-dev \ postgresql-client \ libgearman-dev \ gearman-job-server RUN apt update && apt install -y apache2 RUN pecl install gearman \ && docker-php-ext-enable gearman \ # XDebug && pecl install xdebug \ && docker-php-ext-enable xdebug \ && docker-php-ext-install bcmath \ && docker-php-ext-install gettext \ && docker-php-ext-install pdo \ && docker-php-ext-install pdo_pgsql \ && docker-php-ext-install sockets \ # Sodium && apt install -y libsodium-dev \ && docker-php-ext-install sodium \ # Intl && apt install -y libicu-dev \ && docker-php-ext-configure intl \ && docker-php-ext-install intl \ # Ldap && apt install -y libldap2-dev \ && docker-php-ext-install ldap \ # Gd && apt install zlib1g-dev \ && apt install -y libpng-dev \ && docker-php-ext-install gd \ # Zip && apt install -y libzip-dev \ && docker-php-ext-install zip \ # Git && apt install -y git RUN a2enmod proxy_fcgi setenvif rewrite # Installation de composer RUN wget https://getcomposer.org/download/2.2.24/composer.phar RUN mv composer.phar /bin/composer && chmod +x /bin/composer EXPOSE 80 RUN apt install -y libbz2-dev \ && docker-php-ext-install bz2 RUN apt install -y apache2-suexec-custom sudo git RUN apt install -y sendmail RUN a2enmod rewrite #RUN a2enmod suexec # # #RUN groupadd app #RUN useradd -m -s /bin/bash -g app app ## RUN chown -R app:app /var/application # Configuration PHP COPY ./php.ini /usr/local/etc/php/conf.d/999-application.ini ## Mail rerouté var mailhog avec mhsendmail RUN wget https://github.com/mailhog/mhsendmail/releases/download/v0.2.0/mhsendmail_linux_amd64 RUN chmod +x mhsendmail_linux_amd64 RUN mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmail WORKDIR /var/application # Copier le script d'entrée COPY ./entrypoint.sh /entrypoint.sh RUN chmod +x /entrypoint.sh # Définir le script comme point d'entrée ENTRYPOINT ["/entrypoint.sh"] COPY apache-config.conf /etc/apache2/sites-available/000-default.conf COPY ./apache-config.conf /etc/apache2/sites-available/000-default.conf CMD ["apachectl", "-DFOREGROUND"] No newline at end of file
docker/dev/apache/apache-config.conf +7 −6 Original line number Diff line number Diff line Loading @@ -2,13 +2,14 @@ ServerName localhost DocumentRoot /var/application/public <Directory /var/application/public> <Directory "/var/application/public"> AllowOverride All Require all granted DirectoryIndex index.php <FilesMatch \.php$> SetHandler "proxy:fcgi://oscar-dev-php:9000" </FilesMatch> </Directory> # SuexecUserGroup app www-data LogLevel warn ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined LogLevel debug ErrorLog /proc/self/fd/2 </VirtualHost> No newline at end of file
docker/dev/apache/php.ini +3 −2 Original line number Diff line number Diff line # Niveau de log ; Niveau de log log_errors = On # Log envoyés dans la sortie standard (s'affiche dans les logs docker) ; Log envoyés dans la sortie standard (s'affiche dans les logs docker) error_log = /dev/stderr error_reporting = E_ALL display_errors = On Loading @@ -24,6 +24,7 @@ xdebug.start_with_request=yes xdebug.client_host=host.docker.internal xdebug.client_port=9003 xdebug.idekey=PHPSTORM xdebug.discover_client_host=true ; Afficher les logs (optionnel) xdebug.log=/tmp/xdebug.log Loading