Refactor Dockerfile to multi-stage build with CI and Coder variants #2
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/make-sindri-a-simple-base-image"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Refactored the Dockerfile from a monolithic single-stage build into a lean multi-stage architecture with two distinct variants optimized for different use cases.
Changes
Multi-stage architecture: Introduced three stages (
base,ci,coder)base: Internal foundation with Ubuntu 24.04, essential utilities, and timezone configurationci: Lightweight variant with Node.js LTS for CI/CD pipelinescoder: Full development environment with NVM, non-root user, and custom shell configurationRemoved bloat: Stripped out 20+ programming languages, build tools, and services not needed for base functionality
User-focused coder variant:
coderuser with passwordless sudoBuild arguments: Added configurable parameters for the coder variant
ARG_TZ: Timezone configuration (default: Europe/Paris)ARG_NODE_MAJOR: Node.js major version for NVM (default: 24)GITIGNORE_URL: Custom gitignore template URLUpdated documentation: Completely rewrote README.md to reflect the new architecture
ci-latest,coder-latest)Impact
Breaking Changes
ci-*andcoder-*instead of a singlelatesttagcoderuser in the coder variantTesting