timestamp: 2024/08/12
| Debian | codename | status |
|---|---|---|
sid |
unstable |
|
trixie |
testing |
|
bookworm |
Stable |
|
bullseye |
LTS \ oldstable |
|
buster |
deprecated, oldoldstable |
|
stretch |
deprecated |
|
jessie |
deprecated |
|
wheezy |
deprecated |
|
squeeze |
deprecated |
The epicmorg/docker repository contains a collection of Docker images organized by Debian versions and used for both base and final product images. The primary goal of this concept is to ensure organization and relevance of images depending on their use and status. This document describes the current approach to image organization and planned changes to improve version management and support.
In the directory linux/ecosystem/epicmorg/debian, Docker images based on various Debian versions (from 6 to 12) are located. All base images can be classified into the following categories:
-
slimImage:- Inherits from official Debian images (versions 6-12).
- Contains minimal changes: addition of folders, root certificates, and APT configuration.
-
mainImage:- Inherits from the
slimimage. - Includes a basic set of software (e.g.,
mc,wget,htop). - Intended as a base image for creating more complex final images, such as Nginx.
- Inherits from the
-
developImage:- Inherits from the
mainimage. - Includes build and development tools (e.g.,
ninja,make,cmake).
- Inherits from the
-
nodejsImages:- Include Node.js versions (from 0.4 to the latest).
- Inherit from the
mainimage. - Contain Node.js, npm, npmx, yarn, and header files installed from tar archives.
-
jdkImages:- Include JDK versions (from 6 to 21).
- Have two tags:
- Primary tag: inherits from
main. - Developer tag: inherits from
develop.
- Primary tag: inherits from
In the directory linux/ecosystem, images for final products (e.g., apache2, nginx, jira, etc.) are located. These images typically inherit from the relevant final base image needed for the product.
To improve image management and ensure relevance, the following approach is proposed:
-
Base Image Support:
- All existing base images (
slim,main,develop,nodejs,jdk) will remain unchanged for eachDebianversion. - Base images will be periodically rebuilt to account for updates and backports.
- All existing base images (
-
Introduction of
upstreamanddeprecatedConcepts:Upstream: Current final images will inherit from base images for the latest stable Debian version. Currently, this is Debian 12. When a new stable Debian version is released, final images will be transitioned to the new version.Deprecated: For deprecated versions of base images, only the base images themselves will be available. Final images will not be updated for deprecated versions.
-
Version Management:
- Current images will be rebuilt based on the latest stable Debian version.
- Current images include
current(stable, or12) branches as the main one, as well asLTSbut lightweight (11) - only base images will be built. - The previous
LTSbranch stops being supported when a new one is assigned. - Upon the release of a new
Debianversion (e.g.,13), all final images will be updated and transitioned to the newDebianversion if it becomesstable.
-
Periodic Image Updates:
All versionsof base images, includingdeprecatedones, will be periodically rebuilt to include updates and backports.
-
Addition of New Base Images:
- Starting with the current upstream
version(12), additional base images, such asPHPandPythonor other, will be gradually added to the existing ones. These new base images willnot bebackported to previous deprecated versions. However, when the upstream transitions to a new version (e.g.,13), the new base images will also transition to it and will be retained in the previous version (e.g.,12).
- Starting with the current upstream
This approach will allow for better version management and maintain the relevance of images in the repository. Transitioning to the upstream and deprecated concept will help focus on supporting current product versions and provide a more stable and predictable environment for end-users.