This project uses Docker to containerize each major component — Frontend, Backend, and gRPC service — providing isolated, reproducible environments optimized for development and production deployment. The Docker setup leverages multi-stage builds to produce minimal, secure images by separating build-time dependencies from runtime.


Overview


Key Features

Multi-stage Builds

Each Dockerfile uses multi-stage builds to separate the build environment from the final runtime container. This approach minimizes the final image size and attack surface by excluding build tools and caches from the runtime image.

Security Best Practices

Health Checks


Development vs. Production