Skip to content

Add Docker container image build configuration #13

@treblereel

Description

@treblereel

Context

Part of epic #1 — Build production-ready REST microservice with k8s deployment on top of casehub-engine. Service needs containerization for deployment in Docker and Kubernetes environments.

What

Create Docker container image build configuration:

  • Dockerfile using multi-stage build or Quarkus container-image extension
  • Production-optimized image (minimal base, non-root user)
  • Container runs casehub-flow application with proper entry point

Acceptance Criteria

  • Container image builds successfully using quarkus-container-image-docker or Dockerfile
  • Image uses distroless/minimal base image (not full JDK) for production
  • Image runs as non-root user for security
  • JVM mode image (native image can be follow-up enhancement)
  • Image includes only runtime dependencies (no build tools)
  • Build produces tagged image: casehubio/flow:latest and casehubio/flow:{version}
  • Image can be run standalone with docker run for local testing
  • Documentation shows how to build and run image locally

Notes

  • Use Quarkus JVM mode for first iteration (faster builds, easier debugging)
  • Consider using eclipse-temurin:17-jre or similar minimal JRE base
  • Image should support environment variable configuration from issue Add production configuration profile with environment variables #9
  • Graceful shutdown configured (quarkus.shutdown.timeout)
  • File paths: Dockerfile or src/main/docker/Dockerfile.jvm

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions