Compare commits

...

5 Commits

5 changed files with 58 additions and 25 deletions

6
.env.example Normal file
View File

@ -0,0 +1,6 @@
DB_NAME=EXAMPLE_DB
DB_USER=EXAMPLE
DB_PASSWORD=SECRET
DB_HOST=127.0.0.1
DB_PORT=5432
SPRING_PROFILES_ACTIVE=dev

2
.gitignore vendored
View File

@ -2,5 +2,7 @@
*.toml *.toml
*.db *.db
target target
logs
.env
Icon? Icon?

10
Dockerfile Normal file
View File

@ -0,0 +1,10 @@
FROM maven:3.9-eclipse-temurin-21-alpine AS build
WORKDIR /app
COPY . .
RUN mvn clean package -DskipTests
FROM openjdk:21-jdk
WORKDIR /app
COPY --from=build /app/bootstrap/target/*.jar app.jar
EXPOSE 8080
ENTRYPOINT ["java","-jar","app.jar"]

View File

@ -32,6 +32,7 @@ server:
servlet: servlet:
context-path: /api context-path: /api
forward-headers-strategy: framework forward-headers-strategy: framework
--- ---
spring: spring:
@ -40,32 +41,12 @@ spring:
on-profile: default on-profile: default
datasource: datasource:
url: jdbc:h2:file:./restemailbridge-db url: jdbc:postgresql://${DB_HOST:localhost}:${DB_PORT:5432}/${DB_NAME:default_db}
driver-class-name: org.h2.Driver
username: sa
password:
jpa:
properties:
hibernate:
dialect: org.hibernate.dialect.H2Dialect
h2:
console:
enabled: true
path: /h2-console
---
spring:
config:
activate:
on-profile: prod
datasource:
url: jdbc:postgresql://${DB_HOST:localhost}:${DB_PORT:5432}/${DB_NAME:portfolio}
username: ${DB_USER:postgres} username: ${DB_USER:postgres}
password: ${DB_PASSWORD:postgres} password: ${DB_PASSWORD:postgres}
driver-class-name: org.postgresql.Driver driver-class-name: org.postgresql.Driver
jpa: jpa:
hibernate: properties:
ddl-auto: update hibernate:
ddl-auto: update
dialect: org.hibernate.dialect.PostgreSQLDialect

34
docker-compose.yml Normal file
View File

@ -0,0 +1,34 @@
services:
api:
build: .
ports:
- "8080:8080"
depends_on:
- db
environment:
DB_NAME: ${DB_NAME}
DB_HOST: ${DB_HOST}
DB_PORT: ${DB_PORT}
DB_USER: ${DB_USER}
DB_PASSWORD: ${DB_PASSWORD}
networks:
- network
db:
image: postgres:15
ports:
- "5432:5432"
environment:
POSTGRES_DB: ${DB_NAME}
POSTGRES_USER: ${DB_USER}
POSTGRES_PASSWORD: ${DB_PASSWORD}
volumes:
- rest-email-bridge-db-data:/var/lib/postgresql/data
networks:
- network
volumes:
rest-email-bridge-db-data:
networks:
network:
driver: bridge