diff --git a/.gitmodules b/.gitmodules index e2d357619..97e6e4808 100644 --- a/.gitmodules +++ b/.gitmodules @@ -17,3 +17,7 @@ path = openslides-auth-service url = git@github.com:OpenSlides/openslides-auth-service.git branch = master +[submodule "openslides-media-service"] + path = openslides-media-service + url = git@github.com:OpenSlides/openslides-media-service.git + branch = openslides4-dev diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml index 9f6d9f546..b54c3f897 100644 --- a/docker-compose.dev.yml +++ b/docker-compose.dev.yml @@ -32,6 +32,10 @@ services: image: openslides-auth-dev volumes: - ./openslides-auth-service/auth/src:/app/src + media: + image: openslides-media-dev + volumes: + - ./openslides-media-service/src:/app/src haproxy: image: openslides-haproxy-dev volumes: diff --git a/docker-compose.prod.yml b/docker-compose.prod.yml index f5084faf9..85de18f7f 100644 --- a/docker-compose.prod.yml +++ b/docker-compose.prod.yml @@ -11,7 +11,7 @@ services: networks: - backend - datastore-reader - - datastore-postgresql + - postgres datastore-writer: build: @@ -23,12 +23,12 @@ services: image: openslides-datastore-writer networks: - backend - - datastore-postgresql + - postgres - message-bus - datastore-postgresql: + postgres: networks: - - datastore-postgresql + - postgres client: build: @@ -67,6 +67,14 @@ services: networks: - message-bus + media: + # TODO: build + image: openslides-media + networks: + - frontend + - backend + - postgres + haproxy: build: ./haproxy image: openslides-haproxy @@ -75,14 +83,14 @@ services: - 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 +# There are special networks for some services only, e.g. postgres only for the postgresql, datastore reader and datastore writer networks: uplink: frontend: internal: true backend: internal: true - datastore-postgresql: + postgres: internal: true datastore-reader: internal: true diff --git a/docker-compose.yml b/docker-compose.yml index 6fb927285..b49fe4859 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,21 +3,15 @@ services: # DATASTORE SECTION datastore-reader: depends_on: - - datastore-postgresql + - postgres env_file: services.env environment: - NUM_WORKERS=8 datastore-writer: depends_on: - - datastore-postgresql + - postgres - message-bus env_file: services.env - datastore-postgresql: - image: postgres:11 - environment: - - POSTGRES_USER=openslides - - POSTGRES_PASSWORD=openslides - - POSTGRES_DB=openslides # CLIENT client: @@ -48,6 +42,21 @@ services: cache: image: redis:latest + # MEDIA + media: + depends_on: + - backend + - postgres + env_file: services.env + + # PERSISTENCE + postgres: + image: postgres:11 + environment: + - POSTGRES_USER=openslides + - POSTGRES_PASSWORD=openslides + - POSTGRES_DB=openslides + # SHARED message-bus: image: redis:latest diff --git a/haproxy/src/haproxy.cfg b/haproxy/src/haproxy.cfg index 22d2008da..f5697f9cf 100644 --- a/haproxy/src/haproxy.cfg +++ b/haproxy/src/haproxy.cfg @@ -30,6 +30,9 @@ frontend https acl auth path_beg -i /system/auth use_backend backend_auth if auth + acl media path_beg -i /system/media + use_backend backend_media if media + stats enable stats uri /stats stats refresh 10s @@ -53,4 +56,8 @@ backend backend_autoupdate backend backend_auth mode http - server auth auth:9004 resolvers docker_resolver check \ No newline at end of file + server auth auth:9004 resolvers docker_resolver check + +backend backend_media + mode http + server media media:9006 resolvers docker_resolver check diff --git a/openslides-media-service b/openslides-media-service new file mode 160000 index 000000000..400d8699e --- /dev/null +++ b/openslides-media-service @@ -0,0 +1 @@ +Subproject commit 400d8699e6569e26e2e64dfd3215bbc02c3622f0 diff --git a/services.env b/services.env index 846f2214f..8444aa769 100644 --- a/services.env +++ b/services.env @@ -5,8 +5,7 @@ DATASTORE_READER_HOST=datastore-reader DATASTORE_READER_PORT=9010 DATASTORE_WRITER_HOST=datastore-writer DATASTORE_WRITER_PORT=9011 - -DATASTORE_DATABASE_HOST=datastore-postgresql +DATASTORE_DATABASE_HOST=postgres ACTION_HOST=backend ACTION_PORT=9002 @@ -16,4 +15,9 @@ PRESENTER_PORT=9003 AUTH_HOST=auth AUTH_PORT=9004 CACHE_HOST=cache -CACHE_PORT=6379 \ No newline at end of file +CACHE_PORT=6379 + +MEDIA_HOST=media +MEDIA_PORT=9006 +MEDIA_DATABASE_HOST=postgres +MEDIA_DATABASE_NAME=openslides