diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..3aeceaf54d5a3821a9850b36a8a011e43ea5456b --- /dev/null +++ b/Dockerfile @@ -0,0 +1,5 @@ +FROM openjdk:17-alpine +ARG JAR_FILE=belajarbelajar/build/libs/belajarbelajar-0.0.1-SNAPSHOT.jar +COPY ${JAR_FILE} app.jar +EXPOSE 9099 +ENTRYPOINT ["java","-jar","/app.jar"] diff --git a/app.env b/app.env new file mode 100644 index 0000000000000000000000000000000000000000..89bfe2d08b9ca2a5173f401f4616f97c266e0004 --- /dev/null +++ b/app.env @@ -0,0 +1,6 @@ +SPRING_PROFILES_ACTIVE=prod + +MYSQL_ROOT_PASSWORD=password123456! +MYSQL_DATABASE=apap_db +MYSQL_USER=apap_user +MYSQL_PASSWORD=password1234! \ No newline at end of file diff --git a/belajarbelajar/src/main/java/apap/tutorial/belajarbelajar/security/WebSecurityConfig.java b/belajarbelajar/src/main/java/apap/tutorial/belajarbelajar/security/WebSecurityConfig.java index f3446ec392f5942f2344f80e793c650ad6819d45..651a570b56a02d85be64fbc54b091c99b4d25b9e 100644 --- a/belajarbelajar/src/main/java/apap/tutorial/belajarbelajar/security/WebSecurityConfig.java +++ b/belajarbelajar/src/main/java/apap/tutorial/belajarbelajar/security/WebSecurityConfig.java @@ -37,10 +37,8 @@ public class WebSecurityConfig { return http.build(); } - @Bean - public BCryptPasswordEncoder encoder() { - return new BCryptPasswordEncoder(); - } +// @Bean + public BCryptPasswordEncoder encoder = new BCryptPasswordEncoder(); // @Autowired // public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception { @@ -56,6 +54,6 @@ public class WebSecurityConfig { @Autowired public void configAuthentication(AuthenticationManagerBuilder auth) throws Exception { - auth.userDetailsService(userDetailsService).passwordEncoder(encoder()); + auth.userDetailsService(userDetailsService).passwordEncoder(encoder); } } \ No newline at end of file diff --git a/belajarbelajar/src/main/resources/application-dev.yml b/belajarbelajar/src/main/resources/application-dev.yml new file mode 100644 index 0000000000000000000000000000000000000000..bb17027fc8e8875a05107ad9cc8af5957c1c4584 --- /dev/null +++ b/belajarbelajar/src/main/resources/application-dev.yml @@ -0,0 +1,34 @@ +spring: + + # konfigurasi untuk koneksi db + datasource: + driver-class-name: com.mysql.jdbc.Driver + + # sesuaikan nama database anda dengan di bawah ini + url: jdbc:mysql://localhost:3306/apap_db?useSSL=false&serverTimezone=Asia/Jakarta + + # sesuaikan dengan NAMA dan PASSWORD anda dengan username password di bawah ini + username: apap_user + password: password1234! + + jpa: + properties: + hibernate: + dialect: org.hibernate.dialect.MySQL5InnoDBDialect + format_sql: true + + # pembuatan database (create || create-drop || validate || update) + hibernate.ddl-auto: create-drop + + show-sql: true + + + # Templates reloading during development + thymeleaf: + prefix: file:src/main/resources/templates/ + cache: false + + # Static resources reloading during development + web: + resources: + static-locations: file:src/main/resources/static/ diff --git a/belajarbelajar/src/main/resources/application-prod.yml b/belajarbelajar/src/main/resources/application-prod.yml new file mode 100644 index 0000000000000000000000000000000000000000..567c15da3db8c23adf5273c83104c32f40214d42 --- /dev/null +++ b/belajarbelajar/src/main/resources/application-prod.yml @@ -0,0 +1,26 @@ +server: + address: 0.0.0.0 + port: 8080 + +spring: + # konfigurasi untuk koneksi db + datasource: + driver-class-name: com.mysql.jdbc.Driver + + # sesuaikan nama database anda dengan di bawah ini + url: jdbc:mysql://db:3306/apap_db?useSSL=false&serverTimezone=Asia/Jakarta + + # sesuaikan dengan NAMA dan PASSWORD anda dengan username password di bawah ini + username: apap_user + password: password1234! + + jpa: + properties: + hibernate: + dialect: org.hibernate.dialect.MySQL5InnoDBDialect + format_sql: true + + # pembuatan database (create || create-drop || validate || update) + hibernate.ddl-auto: create-drop + + show-sql: true diff --git a/belajarbelajar/src/main/resources/application.properties b/belajarbelajar/src/main/resources/application.properties deleted file mode 100644 index ae57aa1603495696847be013668e89f17c678ac4..0000000000000000000000000000000000000000 --- a/belajarbelajar/src/main/resources/application.properties +++ /dev/null @@ -1,21 +0,0 @@ -#konfigurasi untuk koneksi MySQL -spring.sql.init.platform=mysql -spring.datasource.driver-class-name=com.mysql.jdbc.Driver - -#sesuaikan NAMA_DATABASE dengan nama database anda -spring.datasource.url=jdbc:mysql://localhost:3306/belajarbelajar?useSSL=false&serverTimezone=Asia/Jakarta - -#sesuaikan dengan NAMA dan PASSWORD mysql anda -spring.datasource.username=root -spring.datasource.password= - -#error bean -spring.main.allow-circular-references=true - -#optimize query untuk db MySQL -spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect - -#pembuatan database (create || create drop || validate || update) -spring.jpa.hibernate.ddl-auto=update - -server.port=8080 diff --git a/belajarbelajar/src/main/resources/application.yml b/belajarbelajar/src/main/resources/application.yml new file mode 100644 index 0000000000000000000000000000000000000000..e33662a49aa8dfa501b6166b47e8519cbc24e61f --- /dev/null +++ b/belajarbelajar/src/main/resources/application.yml @@ -0,0 +1,5 @@ + + +spring: + profiles: + default: dev \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000000000000000000000000000000000000..d03ed7299e994108f9e1fa80e2e2bfcf3885f60d --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,38 @@ +version: '2' +services: + web: + build: + context: . + restart: always + ports: + - "10127:8080" + volumes: + - ./file-storage:/file-storage + - ./log:/log + env_file: + - app.env + depends_on: + - db + networks: + - frontend-network + - backend-network + + db: + image: mariadb:10.4.24 + restart: always + env_file: + - app.env + volumes: + - mysql-db-volume:/var/lib/mysql + networks: + - backend-network + +volumes: + mysql-db-volume: + +networks: + frontend-network: + driver: bridge + backend-network: + +