diff options
| -rw-r--r-- | .dockerignore | 6 | ||||
| -rw-r--r-- | docker-compose.override.yml | 29 | ||||
| -rw-r--r-- | docker-compose.prod.yml | 2 | ||||
| -rw-r--r-- | docker-compose.yml | 52 | ||||
| -rw-r--r-- | opendc-web/opendc-web-api/Dockerfile | 17 | ||||
| -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 |
