|
1 | 1 | version: '3.8'
|
2 | 2 | services:
|
3 |
| - notifications-service: |
4 |
| - image: passimx/notifications-service |
5 |
| - container_name: passimx-notifications-service |
6 |
| - restart: always |
7 |
| - env_file: .env |
8 |
| - networks: |
9 |
| - - main |
10 |
| - depends_on: |
11 |
| - - kafka |
12 |
| - ports: |
13 |
| - - ${APP_PORT_NOTIFICATION}:${APP_PORT_NOTIFICATION} |
14 |
| - - ${SOCKET_PORT_NOTIFICATION}:${SOCKET_PORT_NOTIFICATION} |
15 |
| - |
16 |
| - chats-service: |
17 |
| - image: passimx/chats-service |
18 |
| - container_name: passimx-chats-service |
19 |
| - depends_on: |
20 |
| - - postgres |
21 |
| - - kafka |
22 |
| - restart: always |
23 |
| - env_file: .env |
24 |
| - networks: |
25 |
| - - main |
26 |
| - ports: |
27 |
| - - ${APP_PORT}:${APP_PORT} |
28 |
| - |
29 |
| - postgres: |
30 |
| - image: postgres:17-alpine |
31 |
| - container_name: passimx-postgres |
32 |
| - restart: always |
33 |
| - env_file: .env |
34 |
| - environment: |
35 |
| - POSTGRES_DB: ${PG_DATABASE} |
36 |
| - POSTGRES_USER: ${PG_USERNAME} |
37 |
| - POSTGRES_PASSWORD: ${PG_PASSWORD} |
38 |
| - command: -p ${PG_PORT} |
39 |
| - expose: |
40 |
| - - ${PG_PORT} |
41 |
| - networks: |
42 |
| - - main |
43 |
| - ports: |
44 |
| - - ${PG_PORT}:${PG_PORT} |
45 |
| - |
46 |
| - kafka: |
47 |
| - image: 'bitnami/kafka:latest' |
48 |
| - container_name: passimx-kafka |
49 |
| - restart: always |
50 |
| - networks: |
51 |
| - - main |
52 |
| - env_file: .env |
53 |
| - environment: |
54 |
| - - KAFKA_ENABLE_KRAFT=yes |
55 |
| - - KAFKA_BROKER_ID=1 |
56 |
| - - KAFKA_CFG_NODE_ID=1 |
57 |
| - - KAFKA_CFG_PROCESS_ROLES=broker,controller |
58 |
| - - KAFKA_CFG_LISTENERS=CLIENT://:${KAFKA_CLIENT_PORT},INTERNAL://:${KAFKA_INTERNAL_PORT},EXTERNAL://:${KAFKA_EXTERNAL_PORT}, |
59 |
| - - KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=INTERNAL:PLAINTEXT,CLIENT:SASL_PLAINTEXT,EXTERNAL:SASL_PLAINTEXT |
60 |
| - - KAFKA_CFG_ADVERTISED_LISTENERS=CLIENT://kafka:${KAFKA_CLIENT_PORT},EXTERNAL://kafka:${KAFKA_EXTERNAL_PORT} |
61 |
| - - KAFKA_CFG_INTER_BROKER_LISTENER_NAME=CLIENT |
62 |
| - - KAFKA_CFG_SASL_MECHANISM_INTER_BROKER_PROTOCOL=PLAIN |
63 |
| - - KAFKA_CFG_SASL_ENABLED_MECHANISMS=PLAIN |
64 |
| - - KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE=true |
65 |
| - - KAFKA_CLIENT_USERS=${KAFKA_CLIENT_USERS} |
66 |
| - - KAFKA_CLIENT_PASSWORDS=${KAFKA_USER_PASSWORD} |
67 |
| - - KAFKA_CFG_CONTROLLER_LISTENER_NAMES=INTERNAL |
68 |
| - |
69 |
| - - ALLOW_PLAINTEXT_LISTENER=yes |
70 |
| - - PRE_CREATE_TOPICS=${PRE_CREATE_TOPICS} |
71 |
| - ports: |
72 |
| - - ${KAFKA_CLIENT_PORT}:${KAFKA_CLIENT_PORT} |
73 |
| - - ${KAFKA_EXTERNAL_PORT}:${KAFKA_EXTERNAL_PORT} |
74 |
| - command: |
75 |
| - - bash |
76 |
| - - -c |
77 |
| - - | |
78 |
| - ( |
79 |
| - IFS="," read -ra TOPICS <<< "$$PRE_CREATE_TOPICS"; |
80 |
| - for T in "$${TOPICS[@]}"; do |
81 |
| - /opt/bitnami/kafka/bin/kafka-topics.sh \ |
82 |
| - --bootstrap-server kafka:9092 \ |
83 |
| - --create --topic "$$T" --if-not-exists && |
84 |
| - echo "Created $$T" || |
85 |
| - echo "Failed to create $$T"; |
86 |
| - done; |
87 |
| - ) & /opt/bitnami/scripts/kafka/run.sh |
88 |
| -
|
89 |
| - kafka-ui: |
90 |
| - container_name: passimx-kafka-ui |
91 |
| - image: provectuslabs/kafka-ui:latest |
92 |
| - restart: always |
93 |
| - depends_on: |
94 |
| - - kafka |
95 |
| - networks: |
96 |
| - - main |
97 |
| - env_file: .env |
98 |
| - environment: |
99 |
| - - SERVER_SERVLET_CONTEXT_PATH=${SERVER_SERVLET_CONTEXT_PATH} |
100 |
| - - KAFKA_CLUSTERS_0_NAME=${KAFKA_UI_HOST} |
101 |
| - - KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS=${KAFKA_HOST}:${KAFKA_CLIENT_PORT} |
102 |
| - - KAFKA_CLUSTERS_0_PROPERTIES_SECURITY_PROTOCOL=SASL_PLAINTEXT |
103 |
| - - KAFKA_CLUSTERS_0_PROPERTIES_SASL_MECHANISM=PLAIN |
104 |
| - - > |
105 |
| - KAFKA_CLUSTERS_0_PROPERTIES_SASL_JAAS_CONFIG=org.apache.kafka.common.security.plain.PlainLoginModule |
106 |
| - required |
107 |
| - username="${KAFKA_CLIENT_USERS}" |
108 |
| - password="${KAFKA_USER_PASSWORD}"; |
109 |
| - ports: |
110 |
| - - ${KAFKA_UI_PORT}:${KAFKA_UI_PORT} |
111 |
| - |
112 |
| - |
113 | 3 | webdav:
|
114 | 4 | image: bytemark/webdav
|
115 | 5 | ports:
|
116 | 6 | - ${WEBDAV_PORT}:80
|
117 | 7 | volumes:
|
118 |
| - - ./dav-data:/var/lib/dav |
| 8 | + - ./data/dav-data:/var/lib/dav |
119 | 9 | environment:
|
120 | 10 | - AUTH_TYPE=Basic
|
121 | 11 | - USERNAME=${USER_NAME_WEBDAV}
|
|
0 commit comments