diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..47f6ec6 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,22 @@ +FROM eclipse-temurin:21-jdk AS build + +WORKDIR /app + +COPY mvnw . +COPY .mvn .mvn +COPY pom.xml . +COPY src src + +RUN chmod +x mvnw +RUN ./mvnw clean package -DskipTests + + +FROM eclipse-temurin:21-jre + +WORKDIR /app + +COPY --from=build /app/target/*.jar app.jar + +EXPOSE 8080 + +ENTRYPOINT ["java", "-jar", "app.jar"] \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index b043e84..0b968b2 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -5,8 +5,28 @@ services: environment: POSTGRES_DB: lr_openvpn POSTGRES_USER: lr_openvpn - POSTGRES_PASSWORD: lr_openvpn_dev - ports: - - "5432:5432" + POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} volumes: - - ./postgres-data:/var/lib/postgresql/data \ No newline at end of file + - ./postgres-data:/var/lib/postgresql/data + + backend: + build: . + container_name: lr-openvpn-backend + ports: + - "8080:8080" + depends_on: + - postgres + environment: + SPRING_DATASOURCE_URL: jdbc:postgresql://postgres:5432/lr_openvpn + SPRING_DATASOURCE_USERNAME: lr_openvpn + SPRING_DATASOURCE_PASSWORD: ${POSTGRES_PASSWORD} + + LR_VPS_SSH_HOST: ${LR_VPS_SSH_HOST} + LR_VPS_SSH_PORT: ${LR_VPS_SSH_PORT:-22} + LR_VPS_SSH_USER: ${LR_VPS_SSH_USER} + LR_VPS_SSH_PASSWORD: ${LR_VPS_SSH_PASSWORD} + + LR_OPENVPN_TOOLS_PATH: ${LR_OPENVPN_TOOLS_PATH:-/var/litoral_regas_openvpn/tools} + LR_OPENVPN_PROVISION_DRY_RUN: ${LR_OPENVPN_PROVISION_DRY_RUN:-false} + + API_KEY: ${API_KEY} \ No newline at end of file diff --git a/src/main/resources/application.yaml b/src/main/resources/application.yaml index 5b2750c..1ca44a7 100644 --- a/src/main/resources/application.yaml +++ b/src/main/resources/application.yaml @@ -3,9 +3,9 @@ spring: name: lr-openvpn-backend datasource: - url: jdbc:postgresql://localhost:5432/lr_openvpn - username: lr_openvpn - password: lr_openvpn_dev + url: ${SPRING_DATASOURCE_URL:jdbc:postgresql://localhost:5432/lr_openvpn} + username: ${SPRING_DATASOURCE_USERNAME:lr_openvpn} + password: ${SPRING_DATASOURCE_PASSWORD:lr_openvpn_dev} jpa: hibernate: