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:
-
slim
Image:- Inherits from official Debian images (versions 6-12).
- Contains minimal changes: addition of folders, root certificates, and APT configuration.
-
main
Image:- Inherits from the
slim
image. - 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
-
develop
Image:- Inherits from the
main
image. - Includes build and development tools (e.g.,
ninja
,make
,cmake
).
- Inherits from the
-
nodejs
Images:- Include Node.js versions (from 0.4 to the latest).
- Inherit from the
main
image. - Contain Node.js, npm, npmx, yarn, and header files installed from tar archives.
-
jdk
Images:- 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 eachDebian
version. - Base images will be periodically rebuilt to account for updates and backports.
- All existing base images (
-
Introduction of
upstream
anddeprecated
Concepts: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 asLTS
but lightweight (11
) - only base images will be built. - The previous
LTS
branch stops being supported when a new one is assigned. - Upon the release of a new
Debian
version (e.g.,13
), all final images will be updated and transitioned to the newDebian
version if it becomesstable
.
-
Periodic Image Updates:
All versions
of base images, includingdeprecated
ones, 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 asPHP
andPython
or other, will be gradually added to the existing ones. These new base images willnot be
backported 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.