From 976085bb5e0504145ec89d6ba3911e03ee54369c Mon Sep 17 00:00:00 2001 From: Arwa Alkindi Date: Wed, 31 Jul 2024 13:51:45 +0400 Subject: [PATCH] Added dockerfile and docker-compose --- .env | 12 +++++ Dockerfile | 19 ++++++++ LICENSE => app/LICENSE | 0 mvnw => app/mvnw | 0 mvnw.cmd => app/mvnw.cmd | 0 pom.xml => app/pom.xml | 0 .../com/docker/rihal/RihalApplication.java | 0 .../rihal/controllers/UserController.java | 0 .../java/com/docker/rihal/models/User.java | 0 .../rihal/repositories/UserRepository.java | 0 .../docker/rihal/services/UserService.java | 0 .../main/resources/application.properties | 0 .../main/resources/templates/edit_user.html | 0 .../src}/main/resources/templates/index.html | 0 .../main/resources/templates/new_user.html | 0 docker-compose.yaml | 45 +++++++++++++++++++ 16 files changed, 76 insertions(+) create mode 100644 .env create mode 100644 Dockerfile rename LICENSE => app/LICENSE (100%) rename mvnw => app/mvnw (100%) rename mvnw.cmd => app/mvnw.cmd (100%) rename pom.xml => app/pom.xml (100%) rename {src => app/src}/main/java/com/docker/rihal/RihalApplication.java (100%) rename {src => app/src}/main/java/com/docker/rihal/controllers/UserController.java (100%) rename {src => app/src}/main/java/com/docker/rihal/models/User.java (100%) rename {src => app/src}/main/java/com/docker/rihal/repositories/UserRepository.java (100%) rename {src => app/src}/main/java/com/docker/rihal/services/UserService.java (100%) rename {src => app/src}/main/resources/application.properties (100%) rename {src => app/src}/main/resources/templates/edit_user.html (100%) rename {src => app/src}/main/resources/templates/index.html (100%) rename {src => app/src}/main/resources/templates/new_user.html (100%) create mode 100644 docker-compose.yaml diff --git a/.env b/.env new file mode 100644 index 0000000..25c1a77 --- /dev/null +++ b/.env @@ -0,0 +1,12 @@ +#db environment variables +MYSQL_ROOT_PASSWORD=root +MYSQL_DATABASE=usersystem +MYSQL_PASSWORD=root +MYSQL_TCP_PORT=3307 + +#app environment variables +SPRING_DATASOURCE_URL=jdbc:mysql://mysql:3307/usersystem?useSSL=false&serverTimezone=UTC&createDatabaseIfNotExist=true&allowPublicKeyRetrieval=true +SPRING_DATASOURCE_USERNAME=root +SPRING_DATASOURCE_PASSWORD=root +SPRING_JPA_HIBERNATE_DDL_AUTO=update +SPRING_JPA_SHOW_SQL="true" \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..878c291 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,19 @@ +FROM maven:3.8.1-openjdk-17 AS build + +WORKDIR /app + +COPY ./app/src ./src +COPY ./app/LICENSE . +COPY ./app/mvnw.cmd . +COPY ./app/mvnw . +COPY ./app/pom.xml . + + +RUN mvn clean package -DskipTests + +WORKDIR /app/target + + + + +CMD ["java", "-jar", "rihal-0.0.1-SNAPSHOT.jar"] diff --git a/LICENSE b/app/LICENSE similarity index 100% rename from LICENSE rename to app/LICENSE diff --git a/mvnw b/app/mvnw similarity index 100% rename from mvnw rename to app/mvnw diff --git a/mvnw.cmd b/app/mvnw.cmd similarity index 100% rename from mvnw.cmd rename to app/mvnw.cmd diff --git a/pom.xml b/app/pom.xml similarity index 100% rename from pom.xml rename to app/pom.xml diff --git a/src/main/java/com/docker/rihal/RihalApplication.java b/app/src/main/java/com/docker/rihal/RihalApplication.java similarity index 100% rename from src/main/java/com/docker/rihal/RihalApplication.java rename to app/src/main/java/com/docker/rihal/RihalApplication.java diff --git a/src/main/java/com/docker/rihal/controllers/UserController.java b/app/src/main/java/com/docker/rihal/controllers/UserController.java similarity index 100% rename from src/main/java/com/docker/rihal/controllers/UserController.java rename to app/src/main/java/com/docker/rihal/controllers/UserController.java diff --git a/src/main/java/com/docker/rihal/models/User.java b/app/src/main/java/com/docker/rihal/models/User.java similarity index 100% rename from src/main/java/com/docker/rihal/models/User.java rename to app/src/main/java/com/docker/rihal/models/User.java diff --git a/src/main/java/com/docker/rihal/repositories/UserRepository.java b/app/src/main/java/com/docker/rihal/repositories/UserRepository.java similarity index 100% rename from src/main/java/com/docker/rihal/repositories/UserRepository.java rename to app/src/main/java/com/docker/rihal/repositories/UserRepository.java diff --git a/src/main/java/com/docker/rihal/services/UserService.java b/app/src/main/java/com/docker/rihal/services/UserService.java similarity index 100% rename from src/main/java/com/docker/rihal/services/UserService.java rename to app/src/main/java/com/docker/rihal/services/UserService.java diff --git a/src/main/resources/application.properties b/app/src/main/resources/application.properties similarity index 100% rename from src/main/resources/application.properties rename to app/src/main/resources/application.properties diff --git a/src/main/resources/templates/edit_user.html b/app/src/main/resources/templates/edit_user.html similarity index 100% rename from src/main/resources/templates/edit_user.html rename to app/src/main/resources/templates/edit_user.html diff --git a/src/main/resources/templates/index.html b/app/src/main/resources/templates/index.html similarity index 100% rename from src/main/resources/templates/index.html rename to app/src/main/resources/templates/index.html diff --git a/src/main/resources/templates/new_user.html b/app/src/main/resources/templates/new_user.html similarity index 100% rename from src/main/resources/templates/new_user.html rename to app/src/main/resources/templates/new_user.html diff --git a/docker-compose.yaml b/docker-compose.yaml new file mode 100644 index 0000000..4b9b491 --- /dev/null +++ b/docker-compose.yaml @@ -0,0 +1,45 @@ +version: '3.8' + +services: + mysql: + image: mysql:9.0.0 + container_name: mysql-cont + ports: + - "3307:3307" + environment: + - MYSQL_ROOT_PASSWORD + - MYSQL_DATABASE + - MYSQL_PASSWORD + - MYSQL_TCP_PORT + volumes: + - mysql_data:/var/lib/mysql + networks: + - my_network + restart: on-failure + + userapp: + build: . + image: userinfostoreapp-userapp + container_name: userapp-cont + ports: + - 8080:8080 + environment: + - SPRING_DATASOURCE_URL + - SPRING_DATASOURCE_USERNAME + - SPRING_DATASOURCE_PASSWORD + - SPRING_JPA_HIBERNATE_DDL_AUTO + - SPRING_JPA_SHOW_SQL + depends_on: + - mysql + networks: + - my_network + restart: on-failure + +volumes: + mysql_data: + +networks: + my_network: {} + + +