82 lines
2.4 KiB
YAML
82 lines
2.4 KiB
YAML
# For more information: https://laravel.com/docs/sail
|
|
version: "3"
|
|
services:
|
|
laravel.test:
|
|
build:
|
|
context: ./docker/7.4
|
|
dockerfile: Dockerfile
|
|
args:
|
|
WWWGROUP: "${WWWGROUP}"
|
|
image: sail-7.4/app
|
|
extra_hosts:
|
|
- "host.docker.internal:host-gateway"
|
|
ports:
|
|
- "${APP_PORT:-80}:80"
|
|
- "${VITE_PORT:-5173}:${VITE_PORT:-5173}"
|
|
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:
|
|
- mariadb
|
|
- meilisearch
|
|
- mailpit
|
|
mariadb:
|
|
image: "mariadb:10"
|
|
ports:
|
|
- "${FORWARD_DB_PORT:-3306}:3306"
|
|
environment:
|
|
MYSQL_ROOT_PASSWORD: "${DB_PASSWORD}"
|
|
MYSQL_ROOT_HOST: "%"
|
|
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
|
|
meilisearch:
|
|
image: "getmeili/meilisearch:latest"
|
|
ports:
|
|
- "${FORWARD_MEILISEARCH_PORT:-7700}:7700"
|
|
volumes:
|
|
- "sail-meilisearch:/meili_data"
|
|
networks:
|
|
- sail
|
|
healthcheck:
|
|
test:
|
|
[
|
|
"CMD",
|
|
"wget",
|
|
"--no-verbose",
|
|
"--spider",
|
|
"http://localhost:7700/health",
|
|
]
|
|
retries: 3
|
|
timeout: 5s
|
|
mailpit:
|
|
image: "axllent/mailpit:latest"
|
|
ports:
|
|
- "${FORWARD_MAILPIT_PORT:-1025}:1025"
|
|
- "${FORWARD_MAILPIT_DASHBOARD_PORT:-8025}:8025"
|
|
networks:
|
|
- sail
|
|
networks:
|
|
sail:
|
|
driver: bridge
|
|
volumes:
|
|
sail-mariadb:
|
|
driver: local
|
|
sail-meilisearch:
|
|
driver: local
|