diff --git a/portainer-automation/.env.example b/portainer-automation/.env.example index 1d6593c..a8134f0 100644 --- a/portainer-automation/.env.example +++ b/portainer-automation/.env.example @@ -36,3 +36,6 @@ ENV=dev # Host port to map to container port 8081 HOST_PORT=8081 + +# Host port to map to actuator management port 8082 (health checks, LAN only) +MGMT_PORT=5005 diff --git a/portainer-automation/Dockerfile b/portainer-automation/Dockerfile index 93fb0b1..2a0f311 100644 --- a/portainer-automation/Dockerfile +++ b/portainer-automation/Dockerfile @@ -9,4 +9,5 @@ RUN ./gradlew :portainer-automation:bootJar FROM openjdk:17-jdk-slim COPY --from=build /app/portainer-automation/build/libs/*.jar app.jar +EXPOSE 8081 8082 ENTRYPOINT ["java", "-jar", "/app.jar"] diff --git a/portainer-automation/build.gradle b/portainer-automation/build.gradle index 0cfaa3e..4fce6cc 100644 --- a/portainer-automation/build.gradle +++ b/portainer-automation/build.gradle @@ -5,6 +5,7 @@ dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.springframework.boot:spring-boot-starter-validation' + implementation 'org.springframework.boot:spring-boot-starter-actuator' implementation 'org.apache.httpcomponents.client5:httpclient5' compileOnly 'org.projectlombok:lombok' diff --git a/portainer-automation/docker-compose.yaml b/portainer-automation/docker-compose.yaml index c4709d5..1865695 100644 --- a/portainer-automation/docker-compose.yaml +++ b/portainer-automation/docker-compose.yaml @@ -3,7 +3,8 @@ services: image: gitea.hithomelabs.com/hithomelabs/portainer-automation:${ENV:-test} container_name: portainer-automation_${ENV:-test} ports: - - "${HOST_PORT:-8081}:8081" + - "${HOST_PORT:-8081}:8081" # Application port (internal service) + - "${MGMT_PORT:-5005}:8082" # Health management port (LAN only) environment: - SPRING_PROFILES_ACTIVE=${SPRING_PROFILES_ACTIVE:-local} - PORTAINER_API_KEY=${PORTAINER_API_KEY} diff --git a/portainer-automation/src/main/resources/application.properties b/portainer-automation/src/main/resources/application.properties index 682aa5c..3d94138 100644 --- a/portainer-automation/src/main/resources/application.properties +++ b/portainer-automation/src/main/resources/application.properties @@ -3,3 +3,9 @@ portainer.base-url=https://192.168.0.100:9442 portainer.api-key=${PORTAINER_API_KEY:} portainer.endpoint-id=1 portainer.service.api-key=${PORTAINER_SERVICE_API_KEY:change-me} + +# Actuator configuration - management port and exposed endpoints +# App runs on server.port=8081, so management port must differ (8082) +management.server.port=8082 +management.endpoints.web.exposure.include=health,info +management.endpoint.health.show-details=when-authorized