-
Notifications
You must be signed in to change notification settings - Fork 8
Expand file tree
/
Copy pathdocker-compose.yaml
More file actions
117 lines (111 loc) · 3.39 KB
/
docker-compose.yaml
File metadata and controls
117 lines (111 loc) · 3.39 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
version: '3.8'
networks:
mc-application-manager-network:
driver: bridge
internal_network:
internal: true
external_network:
driver: bridge
mc-observability-network:
external: true
name: mc-observability-network
services:
mc-application-manager-db:
image: postgres:16-alpine
container_name: mc-application-manager-db
restart: always
networks:
- mc-application-manager-network
ports:
- 18085:5432
volumes:
- ./container-volume/mc-application-manager/am_db/data:/var/lib/postgresql/data
environment:
- POSTGRES_USER=${AM_POSTGRES_USER:-application}
- POSTGRES_PASSWORD=${AM_POSTGRES_PASSWORD:-application!23}
- POSTGRES_DB=${AM_POSTGRES_DB:-appmgr}
healthcheck:
test: [ "CMD-SHELL", "pg_isready -U ${AM_POSTGRES_USER:-application} -d ${AM_POSTGRES_DB:-appmgr}" ]
interval: 1m
timeout: 5s
retries: 3
start_period: 30s
command: >
sh -c "
chown -R postgres:postgres /var/lib/postgresql/data &&
exec docker-entrypoint.sh postgres
"
# sonatype nexus - for application manager
sonatype-nexus:
image: sonatype/nexus3:latest
container_name: nexus-repository
platform: linux/amd64
networks:
- internal_network
- external_network
ports:
- target: 8081
published: 8081
protocol: tcp
- target: 5500 # container-repository
published: 5500
protocol: tcp
- target: 5600 # container-repository
published: 5600
protocol: tcp
volumes:
- ~/:/nexus-data/blobs/
environment:
NEXUS_SECURITY_RANDOMPASSWORD: 'false'
NEXUS_SECURITY_INITIAL_PASSWORD: 123456 # Please CHANGE ME
healthcheck: # for application-manager
test: [ "CMD", "curl", "-f", "http://localhost:8081" ]
interval: 1m
timeout: 5s
retries: 3
start_period: 30s
# application-manager
mc-application-manager:
image: cloudbaristaorg/mc-application-manager:edge
container_name: application-manager
privileged: true # Docker-in-Docker를 위한 privileged 모드
depends_on:
mc-application-manager-db:
condition: service_healthy
networks:
- mc-application-manager-network
- external_network
- mc-observability-network
ports:
- target: 18084
published: 18084
protocol: tcp
volumes:
- ./db/application:/db/application
#- dind-storage:/var/lib/docker # DinD용 Docker 데이터 볼륨
- /var/run:/var/run # DinD 소켓용
environment:
- DDL_AUTO=update
- DB_URL=jdbc:postgresql://mc-application-manager-db:5432/${AM_POSTGRES_DB:-appmgr}
- DB_USER=${DB_USER:-application}
- DB_PASS=${DB_PASS:-application!23}
- SQL_DATA_INIT=never
- TUMBLEBUG_URL=mc-infra-manager
- TUMBLEBUG_PORT=1323
- TUMBLEBUG_ID=default
- TUMBLEBUG_PASSWORD=default
# RabbitMQ connection for alert notification - using mc-observability's RabbitMQ
- RABBITMQ_URL=mc-observability-rabbitmq
- RABBITMQ_PORT=15672
- RABBITMQ_VHOST=test
- RABBITMQ_USERNAME=mc-agent
- RABBITMQ_PASSWORD=mc-agent
- ALERT_SLACK_CHANNEL_ID=#kubernetes-alerts
healthcheck: # for cb-application-manager
test: ["CMD", "nc", "-vz", "localhost", "1324"]
interval: 1m
timeout: 5s
retries: 3
start_period: 30s
#volumes:
# dind-storage: