summaryrefslogtreecommitdiff
path: root/docker-compose.yml
diff options
context:
space:
mode:
authorFabian Mastenbroek <mail.fabianm@gmail.com>2022-08-03 14:42:49 +0200
committerGitHub <noreply@github.com>2022-08-03 14:42:49 +0200
commit2692a032b8ecbe2ddccfb88628cf37af56c3ea36 (patch)
tree5dde4331c0a10dd8e843c75cf68d2c7d3cd45906 /docker-compose.yml
parentb023b085425c0d0f7952c2c331576b8d0fc8c857 (diff)
parent87df18bb691260ee69d2e48cf1598e6a4acc329b (diff)
merge: Simplify OpenDC deployment process
This pull request attempts to simplify the deployment process necessary for deploying OpenDC locally or using Docker. There was currently not a clear and simple way to deploy OpenDC locally, yet the Docker-based deployment was also out-of-sync. ## Implementation Notes :hammer_and_pick: * Address several bugs in the OpenDC web runner * Fix dependency related issues * Rename `opendc-web-api` to `opendc-web-server` * Create a local distribution of `opendc-web-server`. * Fix Docker deployment * Update deployment guide ## External Dependencies :four_leaf_clover: * Quarkus 2.11.1 * `jandex-gradle-plugin` 0.13.2 ## Breaking API Changes :warning: * `TraceFormat.installedProviders` has been changed to `TraceFormat.getInstalledProviders`. The list of installed providers is now not cached at first access, but queried every time the method is invoked and its results depend on the caller context (e.g., context class loader). * `OpenDCRunner` now requires a `JobManager` as constructor argument, which can be constructed as follows: `JobManager.create(client)` * `opendc-web-api` is now renamed to `opendc-web-server`.
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