summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.dockerignore6
-rw-r--r--docker-compose.override.yml29
-rw-r--r--docker-compose.prod.yml2
-rw-r--r--docker-compose.yml52
-rw-r--r--opendc-web/opendc-web-api/Dockerfile17
-rw-r--r--opendc-web/opendc-web-runner/Dockerfile (renamed from Dockerfile)0
6 files changed, 60 insertions, 46 deletions
diff --git a/.dockerignore b/.dockerignore
index e4d96f71..bbc8efcc 100644
--- a/.dockerignore
+++ b/.dockerignore
@@ -1,7 +1,5 @@
-Dockerfile
-
.git
-
+.env
.idea/
**/out
*.iml
@@ -10,3 +8,5 @@ Dockerfile
.gradle
**/build
**/node_modules
+
+**/Dockerfile
diff --git a/docker-compose.override.yml b/docker-compose.override.yml
index 5d104557..314adcb1 100644
--- a/docker-compose.override.yml
+++ b/docker-compose.override.yml
@@ -10,29 +10,38 @@ services:
NEXT_PUBLIC_API_BASE_URL: http://localhost:8081
api:
- build: opendc-web/opendc-web-api
+ build:
+ context: .
+ dockerfile: opendc-web/opendc-web-api/Dockerfile
ports:
- "8081:80"
environment:
SENTRY_ENVIRONMENT: "development"
- simulator:
- build: .
+ runner:
+ build:
+ context: .
+ dockerfile: opendc-web/opendc-web-runner/Dockerfile
environment:
SENTRY_ENVIRONMENT: "development"
- mongo:
+ postgres:
ports:
- - "27017:27017"
+ - "5432:5432"
- mongo-express:
- image: mongo-express
+ pgadmin:
+ image: dpage/pgadmin4
restart: on-failure
networks:
- backend
depends_on:
- - mongo
+ - postgres
ports:
- - "8082:8081"
+ - "5050:80"
environment:
- ME_CONFIG_MONGODB_URL: "mongodb://${MONGO_INITDB_ROOT_USERNAME}:${MONGO_INITDB_ROOT_PASSWORD}@mongo:27017/"
+ PGADMIN_DEFAULT_EMAIL: ${PGADMIN_DEFAULT_EMAIL:-pgadmin4@pgadmin.org}
+ PGADMIN_DEFAULT_PASSWORD: ${PGADMIN_DEFAULT_PASSWORD:-admin}
+ PGADMIN_CONFIG_SERVER_MODE: 'False'
+
+volumes:
+ pgadmin:
diff --git a/docker-compose.prod.yml b/docker-compose.prod.yml
index c4f43298..1206ff9c 100644
--- a/docker-compose.prod.yml
+++ b/docker-compose.prod.yml
@@ -14,6 +14,6 @@ services:
environment:
SENTRY_ENVIRONMENT: "production"
- simulator:
+ runner:
environment:
SENTRY_ENVIRONMENT: "production"
diff --git a/docker-compose.yml b/docker-compose.yml
index 52209a5b..faaecc03 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -19,23 +19,16 @@ services:
networks:
- backend
depends_on:
- - mongo
+ - postgres
environment:
- - MONGO_INITDB_ROOT_USERNAME
- - MONGO_INITDB_ROOT_PASSWORD
- - MONGO_INITDB_DATABASE
- - OPENDC_DB
- - OPENDC_DB_USERNAME
- - OPENDC_DB_PASSWORD
- - OPENDC_DB_HOST=mongo
- - OPENDC_FLASK_SECRET
- - AUTH0_DOMAIN=${OPENDC_AUTH0_DOMAIN}
- - AUTH0_AUDIENCE=${OPENDC_AUTH0_AUDIENCE}
- - AUTH0_DOCS_CLIENT_ID=${OPENDC_AUTH0_DOCS_CLIENT_ID}
- - SENTRY_DSN=${OPENDC_API_SENTRY_DSN-}
- - SENTRY_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-}
- simulator:
+ runner:
image: atlargeresearch/opendc:v2.1
restart: on-failure
networks:
@@ -47,31 +40,26 @@ services:
source: ./traces
target: /opt/opendc/traces
environment:
- - OPENDC_API_URL=${OPENDC_API_BASE_URL}
- - AUTH0_DOMAIN=${OPENDC_AUTH0_DOMAIN}
- - AUTH0_AUDIENCE=${OPENDC_AUTH0_AUDIENCE}
- - AUTH0_CLIENT_ID=${OPENDC_AUTH0_CLIENT_ID_RUNNER}
- - AUTH0_CLIENT_SECRET=${OPENDC_AUTH0_CLIENT_SECRET_RUNNER}
- - SENTRY_DSN=${OPENDC_SIMULATOR_SENTRY_DSN-}
- - SENTRY_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-}
- mongo:
- build: database
+ postgres:
+ image: postgres
restart: on-failure
environment:
- - MONGO_INITDB_ROOT_USERNAME
- - MONGO_INITDB_ROOT_PASSWORD
- - MONGO_INITDB_DATABASE
- - OPENDC_DB
- - OPENDC_DB_USERNAME
- - OPENDC_DB_PASSWORD
+ POSTGRES_USER: ${OPENDC_DB_USERNAME}
+ POSTGRES_PASSWORD: ${OPENDC_DB_PASSWORD}
networks:
- backend
volumes:
- - mongo-volume:/data/db
+ - postgres:/var/lib/postgresql/data
volumes:
- mongo-volume:
+ postgres:
networks:
backend: {}
diff --git a/opendc-web/opendc-web-api/Dockerfile b/opendc-web/opendc-web-api/Dockerfile
new file mode 100644
index 00000000..ff300170
--- /dev/null
+++ b/opendc-web/opendc-web-api/Dockerfile
@@ -0,0 +1,17 @@
+FROM openjdk:17-slim
+MAINTAINER OpenDC Maintainers <opendc@atlarge-research.com>
+
+# Obtain (cache) Gradle wrapper
+COPY gradlew /app/
+COPY gradle /app/gradle
+WORKDIR /app
+RUN ./gradlew --version
+
+# Build project
+COPY ./ /app/
+RUN ./gradlew --no-daemon :opendc-web:opendc-web-api:build
+
+FROM openjdk:17-slim
+COPY --from=0 /app/opendc-web/opendc-web-api/build/quarkus-app /opt/opendc
+WORKDIR /opt/opendc
+CMD java -jar quarkus-run.jar
diff --git a/Dockerfile b/opendc-web/opendc-web-runner/Dockerfile
index 771ed2ed..771ed2ed 100644
--- a/Dockerfile
+++ b/opendc-web/opendc-web-runner/Dockerfile