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: {} + + +