diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..ce00bd4 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,5 @@ +FROM bellsoft/liberica-openjdk-alpine +EXPOSE 8889 +RUN mkdir -p /app/ +ADD build/libs/webquizengine.jar /app/webquizengine.jar +ENTRYPOINT ["java", "-jar", "/app/webquizengine.jar"] \ No newline at end of file diff --git a/README.md b/README.md index d58368b..fd6713d 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ # WebQuizEngine -Spring Boot web service to create and solve quizzes using a REST API. +Spring Boot web service to create and solve quizzes via REST API using Docker as deployment tool. + +![](src/main/resources/banner.png) ## Register user To register a new user send a JSON with `email` and `password` via `POST` request to `/api/register`: ``` json diff --git a/build.gradle b/build.gradle index 3e67c2f..1291253 100644 --- a/build.gradle +++ b/build.gradle @@ -7,6 +7,15 @@ apply plugin: 'io.spring.dependency-management' sourceCompatibility = '11' +task fullJar(type: Jar) { + manifest { + attributes 'Implementation-Title': 'WebQuizEngine Jar File', + 'Main-Class': 'org.hyperskill.webquiz.engine.WebQuizEngine' + } + from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } } + with jar +} + repositories { mavenCentral() } diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..ed516b0 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,15 @@ +# Docker Compose file Reference (https://docs.docker.com/compose/compose-file/) + +version: '3.8' + +# Define services +services: + # Engine service + engine: + # Configuration for building the docker image for the engine service + build: + context: ./ # Use an image built from the specified dockerfile in the root directory. + dockerfile: Dockerfile + ports: + - "8889:8889" # Forward the exposed port 8889 on the container to port 8889 on the host machine + restart: always \ No newline at end of file diff --git a/src/main/resources/banner.png b/src/main/resources/banner.png new file mode 100644 index 0000000..66d4a6a Binary files /dev/null and b/src/main/resources/banner.png differ