-
Notifications
You must be signed in to change notification settings - Fork 1
/
docker-compose.yml
104 lines (98 loc) · 3.14 KB
/
docker-compose.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
services:
app:
image: aamdigital/ndb-server:${VERSION:?No release specified}
networks:
- internal
- nginx-proxy_default
depends_on:
- couchdb
volumes:
- ./config.json:/usr/share/nginx/html/assets/config.json
- ./keycloak.json:/usr/share/nginx/html/assets/keycloak.json
environment:
VIRTUAL_HOST: ${APP_URL:?App URL not set}
LETSENCRYPT_HOST: ${APP_URL:?App URL not set}
COUCHDB_URL: ${APP_BACKEND_URL:-http://couchdb:5984}
QUERY_URL: ${AAM_BACKEND_SERVICE_URL:-http://localhost}
restart: unless-stopped
couchdb:
image: couchdb:3
networks:
- internal
volumes:
- ./couchdb/data:/opt/couchdb/data
- ./couchdb.ini:/opt/couchdb/etc/local.d/couchdb.ini
environment:
COUCHDB_USER: ${COUCHDB_USER:-admin}
COUCHDB_PASSWORD: ${COUCHDB_PASSWORD:?CouchDB password not set}
restart: unless-stopped
# (optional) replication-backend. Only deployed if "COMPOSE_PROFILES=replication-backend" is set in the `.env` file
replication-backend:
image: ghcr.io/aam-digital/replication-backend:latest
networks:
- internal
depends_on:
- couchdb
environment:
DATABASE_URL: http://couchdb:5984
DATABASE_NAME: app
DATABASE_USER: ${COUCHDB_USER:-admin}
DATABASE_PASSWORD: ${COUCHDB_PASSWORD:?Admin password not set}
JWT_SECRET: ${JWT_SECRET}
JWT_PUBLIC_KEY: "-----BEGIN PUBLIC KEY-----\n${PUBLIC_KEY}\n-----END PUBLIC KEY-----"
SENTRY_DSN: ${SENTRY_DSN}
SENTRY_ENABLED: ${SENTRY_ENABLED}
SENTRY_INSTANCE_NAME: ${APP_URL}
SENTRY_ENVIRONMENT: ${SENTRY_ENVIRONMENT}
PORT: 5984
restart: unless-stopped
profiles:
- replication-backend
# (optional) aam-backend-service (query-backend). Only deployed if "COMPOSE_PROFILES=aam-backend-service" is set in the `.env` file
aam-backend-service:
image: ghcr.io/aam-digital/aam-backend-service:latest
expose:
- "3000"
networks:
- internal
depends_on:
- couchdb
- rabbitmq
volumes:
- ./storage/query-backend/data:/aam-backend-service/bin/data
env_file:
- ./config/aam-backend-service/application.env
restart: unless-stopped
profiles:
- aam-backend-service
# (optional) needed for aam-backend-service (query-backend). Only deployed if "COMPOSE_PROFILES=aam-backend-service" is set in the `.env` file
rabbitmq:
image: rabbitmq:3-management-alpine
networks:
- internal
restart: always
volumes:
- ./storage/rabbitmq/data:/var/lib/rabbitmq/
- ./storage/rabbitmq/log:/var/log/rabbitmq
profiles:
- aam-backend-service
# (optional) needed for aam-backend-service (query-backend). Only deployed if "COMPOSE_PROFILES=aam-backend-service" is set in the `.env` file
sqs:
image: ghcr.io/aam-digital/aam-sqs-linux:latest
networks:
- internal
depends_on:
- couchdb
restart: always
expose:
- "4984"
volumes:
- ./storage/sqs:/data
environment:
SQS_COUCHDB_URL: http://couchdb:5984
profiles:
- aam-backend-service
networks:
internal:
nginx-proxy_default:
external: true