Search code examples
laravellaravel-8laravel-sailmailhog

Mailhog is not working in Laravel 8.x + Sail


I'm using Sail with Laravel 8.x
I set it up and it's working perfectly.
However, as said here in the Doc, I'm supposed to be able to access the MailHog web interface at: http://localhost:8025 since I configured my .env like this:

MAIL_HOST=mailhog
MAIL_PORT=1025
MAIL_ENCRYPTION=null

But http://localhost:8025 shows me This page isn’t working

Any help? Please!


Solution

  • This my docker-compose.yml file

    # For more information: https://laravel.com/docs/sail
    version: '3'
    services:
        laravel.test:
            build:
                context: ./vendor/laravel/sail/runtimes/8.0
                dockerfile: Dockerfile
                args:
                    WWWGROUP: '${WWWGROUP}'
            image: sail-8.0/app
            ports:
                - '${APP_PORT:-80}:80'
            environment:
                WWWUSER: '${WWWUSER}'
                LARAVEL_SAIL: 1
                XDEBUG_MODE: '${SAIL_XDEBUG_MODE:-off}'
                XDEBUG_CONFIG: '${SAIL_XDEBUG_CONFIG:-client_host=host.docker.internal}'
            volumes:
                - '.:/var/www/html'
            networks:
                - sail
            depends_on:
                - mysql
                - redis
                - meilisearch
                - selenium
        mysql:
            image: 'mysql:8.0'
            ports:
                - '${FORWARD_DB_PORT:-3306}:3306'
            environment:
                MYSQL_ROOT_PASSWORD: '${DB_PASSWORD}'
                MYSQL_DATABASE: '${DB_DATABASE}'
                MYSQL_USER: '${DB_USERNAME}'
                MYSQL_PASSWORD: '${DB_PASSWORD}'
                MYSQL_ALLOW_EMPTY_PASSWORD: 'yes'
            volumes:
                - 'sailmysql:/var/lib/mysql'
            networks:
                - sail
            healthcheck:
              test: ["CMD", "mysqladmin", "ping", "-p${DB_PASSWORD}"]
              retries: 3
              timeout: 5s
        redis:
            image: 'redis:alpine'
            ports:
                - '${FORWARD_REDIS_PORT:-6379}:6379'
            volumes:
                - 'sailredis:/data'
            networks:
                - sail
            healthcheck:
              test: ["CMD", "redis-cli", "ping"]
              retries: 3
              timeout: 5s
        meilisearch:
            image: 'getmeili/meilisearch:latest'
            ports:
                - '${FORWARD_MEILISEARCH_PORT:-7700}:7700'
            volumes:
                - 'sailmeilisearch:/data.ms'
            networks:
                - sail
            healthcheck:
              test: ["CMD", "wget", "--no-verbose", "--spider",  "http://localhost:7700/health"]
              retries: 3
              timeout: 5s
        mailhog:
            image: 'mailhog/mailhog:latest'
            ports:
                - '${FORWARD_MAILHOG_PORT:-1025}:1025'
                - '${FORWARD_MAILHOG_DASHBOARD_PORT:-8025}:8025'
            networks:
                - sail
        selenium:
           image: 'selenium/standalone-chrome'
           volumes:
                - '/dev/shm:/dev/shm'
           networks:
               - sail
    networks:
        sail:
            driver: bridge
    volumes:
        sailmysql:
            driver: local
        sailredis:
            driver: local
        sailmeilisearch:
            driver: local