diff --git a/optaweb-employee-rostering/Dockerfile b/optaweb-employee-rostering/Dockerfile new file mode 100644 index 0000000..66a7448 --- /dev/null +++ b/optaweb-employee-rostering/Dockerfile @@ -0,0 +1,32 @@ +FROM maven:3-jdk-8-slim AS builder +MAINTAINER EasyPi Software Foundation + +ENV APP_VERSION=7.30.0.Final +ENV APP_URL=https://github.com/kiegroup/optaweb-employee-rostering/archive/${APP_VERSION}.tar.gz + +WORKDIR /opt/app + +RUN set -xe \ + && curl -sSL ${APP_URL} | tar xz --strip 1 \ + && mvn clean install -DskipTests -DskipITs + +# +# Dockerfile for optaweb-employee-rostering +# + +FROM openjdk:8-alpine +MAINTAINER EasyPi Software Foundation + +ENV APP_VERSION=7.30.0.Final + +WORKDIR /opt/app + +COPY --from=builder /opt/app/employee-rostering-distribution/target/employee-rostering-distribution-${APP_VERSION}.jar . + +EXPOSE 8080 + +CMD java -jar employee-rostering-distribution-${APP_VERSION}.jar \ + --spring.datasource.url=jdbc:postgresql://${POSTGRES_HOST:-postgres}:${POSTGRES_PORT:-5432}/${POSTGRES_DB:-optaweb} \ + --spring.datasource.username=${POSTGRES_USER:-optaweb} \ + --spring.datasource.password=${POSTGRES_PASSWORD:-optaweb} \ + --server.port=8080 diff --git a/optaweb-employee-rostering/README.md b/optaweb-employee-rostering/README.md new file mode 100644 index 0000000..6bcffbe --- /dev/null +++ b/optaweb-employee-rostering/README.md @@ -0,0 +1,4 @@ +optaweb-employee-rostering +========================== + +Web application for solving Employee Rostering using OptaPlanner https://www.optaplanner.org/ diff --git a/optaweb-employee-rostering/docker-compose.yml b/optaweb-employee-rostering/docker-compose.yml new file mode 100644 index 0000000..4f61970 --- /dev/null +++ b/optaweb-employee-rostering/docker-compose.yml @@ -0,0 +1,25 @@ +version: "3.7" + +services: + + optaweb: + image: vimagick/optaweb-employee-rostering + ports: + - "8080:8080" + environment: + - POSTGRES_DB=optaweb + - POSTGRES_USER=optaweb + - POSTGRES_PASSWORD=optaweb + depends_on: + - postgres + restart: unless-stopped + + postgres: + image: postgres:12-alpine + volumes: + - ./data:/var/lib/postgresql/data + environment: + - POSTGRES_DB=optaweb + - POSTGRES_USER=optaweb + - POSTGRES_PASSWORD=optaweb + restart: unless-stopped