126 lines
3 KiB
YAML
126 lines
3 KiB
YAML
|
# 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
|