diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..c9cb9e5 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,17 @@ + +# exclude hidden dirs .git etc. +.* + +# ignore any files that start with '.secret' +#.secret.* + +### Gradle ### +build/ +gradle +src +#.gradle + +# IntelliJ +#.idea/ +#out/ +#*.iml diff --git a/kafkatorio.Dockerfile b/kafkatorio.Dockerfile new file mode 100644 index 0000000..cc69c2f --- /dev/null +++ b/kafkatorio.Dockerfile @@ -0,0 +1,20 @@ +# syntax=docker/dockerfile:1 + +ARG KAFKATORIO_VERSION + +#FROM gradle:7.4.2-jdk11 as builder +FROM eclipse-temurin:11-jdk-jammy as builder + +WORKDIR /app + +ENV GRADLE_USER_HOME /gradle-home +ENV GRADLE_OPTS "-Dorg.gradle.daemon=false -Dorg.gradle.logging.stacktrace=full -Dorg.gradle.console=plain" + +COPY . . +RUN ./gradlew assemble + + + +FROM builder + +RUN ./gradlew assemble diff --git a/modules/events-server/docker/.dockerignore b/modules/events-server/docker/.dockerignore new file mode 100644 index 0000000..f9f2ef3 --- /dev/null +++ b/modules/events-server/docker/.dockerignore @@ -0,0 +1,21 @@ +# +## exclude hidden dirs .git etc. +#.* +# +## ignore any files that start with '.secret' +##.secret.* +# +#### Gradle ### +#build/ +#!build/distributions +# +#src +# +#kafkatorio-tiles/ +#kafka-state/ +##.gradle +# +## IntelliJ +##.idea/ +##out/ +##*.iml diff --git a/modules/events-server/docker/.env b/modules/events-server/docker/.env new file mode 100644 index 0000000..db082c3 --- /dev/null +++ b/modules/events-server/docker/.env @@ -0,0 +1,3 @@ +# Do not edit manually. This file was created with task 'dockerEnv' +COMPOSE_PROJECT_NAME=kafkatorio +KAFKATORIO_VERSION=0.5.1 diff --git a/modules/events-server/docker/Dockerfile b/modules/events-server/docker/Dockerfile new file mode 100644 index 0000000..9c350df --- /dev/null +++ b/modules/events-server/docker/Dockerfile @@ -0,0 +1,22 @@ +# syntax=docker/dockerfile:1 + +FROM eclipse-temurin:11-jdk-jammy +ARG KAFKATORIO_VERSION=0.5.1 +ARG DIST_DIR="../build/distributions/" + +WORKDIR /app + +ENV SERVER_PORT=8080 +EXPOSE $SERVER_PORT + +ENV TILE_DIR="/app/tiles" +ENV KAFKA_STREAMS_STATE_DIR="/app/kafka-state" +VOLUME ${TILE_DIR} \ + ${KAFKA_STREAMS_STATE_DIR} + +COPY ${DIST_DIR}/events-server-${KAFKATORIO_VERSION}.tar events-server.tar + +RUN tar -xf events-server.tar --strip-components=1 \ + && rm events-server.tar + +ENTRYPOINT /app/bin/events-server diff --git a/modules/events-server/docker/docker-compose.yml b/modules/events-server/docker/docker-compose.yml new file mode 100644 index 0000000..8326de9 --- /dev/null +++ b/modules/events-server/docker/docker-compose.yml @@ -0,0 +1,29 @@ +version: "3.9" + +services: + + events-server: + image: kafkatorio/events-server:${KAFKATORIO_VERSION} + container_name: events-server + build: + context: .. + dockerfile: ./docker/Dockerfile + args: + KAFKATORIO_VERSION: ${KAFKATORIO_VERSION} + DIST_DIR: "./build/distributions/" + environment: + KAFKA_BOOTSTRAP_SERVERS: "http://kafka:29092" + KAFKA_STREAMS_STATE_DIR: "http://kafka:29092" + SERVER_PORT: "12081" +# ports: +# - "12081:12081" # http and ws + networks: + - "kafka-nw" + +networks: + kafka-nw: + name: "kafka-nw" + external: true + kafkatorio-nw: + name: "kafkatorio-nw" + external: true diff --git a/modules/web-map/docker/.env b/modules/web-map/docker/.env new file mode 100644 index 0000000..db082c3 --- /dev/null +++ b/modules/web-map/docker/.env @@ -0,0 +1,3 @@ +# Do not edit manually. This file was created with task 'dockerEnv' +COMPOSE_PROJECT_NAME=kafkatorio +KAFKATORIO_VERSION=0.5.1 diff --git a/modules/web-map/docker/Dockerfile b/modules/web-map/docker/Dockerfile new file mode 100644 index 0000000..afc3caa --- /dev/null +++ b/modules/web-map/docker/Dockerfile @@ -0,0 +1,2 @@ +FROM nginx +COPY ./build/distributions /usr/share/nginx/html diff --git a/modules/web-map/docker/docker-compose.yml b/modules/web-map/docker/docker-compose.yml new file mode 100644 index 0000000..d1acd28 --- /dev/null +++ b/modules/web-map/docker/docker-compose.yml @@ -0,0 +1,19 @@ +version: "3.9" + +services: + + kafkatorio-web-map: + image: adamko-dev/kafkatorio-web-map + container_name: kafkatorio-web-map + build: + context: ".." + dockerfile: ./docker/Dockerfile + ports: + - "12081:80" + networks: + - "kafkatorio-nw" + +networks: + kafkatorio-nw: + name: "kafkatorio-nw" + external: true