March 14, 2026
All services now build with multi-stage Docker images for faster, more consistent deployments.
All three production services now use multi-stage Docker builds instead of automatic buildpack-based builds, giving the deployment pipeline full control over image construction and caching.
Under the Hood
-
Faster deployments with Docker layer caching. The deployment pipeline now caches dependency installation, build output, and base image layers independently. Deploys that only change application code skip the dependency install step entirely, significantly reducing build times.
-
Smaller production images. All services now run on minimal Alpine-based images. Only production dependencies and compiled output are included in the final image, reducing image size and attack surface compared to the previous buildpack images.
-
Full build control across all services. The app, marketing site, and background worker all use dedicated multi-stage Docker configurations. Each stage (dependency install, build, production runtime) is isolated, making builds reproducible and easier to debug when something goes wrong.
-
Deployment pipeline updated for container builds. The continuous deployment workflow now uses a two-phase approach: build the container image first, then deploy it. This replaces the previous source-deploy model and enables image reuse across environments in the future.