# For more information: https://laravel.com/docs/sail version: '3' services: caddy: image: localhost/pterodactyl/development:panel network_mode: host command: - caddy - run - --config - /etc/caddy/Caddyfile volumes: - '.:/var/www/html' depends_on: - laravel laravel: image: localhost/pterodactyl/development:panel network_mode: host command: - 'php-fpm' - '--nodaemonize' - '-y' - '/etc/php-fpm.conf' volumes: - '.:/var/www/html' tmpfs: - '/tmp' depends_on: - pgsql - mariadb - redis - mailhog pgsql: image: docker.io/library/postgres:14 ports: - '127.0.0.1:${FORWARD_DB_PORT:-5432}:5432' environment: PGPASSWORD: '${DB_PASSWORD:-secret}' POSTGRES_DB: '${DB_DATABASE}' POSTGRES_USER: '${DB_USERNAME}' POSTGRES_PASSWORD: '${DB_PASSWORD:-secret}' volumes: - 'sail-pgsql:/var/lib/postgresql/data' - './vendor/laravel/sail/database/pgsql/create-testing-database.sql:/docker-entrypoint-initdb.d/10-create-testing-database.sql' networks: - sail healthcheck: test: ["CMD", "pg_isready", "-q", "-d", "${DB_DATABASE}", "-U", "${DB_USERNAME}"] retries: 3 timeout: 5s mariadb: image: docker.io/library/mariadb:10 ports: - '127.0.0.1:${FORWARD_DB_PORT:-3306}:3306' environment: MYSQL_DATABASE: '${DB_DATABASE}' MYSQL_USER: '${DB_USERNAME}' MYSQL_PASSWORD: '${DB_PASSWORD}' MYSQL_ALLOW_EMPTY_PASSWORD: 'yes' volumes: - 'sail-mariadb:/var/lib/mysql' - './vendor/laravel/sail/database/mysql/create-testing-database.sh:/docker-entrypoint-initdb.d/10-create-testing-database.sh' networks: - sail healthcheck: test: ["CMD", "mysqladmin", "ping", "-p${DB_PASSWORD}"] retries: 3 timeout: 5s redis: image: docker.io/library/redis:7 ports: - '127.0.0.1:${FORWARD_REDIS_PORT:-6379}:6379' volumes: - 'sail-redis:/data' networks: - sail healthcheck: test: ["CMD", "redis-cli", "ping"] retries: 3 timeout: 5s minio: image: docker.io/minio/minio:latest ports: - '127.0.0.1:${FORWARD_MINIO_PORT:-9001}:9000' - '127.0.0.1:${FORWARD_MINIO_CONSOLE_PORT:-8900}:8900' environment: MINIO_ROOT_USER: 'sail' MINIO_ROOT_PASSWORD: 'password' volumes: - 'sail-minio:/data/minio' networks: - sail command: minio server /data/minio --console-address ":8900" healthcheck: test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"] retries: 3 timeout: 5s mailhog: image: docker.io/mailhog/mailhog:latest ports: - '127.0.0.1:${FORWARD_MAILHOG_PORT:-1025}:1025' - '127.0.0.1:${FORWARD_MAILHOG_DASHBOARD_PORT:-8025}:8025' networks: - sail networks: sail: driver: bridge volumes: sail-pgsql: driver: local sail-mariadb: driver: local sail-redis: driver: local sail-minio: driver: local