-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.all.yml
138 lines (125 loc) · 4.01 KB
/
docker-compose.all.yml
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
x-linkedout-common: &linkedout_common
depends_on:
postgres:
condition: service_healthy
nats:
condition: service_started
neo4j:
condition: service_started
x-linkedout-env: &linkedout_env
NATS_SPRING_SERVER: nats://nats:4222
services:
# Postgres
postgres:
image: bitnami/postgresql:16.1.0
environment:
ALLOW_EMPTY_PASSWORD: yes
POSTGRESQL_USERNAME: postgres
POSTGRESQL_POSTGRES_PASSWORD: postgres
volumes:
- postgresql_data:/bitnami/postgresql
- ./config/postgres:/docker-entrypoint-initdb.d
healthcheck:
test: ["CMD-SHELL", "sh -c 'pg_isready -U postgres'"]
interval: 5s
timeout: 2s
retries: 24
# NATS
nats:
image: bitnami/nats:2.10.5
# Neo4j
neo4j:
image: neo4j
environment:
NEO4J_PLUGINS: "[\"apoc\", \"apoc-extended\"]"
NEO4J_AUTH: neo4j/password
NEO4J_dbms_security_procedures_allowlist: gds.*, apoc.*
NEO4J_dbms_security_procedures_unrestricted: gds.*, apoc.*
volumes:
- neo4j_data:/bitnami/neo4j
- ./backend/recommendation/apoc.conf:/var/lib/neo4j/conf/apoc.conf
- ./backend/recommendation/schema.cypher:/var/lib/neo4j/db_init/schema.cypher
# MinIO
minio:
image: bitnami/minio:2024.2.26
ports:
- 8280:9001
volumes:
- minio_data:/bitnami/minio/data
# LinkedOut microservices
linkedout_api_gateway:
<<: *linkedout_common
image: ghcr.io/thomas-mauran/linkedout/api_gateway
ports:
- 9090:9090
environment:
<<: *linkedout_env
linkedout_employer:
<<: *linkedout_common
image: ghcr.io/thomas-mauran/linkedout/employer
environment:
<<: *linkedout_env
SPRING_R2DBC_URL: r2dbc:postgresql://postgres:5432/employer
SPRING_R2DBC_USERNAME: employer
SPRING_R2DBC_PASSWORD: employer
SPRING_FLYWAY_URL: jdbc:postgresql://postgres:5432/employer
SPRING_FLYWAY_USER: employer
SPRING_FLYWAY_PASSWORD: employer
linkedout_jobs:
<<: *linkedout_common
image: ghcr.io/thomas-mauran/linkedout/jobs
environment:
<<: *linkedout_env
SPRING_R2DBC_URL: r2dbc:postgresql://postgres:5432/job
SPRING_R2DBC_USERNAME: job
SPRING_R2DBC_PASSWORD: job
SPRING_FLYWAY_URL: jdbc:postgresql://postgres:5432/job
SPRING_FLYWAY_USER: job
SPRING_FLYWAY_PASSWORD: job
linkedout_messaging:
<<: *linkedout_common
image: ghcr.io/thomas-mauran/linkedout/messaging
environment:
<<: *linkedout_env
SPRING_R2DBC_URL: r2dbc:postgresql://postgres:5432/messaging
SPRING_R2DBC_USERNAME: messaging
SPRING_R2DBC_PASSWORD: messaging
SPRING_FLYWAY_URL: jdbc:postgresql://postgres:5432/messaging
SPRING_FLYWAY_USER: messaging
SPRING_FLYWAY_PASSWORD: messaging
linkedout_notification:
<<: *linkedout_common
image: ghcr.io/thomas-mauran/linkedout/notification
environment:
<<: *linkedout_env
SPRING_R2DBC_URL: r2dbc:postgresql://postgres:5432/notification
SPRING_R2DBC_USERNAME: notification
SPRING_R2DBC_PASSWORD: notification
SPRING_FLYWAY_URL: jdbc:postgresql://postgres:5432/notification
SPRING_FLYWAY_USER: notification
SPRING_FLYWAY_PASSWORD: notification
linkedout_profile:
<<: *linkedout_common
image: ghcr.io/thomas-mauran/linkedout/profile
environment:
<<: *linkedout_env
SPRING_R2DBC_URL: r2dbc:postgresql://postgres:5432/profile
SPRING_R2DBC_USERNAME: profile
SPRING_R2DBC_PASSWORD: profile
SPRING_FLYWAY_URL: jdbc:postgresql://postgres:5432/profile
SPRING_FLYWAY_USER: profile
SPRING_FLYWAY_PASSWORD: profile
S3_ACCESS_KEY: minio
S3_SECRET_KEY: miniosecret
linkedout_recommendation:
<<: *linkedout_common
image: ghcr.io/thomas-mauran/linkedout/recommendation
environment:
<<: *linkedout_env
SPRING_NEO4J_URI: bolt://neo4j:7687
SPRING_NEO4J_AUTHENTICATION_USERNAME: neo4j
SPRING_NEO4J_AUTHENTICATION_PASSWORD: password
volumes:
postgresql_data:
neo4j_data:
minio_data: