Newer
Older
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
services:
app:
container_name: ${CONTAINER_NAME}-app
build:
context: ./
dockerfile: ./docker/app/Dockerfile
target: app-dev
args:
COMPOSER_AUTH: "{}"
APP_BASE_DIR: ${APP_BASE_DIR-.}
depends_on:
db:
condition: service_healthy
environment:
XDEBUG_IDE_KEY: ${XDEBUG_IDE_KEY}
restart: unless-stopped
extra_hosts:
- "host.docker.internal:host-gateway"
volumes:
- ${APP_BASE_DIR-.}:/app
web:
container_name: ${CONTAINER_NAME}-web
build:
context: ./
dockerfile: ./docker/web/Dockerfile
args:
APP_BASE_DIR: ${APP_BASE_DIR-.}
restart: unless-stopped
ports:
- ${HTTP_PORT}:8080
environment:
PHP_FPM_HOST: app
volumes:
- ${APP_BASE_DIR-.}/public:/app/public
depends_on:
app:
condition: service_healthy
db:
container_name: ${CONTAINER_NAME}-db
image: postgres:16-alpine3.18
environment:
USER_ID: ${USER_ID}
GROUP_ID: ${GROUP_ID}
PGDATA: /data/postgres
PGUSER: ${DB_ROOT_USERNAME}
POSTGRES_DB: ${DB_DATABASE}
POSTGRES_USER: ${DB_USERNAME}
POSTGRES_PASSWORD: ${DB_PASSWORD}
volumes:
- sqldata:/data/postgres
ports:
- ${DB_PORT}:5432
restart: unless-stopped
healthcheck:
test: [ "CMD-SHELL", "pg_isready", "-d" ]
timeout: 5s
retries: 3
mailer:
container_name: ${CONTAINER_NAME}-mailer
image: axllent/mailpit
ports:
- "1025"
- "8025"
environment:
MP_SMTP_AUTH_ACCEPT_ANY: 1
MP_SMTP_AUTH_ALLOW_INSECURE: 1
restart: unless-stopped
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
redis:
container_name: ${CONTAINER_NAME}-redis
image: redis:6.2-alpine
restart: unless-stopped
ports:
- '6379:6379'
command: redis-server --save 20 1 --loglevel warning
volumes:
- redis:/data
zookeeper:
container_name: ${CONTAINER_NAME}-zookeeper
image: confluentinc/cp-zookeeper:latest
environment:
ZOOKEEPER_CLIENT_PORT: 2181
ZOOKEEPER_TICK_TIME: 2000
ports:
- 22181:2181
kafka:
container_name: ${CONTAINER_NAME}-kafka
image: confluentinc/cp-kafka:latest
depends_on:
- zookeeper
ports:
- 29092:29092
environment:
KAFKA_BROKER_ID: 1
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092,PLAINTEXT_HOST://localhost:29092
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1