Docker and Pixelfed versions¶
We do not build any latest
tags
latest
tags are typically pretty dangerous to use, especially in a fast-moving project such as Pixelfed where things might break in patch releases.
Info
All Docker Images are published to GitHub Package Registry.
Example: ghcr.io/jippi/docker-pixelfed:$tag
How it works¶
Your .env
file contains a couple of settings that, when combined, constructs the final Docker tag for your Pixelfed instance.
DOCKER_APP_RELEASE
for the Pixelfed version.DOCKER_APP_RUNTIME
for the runtime type.DOCKER_APP_PHP_VERSION
for the PHP version.DOCKER_APP_DEBIAN_RELEASE
for the Debian release.DOCKER_APP_IMAGE
for the Docker image name
They are then combined into a final Docker image like this
${DOCKER_APP_IMAGE}:${DOCKER_APP_RELEASE}-${DOCKER_APP_RUNTIME}-${DOCKER_APP_PHP_VERSION}-${DOCKER_APP_DEBIAN_RELEASE}
For example
ghcr.io/jippi/docker-pixelfed:v0.12.1-docker13-apache-8.3-bookworm
ghcr.io/jippi/docker-pixelfed:nightly-20240628-staging-nginx-8.3-bookworm
Pixelfed version¶
Info
The DOCKER_APP_PHP_VERSION
setting in your .env
file control what Pixelfed version you will be running on your server.
About semantic versioning
Pixelfed loosely follows Semantic Versioning, meaning that
- Major version is the first part in the versioning (
X.y.z
) - Minor version is the second part of the versioning
(x.Y.z)
- Patch version is the third part of the versioning
(x.y.Z)
DOCKER_APP_PHP_VERSION |
Pixelfed Version |
---|---|
v{major}(1).{minor}(2).{patch}(3) Example v0.12.1 |
0.12.1 0.12.4 0.15.4 1.0.0 2.0.0 |
v{major}.{minor} Example v0.12 |
0.12.1 0.12.4 0.15.4 v.0.0 2.0.0 |
v{major} Example v0 |
0.12.1 0.12.4 0.15.4 1.0.0 2.0.0 |
nightly-{branch}(6) Example nightly-dev-apache-8.3 nightly-staging-apache-8.3 |
N/A |
nightly-{YYYY-MM-DD}(7)-{branch} Example nightly-2024-05-01-dev nightly-2024-05-01-staging |
N/A |
{major}
is the first part in the versioning(X.y.z)
.{minor}
is the second part of the versioning(x.Y.z)
.{patch}
is the third part of the versioning(x.y.Z)
.{runtime}
can be eitherapache
ornginx
. Please see the Runtime Documentation.{php_version}
Currently only supported8.3
for the latest PHP 8.3 release.{branch}
is thestaging
ordev
branch that Pixelfed is developed from.{YYYY-MM-DD}
is a date format, e.x.,2024-09-14
, whereYYYY => 2024
MM => 09
DD => 14
Semantic releases¶
v{major}
-
For example
v0
will always point to the *latest0.x
release of Pixelfed, using PHP 8.3 and Apache. -
This tag is mutable when any new
0.x.y
release is created from Pixelfed (e.g.0.15.4
). -
This tag is mutable if a new
docker-pixelfed
release is cut for any0.x.y
Pixelfed release. v{major}.{minor}
-
For example
v0.12
will always point to the *latest0.12.x
release of Pixelfed, using PHP 8.3 and Apache. -
This tag is mutable when any new
0.12.x
release is created from Pixelfed (e.g.0.12.4
). -
This tag is mutable if a new
docker-pixelfed
release is cut for any0.12.x
Pixelfed release. v{major}.{minor}.{patch}
-
For example
v0.12.1
will always point to the latest0.12.1
release of Pixelfed, using PHP 8.3 and Apache. -
This tag is immutable to any Pixelfed code changes.
-
This tag is mutable if a new
docker-pixelfed
release is cut for this Pixelfed release. v{tag}
-
For example
v0.12.1-docker1
will always point to exactly the0.12.1
release of Pixelfed withdocker1
(this projects changes). -
This tag is immutable across Pixelfed and
docker-pixelfed
changes.
Nightly releases¶
Info
All Docker Images are published to GitHub Package Registry.
Example: ghcr.io/jippi/docker-pixelfed:$tag
We will now automatically create nightly builds of Pixelfed from the dev
and staging
branches.
nightly-dev
-
Always points to the latest Pixelfed commit on
staging
at the time of building the image (~8am UTC). -
For example
nightly-dev
will always point to the latest commit ondev
branch on the most recent build date. nightly-staging
-
Always points to the latest Pixelfed commit on
staging
at the time of building the image (~8am UTC). -
For example
nightly-staging
will always point to the latest commit onstaging
branch on the most recent build date. nightly-{YYYY-MM-DD}-dev
-
Points to the latest Pixelfed commit on
staging
at the specific date, at the time of building the image (~8am UTC). -
For example
nightly-2024-05-01-dev
will always point to the latest commit ondev
branch at2024-05-01
(May 1st 2024) nightly-{YYYY-MM-DD}-staging
-
Points to the latest Pixelfed commit on
staging
at the specific date, at the time of building the image (~8am UTC). -
For example
nightly-2024-05-01-staging
will always point to the latest commit onstaging
branch at2024-05-01
(May 1st 2024)
Runtime¶
PHP version¶
Info
The DOCKER_APP_PHP_VERSION
setting controls what version of PHP is being used
We currently only support a single PHP release:
8.3
Debian release¶
Info
The DOCKER_APP_DEBIAN_RELEASE
setting controls what version of Debian is being used
We currently only support a single Debian release:
bookworm