-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
executable file
·135 lines (128 loc) · 2.85 KB
/
Copy pathdocker-compose.yml
File metadata and controls
executable file
·135 lines (128 loc) · 2.85 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
# Local development environment
services:
app:
build:
context: .
dockerfile: Dockerfile
target: development
args:
BUILD_TARGET: ssr
volumes:
- .:/app
- /app/node_modules
- /app/vendor
ports:
- "80:80"
- "443:443"
- "8000:8000"
environment:
- APP_ENV=local
- APP_DEBUG=true
- DB_CONNECTION=pgsql
- DB_HOST=postgres
- DB_PORT=5432
- DB_DATABASE=baselaravel12react
- DB_USERNAME=laravel
- DB_PASSWORD=secret
- REDIS_HOST=redis
- REDIS_PASSWORD=null
- REDIS_PORT=6379
- VITE_PORT=5173
- VITE_HOST=0.0.0.0
- FRANKENPHP_CONFIG=worker ./frankenphp-worker.php
- FILESYSTEM_DISK=minio
- AWS_ACCESS_KEY_ID=minioadmin
- AWS_SECRET_ACCESS_KEY=minioadmin
- AWS_DEFAULT_REGION=us-east-1
- AWS_BUCKET=laravel
- AWS_ENDPOINT=http://minio:9000
- AWS_USE_PATH_STYLE_ENDPOINT=true
depends_on:
postgres:
condition: service_healthy
redis:
condition: service_healthy
minio:
condition: service_healthy
networks:
- laravel
command: >
sh -c "php artisan migrate --force &&
php artisan db:seed &&
frankenphp run --config /app/docker/frankenphp/Caddyfile.local"
postgres:
image: postgres:16-alpine
environment:
POSTGRES_DB: baselaravel12react
POSTGRES_USER: laravel
POSTGRES_PASSWORD: secret
ports:
- "5432:5432"
volumes:
- postgres_data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U laravel"]
interval: 10s
timeout: 5s
retries: 5
networks:
- laravel
redis:
image: redis:7-alpine
ports:
- "6379:6379"
volumes:
- redis_data:/data
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
timeout: 5s
retries: 5
networks:
- laravel
ssr:
build:
context: .
dockerfile: Dockerfile
target: development
volumes:
- .:/app
ports:
- "13714:13714"
environment:
- NODE_ENV=development
networks:
- laravel
command: npm run ssr
mailhog:
image: mailhog/mailhog:latest
ports:
- "1025:1025"
- "8025:8025"
networks:
- laravel
minio:
image: minio/minio:latest
ports:
- "9000:9000"
- "9001:9001"
environment:
- MINIO_ROOT_USER=minioadmin
- MINIO_ROOT_PASSWORD=minioadmin
volumes:
- minio_data:/data
networks:
- laravel
command: server /data --console-address ":9001"
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
interval: 30s
timeout: 20s
retries: 3
volumes:
postgres_data:
redis_data:
minio_data:
networks:
laravel:
driver: bridge