Commit 6e0b510a authored by Stephane Bouvry's avatar Stephane Bouvry
Browse files

- Mise en place du container MAILHOG

parent b6a2ab5f
Loading
Loading
Loading
Loading
Loading
+32 −10
Original line number Diff line number Diff line
@@ -6,7 +6,7 @@ networks:
    driver: bridge

services:

  ######################################################################
  # POSTGRESQL
  oscar-dev-postgres:
    container_name: oscar-dev-postgres
@@ -22,7 +22,7 @@ services:
#    env_file: # TODO
#      - .env.docker.dev
    ports:
      - 6543:5432
      - "6543:5432"
    volumes:
      - ./docker/dev/volumes/databases/oscar_dev_data:/var/lib/postgresql/data
      - ./docker/dev/postgresql/docker-entrypoint-initdb.d/:/docker-entrypoint-initdb.d
@@ -30,6 +30,8 @@ services:
      context: ./docker/dev/postgresql
      dockerfile: Dockerfile


  ######################################################################
  ### APACHE
  oscar-dev-apache:
    container_name: oscar-dev-apache
@@ -46,8 +48,10 @@ services:
      context: ./docker/dev/apache/
      dockerfile: Dockerfile
    ports:
      - 8888:80
      - "8888:80"


  ######################################################################
  ### GEARMAN
  oscar-dev-gearman:
    container_name: oscar-dev-gearman
@@ -57,6 +61,8 @@ services:
    tty: true
    restart: "unless-stopped"


  ######################################################################
  ### ELASTICSEARCH
  oscar-dev-elasticsearch:
    container_name: oscar-dev-elasticsearch
@@ -74,13 +80,14 @@ services:
    volumes:
      - ./docker/dev/volumes/elasticsearch:/usr/share/elasticsearch/data
#    ports:
#      - 9200:9200

#      - "9200:9200"
    networks:
      - oscar-dev-network
    tty: true
    restart: "always"


  ######################################################################
  ### WORKER
  oscar-dev-worker:
    container_name: oscar-dev-worker
@@ -97,29 +104,44 @@ services:
      context: ./docker/dev/worker
      dockerfile: Dockerfile


  ######################################################################
  ### VITE
  oscar-dev-vite:
    container_name: oscar-dev-vite
    volumes:
      - ./:/var/application

    networks:
      - oscar-dev-network

    build:
      context: ./docker/dev/vite
      dockerfile: Dockerfile

    ports:
      - 5173:5173
      - "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"  # Port Kibana
 No newline at end of file
      - "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
+14 −8
Original line number Diff line number Diff line
@@ -56,6 +56,14 @@ return array(
        // gearman
        'gearman-job-server-host' => $param_gearman_host,

        'vite' => [
            'mode' => 'dev',
            'src' => __DIR__ . '/../../ui',
            'dest' => __DIR__ . '/../../public/js/oscar/vite/dist',
            'base_url_dev' => 'http://127.0.0.1:5173',
            'base_url_prod' => '/js/oscar/vite/dist',
        ],


        ////////////////////////////////////////////////////////////////////////
        // ! EXPERIMENTAL !
@@ -305,21 +313,19 @@ return array(
        'urlAbsolute' => 'http://localhost:8080',

        'mailer' => [
            /**** TRANSPORT (smtp)
            /**** TRANSPORT (smtp) ***/
            'transport' => [
                'type' => 'smtp',
                'host' => 'smtp.domain.tld',
                'port' => 465,
                'username' => 'smithagent',
                'password' => '@m4S!n9 P4$VV0rd',
                'security' => 'ssl',
                'host' => 'oscar-dev-mailhog',
                'port' => 1025,
                'security' => false
            ],
            /****/

            /**** TRANSPORT (sendmail)
            /**** TRANSPORT (sendmail) ****
            'transport' => [
            'type' => 'sendmail',
                'cmd' => '/usr/sbin/sendmail -bs',
            'cmd' => '/usr/local/bin/mhsendmail -bs oscar-dev-mailhog:1025',
            ],
            /****

+1 −1
Original line number Diff line number Diff line
@@ -11,7 +11,7 @@ S'adresse aux gestionnaires d'application souhaitant installer et configurer une

 - [Procédure d'installation](install-prod.md) : Installation détaillée d'une instance Oscar
 - [Procédure de mise à jour](update.md) : Procédure à appliquer lors d'une mise à jour 
 - [Version DOCKER](../dockerize/README.md) : Déployer une instance via *Docker*
 - [Version DOCKER (développement)](../docker/README.md) : Déployer une instance via *Docker* (pour le développement)

## Documentation complémentaire

+10 −10
Original line number Diff line number Diff line
@@ -48,17 +48,17 @@ Mdp : administrateur

## Architecture

Il y'a X containers : 
 - **oscar-dev-apache** : L'application principale (Port: 8888)
Il y'a 8 containers : 
 - **oscar-dev-apache** : L'application principale (http://localhost:8888)
 - **oscar-dev-posgres** : Base de donnée (Port: 6543)
 - **oscar-dev-elasticsearch** : L'index de recherche
 - **oscar-dev-gearman** : Serveur de tâche
 - **oscar-dev-worker** : Executeur de tâche Oscar
 - **oscar-dev-vite** : Serveur Vite  (Port: 5173)

  TODO : 
- **oscar-dev-kibana** : Pour les tests Elasticsearch via l'UI
- **oscar-dev-mailhog** : Pour les mails
 - **oscar-dev-elasticsearch** : L'index de recherche (Ports non-exposé)
 - **oscar-dev-gearman** : Serveur de tâche (Ports non-exposé)
 - **oscar-dev-worker** : Tâche de fond Oscar
 - **oscar-dev-vite** : Serveur Vite  (http://localhost:5173)
 - **oscar-dev-kibana** : Kibana  (http://localhost:5101)
 - **oscar-dev-mailhog** : Un mail catcher (http://localhost:8025)

   TODO/Idée d'évolution : 
 - **oscar-dev-php** : Regrouper le Worker dans un PHPFPM, et brancher le apache dessus (à voir)
 - Utiliser les fichiers .env avec Dotenc (???)

+9 −7
Original line number Diff line number Diff line
@@ -2,10 +2,6 @@ FROM php:8.2-apache-bookworm

LABEL authors="Stéphane BOUVRY<stephane.bouvry@unicaen.fr>"

ENV APACHE_DOCUMENT_ROOT /var/application/public/
RUN sed -ri -e 's!/var/www/html!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/sites-available/*.conf
RUN sed -ri -e 's!/var/www/!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/apache2.conf /etc/apache2/conf-available/*.conf

# RUN apt-get update && apt-get -y install php8.2-gearman
RUN apt update && apt install -y \
    wget \
@@ -14,9 +10,6 @@ RUN apt update && apt install -y \
    libgearman-dev \
    gearman-job-server

# Configuration PHP
COPY ./php.ini /usr/local/etc/php/conf.d/999-application.ini

RUN pecl install gearman  \
    && docker-php-ext-enable gearman \
    # XDebug
@@ -55,6 +48,7 @@ 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
@@ -64,6 +58,14 @@ RUN a2enmod rewrite
#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
Loading