-
Notifications
You must be signed in to change notification settings - Fork 113
Expand file tree
/
Copy pathdocker-compose.yaml
More file actions
143 lines (132 loc) · 5.53 KB
/
docker-compose.yaml
File metadata and controls
143 lines (132 loc) · 5.53 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
136
137
138
139
140
141
142
143
services:
redis:
image: redis:alpine
command: [ redis-server, --maxmemory 128mb, --maxmemory-policy volatile-lru, --save "" ]
rabbitmq:
image: rabbitmq:alpine
volumes:
- pimcore-rabbitmq:/var/lib/rabbitmq/
db:
image: mariadb:10.11
working_dir: /application
command: [ mysqld, --character-set-server=utf8mb4, --collation-server=utf8mb4_unicode_520_ci, --innodb-file-per-table=1 ]
volumes:
- pimcore-database:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=ROOT
- MYSQL_DATABASE=pimcore
- MYSQL_USER=pimcore
- MYSQL_PASSWORD=pimcore
healthcheck:
# The service is considered healthy when:
# - connection to pimcore db can be established, and
# - we can run a simple SQL query.
test: [ "CMD-SHELL", "mysql -h db -u$$MYSQL_USER -p$$MYSQL_PASSWORD $$MYSQL_DATABASE -e 'SHOW TABLES;'" ]
interval: 10s
retries: 6
start_period: 1m
timeout: 3s
nginx:
image: nginx:stable-alpine
ports:
- "80:80"
volumes:
- .:/var/www/html:ro
- ./.docker/nginx.conf:/etc/nginx/conf.d/default.conf:ro
depends_on:
- php
php:
#user: '1000:1000' # set to your uid:gid
image: pimcore/pimcore:php8.5-max-5.x
environment:
COMPOSER_HOME: /var/www/html
PHP_IDE_CONFIG: serverName=localhost
# Feed installer configuration via ENV variables.
# See: https://pimcore.com/docs/pimcore/current/Development_Documentation/Getting_Started/Advanced_Installation_Topics.html#page_Advanced-Installation-Topics
depends_on:
db:
condition: service_healthy
volumes:
- .:/var/www/html
- ./.docker/messenger.yaml:/var/www/html/config/packages/messenger.yaml:ro
supervisord:
#user: '1000:1000' # set to your uid:gid
image: pimcore/pimcore:php8.5-supervisord-5.x
depends_on:
rabbitmq:
condition: service_started
db:
condition: service_healthy
volumes:
- .:/var/www/html
- ./.docker/messenger.yaml:/var/www/html/config/packages/messenger.yaml:ro
- ./.docker/supervisord.conf:/etc/supervisor/conf.d/pimcore.conf:ro
mercure:
image: dunglas/mercure
restart: unless-stopped
environment:
# Uncomment the following line to disable HTTPS
SERVER_NAME: ':80'
MERCURE_PUBLISHER_JWT_KEY: 'CHANGE_ME_THIS_IS_MY_SECRET_KEY_THAT_IS_LONG_ENOUGH_FOR_VALIDATION'
MERCURE_SUBSCRIBER_JWT_KEY: 'CHANGE_ME_THIS_IS_MY_SECRET_KEY_THAT_IS_LONG_ENOUGH_FOR_VALIDATION'
MERCURE_EXTRA_DIRECTIVES: anonymous
# Uncomment the following line to enable the development mode
# command: /usr/bin/caddy run -config /etc/caddy/Caddyfile.dev
ports:
- "8080:80"
# - "8443:443"
opensearch:
image: opensearchproject/opensearch:2
environment:
- cluster.name=opensearch-cluster # Name the cluster
- node.name=opensearch-node # Name the node that will run in this container
- discovery.seed_hosts=opensearch-node # Nodes to look for when discovering the cluster
- cluster.routing.allocation.disk.threshold_enabled=false # Disable disk usage watermark
# - cluster.initial_cluster_manager_nodes=opensearch-node # Nodes eligible to serve as cluster manager
- bootstrap.memory_lock=true # Disable JVM heap memory swapping
- "OPENSEARCH_JAVA_OPTS=-Xms1024m -Xmx1024m" # Set min and max JVM heap sizes to at least 50% of system RAM
- discovery.type=single-node
- action.auto_create_index=false
- OPENSEARCH_INITIAL_ADMIN_PASSWORD=gBsVe!Dut723
ulimits:
memlock:
soft: -1 # Set memlock to unlimited (no soft or hard limit)
hard: -1
nofile:
soft: 65536 # Maximum number of open files for the opensearch user - set to at least 65536
hard: 65536
volumes:
- pimcore-demo-opensearch:/usr/share/opensearch/data
opensearch-dashboards:
image: opensearchproject/opensearch-dashboards:2 # Make sure the version of opensearch-dashboards matches the version of opensearch installed on other nodes
ports:
- 5601:5601
environment:
OPENSEARCH_HOSTS: '["https://opensearch:9200"]'
# The following two services are used for testing.
# We restrict these services to the test profile only, so we don't spin them up with every `docker compose up`.
# See: https://docs.docker.com/compose/profiles/
test-db:
profiles: [ 'test' ]
extends: db
volumes:
- pimcore-test-database:/var/lib/mysql
test-php:
profiles: [ 'test' ]
extends: php
environment:
APP_ENV: test
PIMCORE_TEST_DB_DSN: ${PIMCORE_TEST_DB_DSN:-mysql://pimcore:pimcore@test-db/pimcore}
depends_on:
test-db:
condition: service_healthy
volumes:
- pimcore-test-var:/var/www/html/var
- pimcore-test-public-var:/var/www/html/public/var
volumes:
pimcore-database:
pimcore-rabbitmq:
pimcore-test-database:
pimcore-test-var:
pimcore-test-public-var:
pimcore-demo-opensearch: