93 lines
2.2 KiB
YAML
93 lines
2.2 KiB
YAML
version: "3"
|
|
services:
|
|
datastore-reader:
|
|
build:
|
|
context: "https://github.com/OpenSlides/openslides-datastore-service.git"
|
|
args:
|
|
GIT_CHECKOUT: "${OPENSLIDES_DATASTORE_SERVICE_COMMIT_HASH}"
|
|
MODULE: "reader"
|
|
PORT: "${OPENSLIDES_DATASTORE_READER_PORT}"
|
|
image: openslides-datastore-reader
|
|
networks:
|
|
- backend
|
|
- datastore-reader
|
|
- datastore-postgresql
|
|
|
|
datastore-writer:
|
|
build:
|
|
context: "https://github.com/OpenSlides/openslides-datastore-service.git"
|
|
args:
|
|
GIT_CHECKOUT: "${OPENSLIDES_DATASTORE_SERVICE_COMMIT_HASH}"
|
|
MODULE: "writer"
|
|
PORT: "${OPENSLIDES_DATASTORE_WRITER_PORT}"
|
|
image: openslides-datastore-writer
|
|
networks:
|
|
- backend
|
|
- datastore-postgresql
|
|
- message-bus
|
|
|
|
datastore-postgresql:
|
|
networks:
|
|
- datastore-postgresql
|
|
|
|
client:
|
|
build:
|
|
context: "https://github.com/OpenSlides/openslides-client.git"
|
|
args:
|
|
GIT_CHECKOUT: "${OPENSLIDES_CLIENT_COMMIT_HASH}"
|
|
image: openslides-client
|
|
networks:
|
|
- frontend
|
|
|
|
backend:
|
|
networks:
|
|
- frontend
|
|
- backend
|
|
|
|
autoupdate:
|
|
networks:
|
|
- frontend
|
|
- backend
|
|
- message-bus
|
|
|
|
auth:
|
|
build:
|
|
context: "https://github.com/OpenSlides/openslides-auth-service.git"
|
|
args:
|
|
GIT_CHECKOUT: "${OPENSLDIES_AUTH_SERVICE_COMMIT_HASH}"
|
|
PORT: "${OPENSLDIES_AUTH_SERVICE_PORT}"
|
|
image: openslides-auth
|
|
networks:
|
|
- datastore-reader
|
|
- auth
|
|
cache:
|
|
networks:
|
|
- auth
|
|
message-bus:
|
|
networks:
|
|
- message-bus
|
|
|
|
haproxy:
|
|
build: ./haproxy
|
|
image: openslides-haproxy
|
|
networks:
|
|
- uplink
|
|
- frontend
|
|
|
|
# Setup: host <-uplink-> haproxy <-frontend-> services that are reachable from the client <-backend-> services that are internal-only
|
|
# There are special networks for some services only, e.g. datastore-postgresql only for the postgresql, datastore reader and datastore writer
|
|
networks:
|
|
uplink:
|
|
frontend:
|
|
internal: true
|
|
backend:
|
|
internal: true
|
|
datastore-postgresql:
|
|
internal: true
|
|
datastore-reader:
|
|
internal: true
|
|
message-bus:
|
|
internal: true
|
|
auth:
|
|
internal: true
|