summaryrefslogtreecommitdiff
path: root/docker-compose.yml
diff options
context:
space:
mode:
authorFabian Mastenbroek <mail.fabianm@gmail.com>2022-07-30 12:15:10 +0200
committerFabian Mastenbroek <mail.fabianm@gmail.com>2022-08-03 11:54:44 +0200
commita01f964b531f12fd89cbdb0f2132aecbfaebf546 (patch)
tree4a2c3795d3d1ae394e9ab785b9229ab6e14ccbdf /docker-compose.yml
parent41b0ed59421b301bac652e47d1a2909145aa5936 (diff)
refactor(web/server): Create standalone OpenDC distribution
This change updates the Quarkus configuration of the OpenDC web server to serve as a fully standalone distribution that is capable of serving the web UI, web API, and experiment runner. Such an approach vastly simplifies local deployments. For Docker deployments, we create a custom Quarkus profile that uses PostgreSQL and disables the web UI.
Diffstat (limited to 'docker-compose.yml')
-rw-r--r--docker-compose.yml38
1 files changed, 13 insertions, 25 deletions
diff --git a/docker-compose.yml b/docker-compose.yml
index faaecc03..a6d6ce1d 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -1,51 +1,39 @@
version: "3.8"
services:
- frontend:
- image: atlargeresearch/opendc-web-ui:v2.1
+ ui:
+ image: atlargeresearch/opendc-ui:v2.1
restart: on-failure
networks:
- backend
depends_on:
- - api
+ - server
environment:
NEXT_PUBLIC_AUTH0_DOMAIN: ${OPENDC_AUTH0_DOMAIN}
NEXT_PUBLIC_AUTH0_CLIENT_ID: ${OPENDC_AUTH0_CLIENT_ID}
NEXT_PUBLIC_AUTH0_AUDIENCE: ${OPENDC_AUTH0_AUDIENCE}
- NEXT_PUBLIC_SENTRY_DSN: ${OPENDC_FRONTEND_SENTRY_DSN-}
+ NEXT_PUBLIC_SENTRY_DSN: ${OPENDC_UI_SENTRY_DSN-}
- api:
- image: atlargeresearch/opendc-web-api:v2.1
+ server:
+ image: atlargeresearch/opendc:v2.1
restart: on-failure
networks:
- backend
depends_on:
- postgres
+ volumes:
+ - type: bind
+ source: ./traces
+ target: /opt/opendc/traces
environment:
OPENDC_DB_USERNAME: ${OPENDC_DB_USERNAME:?No database username specified}
OPENDC_DB_PASSWORD: ${OPENDC_DB_PASSWORD:?No database password specified}
OPENDC_DB_URL: jdbc:postgresql://postgres:5432/opendc
OPENDC_AUTH0_DOMAIN: ${OPENDC_AUTH0_DOMAIN:?No Auth0 domain specified}
OPENDC_AUTH0_AUDIENCE: ${OPENDC_AUTH0_AUDIENCE:?No Auth0 audience specified}
- SENTRY_DSN: ${OPENDC_API_SENTRY_DSN-}
-
- runner:
- image: atlargeresearch/opendc:v2.1
- restart: on-failure
- networks:
- - backend
- depends_on:
- - api
- volumes:
- - type: bind
- source: ./traces
- target: /opt/opendc/traces
- environment:
OPENDC_API_URL: ${OPENDC_API_BASE_URL:-http://web:8080}
- AUTH0_DOMAIN: ${OPENDC_AUTH0_DOMAIN:?No Auth0 domain specified}
- AUTH0_AUDIENCE: ${OPENDC_AUTH0_AUDIENCE:?No Auth0 audience specified}
- AUTH0_CLIENT_ID: ${OPENDC_AUTH0_CLIENT_ID_RUNNER:?No client id for runner}
- AUTH0_CLIENT_SECRET: ${OPENDC_AUTH0_CLIENT_SECRET_RUNNER:?No client secret for runner}
- SENTRY_DSN: ${OPENDC_SIMULATOR_SENTRY_DSN-}
+ OPENDC_AUTH0_CLIENT_ID_RUNNER: ${OPENDC_AUTH0_CLIENT_ID_RUNNER:?No client id for runner}
+ OPENDC_AUTH0_CLIENT_SECRET_RUNNER: ${OPENDC_AUTH0_CLIENT_SECRET_RUNNER:?No client secret for runner}
+ SENTRY_DSN: ${OPENDC_SERVER_SENTRY_DSN-}
postgres:
image: postgres