-
Notifications
You must be signed in to change notification settings - Fork 15
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
120 lines (114 loc) · 3.41 KB
/
Copy pathdocker-compose.yml
File metadata and controls
120 lines (114 loc) · 3.41 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
services:
####################################################################
# Elastic Search
###################################################################
elastic:
image: docker.elastic.co/elasticsearch/elasticsearch:9.4.3
container_name: elastic
environment:
- http.max_content_length=200mb
- node.name=elastic
- cluster.name=es-docker-cluster
- cluster.initial_master_nodes=elastic
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms1g -Xmx1g"
- xpack.security.enabled=false
- logger.level=WARN
ulimits:
memlock:
soft: -1
hard: -1
nproc: 65536
nofile:
soft: 65536
hard: 65536
volumes:
- elastic-data:/usr/share/elasticsearch/data
ports:
- "9200:9200"
networks:
- o4g-network
env_file: .env
####################################################################
# Kibana
###################################################################
kibana:
image: docker.elastic.co/kibana/kibana:9.4.3
container_name: kibana
depends_on:
- elastic
ports:
- "5601:5601"
environment:
ELASTICSEARCH_URL: http://elastic:9200
ELASTICSEARCH_HOSTS: http://elastic:9200
networks:
- o4g-network
env_file: .env
####################################################################
# API (Backend)
###################################################################
api:
image: eclipse-temurin:25.0.3_9-jre
container_name: api
volumes:
- ./api/target/api-0.0.1-SNAPSHOT.jar:/app/app.jar
- ./api/src/main/resources:/app/config
command: java --add-opens java.base/java.math=ALL-UNNAMED -Dspring.config.additional-location=optional:file:/app/config/ -jar /app/app.jar
ports:
- "${SERVER_PORT_API:-8086}:8086"
depends_on:
- elastic
networks:
- o4g-network
env_file: .env
environment:
- SERVER_PORT=8086
- SPRING_ELASTICSEARCH_URIS=http://elastic:9200
- SPRING_PROFILES_ACTIVE=dev,devsec
####################################################################
# Front API (Backend for Frontend)
###################################################################
front-api:
image: eclipse-temurin:25.0.3_9-jre
container_name: front-api
volumes:
- ./front-api/target/front-api-0.0.1-SNAPSHOT.jar:/app/app.jar
command: java --add-opens java.base/java.math=ALL-UNNAMED -jar /app/app.jar
ports:
- "${SERVER_PORT_FRONT_API:-8082}:8082"
depends_on:
- api
networks:
- o4g-network
env_file: .env
environment:
- SERVER_PORT=8082
- FRONT_EXPOSED_DOCS_BASE_URL=http://api:8086
- SPRING_PROFILES_ACTIVE=dev,devsec
- SPRING_ELASTICSEARCH_URIS=http://elastic:9200
####################################################################
# Frontend (SSR)
###################################################################
frontend-ssr:
image: node:24
container_name: frontend-ssr
working_dir: /usr/src/app
volumes:
- ./frontend/.output:/usr/src/app/.output
- ./frontend/package.json:/usr/src/app/package.json
command: ["node", ".output/server/index.mjs"]
restart: unless-stopped
networks:
- o4g-network
ports:
- "${PORT_FRONTEND_SSR:-3000}:3000"
depends_on:
- front-api
env_file: .env
volumes:
elastic-data:
driver: local
networks:
o4g-network:
driver: bridge