| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- services:
- pgsql:
- image: postgres:18-alpine3.21
- restart: unless-stopped
- environment:
- POSTGRES_DB: ${DB_DATABASE:-app}
- POSTGRES_USER: ${DB_USERNAME:-laravel}
- POSTGRES_PASSWORD: ${DB_PASSWORD:-password}
- volumes:
- - pgsql-data:/var/lib/postgresql/data:rw
- healthcheck:
- test: pg_isready -d ${DB_DATABASE:-app} -U ${DB_USERNAME:-laravel}
- interval: 2s
- timeout: 5s
- start_period: 2s
- redis:
- image: redis:8-alpine3.21
- restart: unless-stopped
- command: >
- --requirepass ${REDIS_PASSWORD}
- volumes:
- - redis-data:/data:rw
- healthcheck:
- test: [ 'CMD', 'redis-cli', 'ping' ]
- interval: 500ms
- timeout: 1s
- mailpit:
- image: axllent/mailpit:v1.27
- restart: unless-stopped
- volumes:
- - mailpit-data:/data
- minio:
- image: minio/minio:latest
- restart: unless-stopped
- command: 'minio server /data --console-address ":8900"'
- environment:
- MINIO_ROOT_USER: ${AWS_ACCESS_KEY_ID}
- MINIO_ROOT_PASSWORD: ${AWS_SECRET_ACCESS_KEY}
- volumes:
- - minio-data:/data
- healthcheck:
- test: [ "CMD", "curl", "-f", "http://localhost:8900/minio/health/live" ]
- interval: 5s
- retries: 5
- minio-init:
- image: minio/mc
- entrypoint: >
- /bin/sh -c "sleep 5 && mc alias set local http://minio:${FORWARD_MINIO_PORT:-9000} ${AWS_ACCESS_KEY_ID} ${AWS_SECRET_ACCESS_KEY} && mc mb ${AWS_DEFAULT_REGION}/${AWS_BUCKET}"
- depends_on:
- - minio
- volumes:
- redis-data: { }
- minio-data: { }
- pgsql-data: { }
- mailpit-data: { }
|