-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathcompose.yaml
106 lines (101 loc) · 2.75 KB
/
compose.yaml
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
services:
nginx:
container_name: nginx
image: focela/nginx:1.24
restart: always
networks:
- focela-network
depends_on:
php-fpm:
condition: service_healthy
mysql:
condition: service_healthy
postgres:
condition: service_healthy
ports:
- ${NGINX_PORT:-80}:80
- ${NGINX_HTTPS_PORT:-443}:443
volumes: &shared-volumes
- ./docker/nginx/sites-enabled:/etc/nginx/conf.d
- ./src:/var/www
- ~/.composer:/var/www/.composer:cached
- ~/.ssh/id_rsa:/var/www/.ssh/id_rsa:cached
- ~/.ssh/known_hosts:/var/www/.ssh/known_hosts:cached
- sock-data:/sock
- ssl-data:/etc/nginx/certs
- nginx-logs:/var/log/nginx
- php-fpm-logs:/var/log/php-fpm
extra_hosts: &extra-hosts
- "*:172.17.0.1"
php-fpm:
container_name: php-fpm
image: focela/php:8.4
restart: always
networks:
- focela-network
volumes: *shared-volumes
extra_hosts: *extra-hosts
environment:
BLACKFIRE_CLIENT_ID: ${BLACKFIRE_CLIENT_ID}
BLACKFIRE_CLIENT_TOKEN: ${BLACKFIRE_CLIENT_TOKEN}
XDEBUG_MODE: ${XDEBUG_MODE:-off}
XDEBUG_CONFIG: ${XDEBUG_CONFIG:-client_host=host.docker.internal}
COMPOSER_DISABLE_XDEBUG_WARN: ${COMPOSER_DISABLE_XDEBUG_WARN:-1}
PHP_CS_FIXER_IGNORE_ENV: ${PHP_CS_FIXER_IGNORE_ENV:-1}
PUPPETEER_SKIP_CHROMIUM_DOWNLOAD: ${PUPPETEER_SKIP_CHROMIUM_DOWNLOAD:-true}
healthcheck:
test: ["CMD", "php-fpm", "-t"]
interval: 10s
retries: 5
start_period: 20s
mysql:
container_name: mysql
image: mysql:8.4
restart: always
networks:
- focela-network
ports:
- ${MYSQL_DB_PORT:-3306}:3306
volumes:
- mysql-data:/var/lib/mysql:cached
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-root}
MYSQL_DATABASE: ${MYSQL_DATABASE:-dev_db}
MYSQL_ALLOW_EMPTY_PASSWORD: "yes"
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
interval: 10s
retries: 5
start_period: 20s
postgres:
container_name: postgres
image: postgres:17
restart: always
networks:
- focela-network
ports:
- ${POSTGRES_DB_PORT:-5432}:5432
volumes:
- postgres-data:/var/lib/postgresql/data:cached
environment:
POSTGRES_USER: ${POSTGRES_USER:-root}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-root}
POSTGRES_DB: ${POSTGRES_DB:-dev_db}
command: postgres -c log_statement=all
healthcheck:
test: ["CMD-SHELL", "pg_isready"]
interval: 10s
retries: 5
start_period: 20s
volumes:
nginx-logs:
php-fpm-logs:
nginx-data:
sock-data:
ssl-data:
mysql-data:
postgres-data:
networks:
focela-network:
driver: bridge
name: focela-network