-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yml
147 lines (147 loc) · 4.37 KB
/
docker-compose.yml
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
136
137
138
139
140
141
142
143
144
145
146
147
services:
laravel.test:
build:
context: ./docker/8.3
dockerfile: Dockerfile
args:
WWWGROUP: '${WWWGROUP}'
image: sail-8.3/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}'
IGNITION_LOCAL_SITES_PATH: '${PWD}'
volumes:
- '.:/var/www/html'
networks:
- sail
depends_on:
- mysql
mysql:
image: 'mysql/mysql-server:8.0'
ports:
- '${MYSQL_DB_PORT:-3306}:3306'
environment:
MYSQL_ROOT_PASSWORD: '${MYSQL_DB_PASSWORD}'
MYSQL_ROOT_HOST: '%'
MYSQL_DATABASE: '${MYSQL_DB_DATABASE}'
MYSQL_USER: '${MYSQL_DB_USERNAME}'
MYSQL_PASSWORD: '${MYSQL_DB_PASSWORD}'
MYSQL_ALLOW_EMPTY_PASSWORD: 1
volumes:
- 'sail-mysql:/var/lib/mysql'
- './docker/mysql/create-testing-database.sh:/docker-entrypoint-initdb.d/10-create-testing-database.sh'
networks:
- sail
healthcheck:
test:
- CMD
- mysqladmin
- ping
- '-p${MYSQL_DB_PASSWORD}'
retries: 3
timeout: 5s
phpmyadmin:
image: phpmyadmin/phpmyadmin
container_name: phpmyadmin
platform: linux/amd64
links:
- mysql
environment:
PMA_HOST: mysql
PMA_PORT: ${MYSQL_DB_PORT:-3306}
PMA_ARBITRARY: 1
restart: always
ports:
- '${PHPMYADMIN_PORT-8080}:80'
networks:
- sail
extra_hosts:
- "host.docker.internal:host-gateway"
depends_on:
- mysql
restart: always
pgsql:
image: 'postgres:15'
ports:
- '${PGSQL_DB_PORT:-5432}:5432'
environment:
PGPASSWORD: '${PGSQL_DB_PASSWORD:-secret}'
POSTGRES_DB: '${PGSQL_DB_DATABASE}'
POSTGRES_USER: '${PGSQL_DB_USERNAME}'
POSTGRES_PASSWORD: '${PGSQL_DB_PASSWORD:-secret}'
volumes:
- 'sail-pgsql:/var/lib/postgresql/data'
- './docker/pgsql/create-testing-database.sql:/docker-entrypoint-initdb.d/10-create-testing-database.sql'
networks:
- sail
extra_hosts:
- "host.docker.internal:host-gateway"
healthcheck:
test: [ "CMD", "pg_isready", "-q", "-d", "${PGSQL_DB_DATABASE}", "-U", "${PGSQL_DB_USERNAME}" ]
retries: 3
timeout: 5s
restart: always
pgadmin:
image: dpage/pgadmin4
restart: always
environment: # Use <host.docker.internal> as the host name when creating the server in pgadmin
PGADMIN_DEFAULT_EMAIL: '${PG_ADMIN_EMAIL:-admin@admin.com}'
PGADMIN_DEFAULT_PASSWORD: '${PG_ADMIN_PASSWORD:-root}'
ports:
- "5050:80"
extra_hosts:
- "host.docker.internal:host-gateway"
depends_on:
- pgsql
networks:
- sail
volumes:
- 'sail-pgadmin:/var/lib/pgadmin'
redis:
image: 'redis:alpine'
restart: always
ports:
- '${REDIS_PORT:-6379}:6379'
volumes:
- 'sail-redis:/data'
networks:
- sail
healthcheck:
test: [ "CMD", "redis-cli", "ping" ]
retries: 3
timeout: 5s
memcached:
restart: always
image: 'memcached:alpine'
ports:
- '${MEMCACHED_PORT:-11211}:11211'
networks:
- sail
mailhog:
restart: always
image: 'mailhog/mailhog:latest'
platform: 'linux/amd64'
ports:
- '${MAILHOG_PORT:-1025}:1025'
- '${MAILHOG_DASHBOARD_PORT:-8025}:8025'
networks:
- sail
networks:
sail:
driver: bridge
volumes:
sail-mysql:
driver: local
sail-pgadmin:
driver: local
sail-pgsql:
driver: local
sail-redis:
driver: local