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_RELEASEfor the Pixelfed version.DOCKER_APP_RUNTIMEfor the runtime type.DOCKER_APP_PHP_VERSIONfor the PHP version.DOCKER_APP_DEBIAN_RELEASEfor the Debian release.DOCKER_APP_IMAGEfor 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-bookwormghcr.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.3nightly-staging-apache-8.3 |
|
nightly-{YYYY-MM-DD}(7)-{branch} Example nightly-2024-05-01-devnightly-2024-05-01-staging |
{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 eitherapacheornginx. Please see the Runtime Documentation.{php_version}Currently supports8.3and8.4.{branch}is thestagingordevbranch that Pixelfed is developed from.{YYYY-MM-DD}is a date format, e.x.,2024-09-14, whereYYYY => 2024MM => 09DD => 14
Semantic releases¶
v{major}-
For example
v0will always point to the *latest0.xrelease of Pixelfed. -
This tag is mutable when any new
0.x.yrelease is created from Pixelfed (e.g.0.15.4). -
This tag is mutable if a new
docker-pixelfedrelease is cut for any0.x.yPixelfed release. v{major}.{minor}-
For example
v0.12will always point to the *latest0.12.xrelease of Pixelfed. -
This tag is mutable when any new
0.12.xrelease is created from Pixelfed (e.g.0.12.4). -
This tag is mutable if a new
docker-pixelfedrelease is cut for any0.12.xPixelfed release. v{major}.{minor}.{patch}-
For example
v0.12.1will always point to the latest0.12.1release of Pixelfed. -
This tag is immutable to any Pixelfed code changes.
-
This tag is mutable if a new
docker-pixelfedrelease is cut for this Pixelfed release. v{tag}-
For example
v0.12.1-docker1will always point to exactly the0.12.1release of Pixelfed withdocker1(this projects changes). -
This tag is immutable across Pixelfed and
jippi/docker-pixelfedchanges.
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
stagingat the time of building the image (~8am UTC). -
For example
nightly-devwill always point to the latest commit ondevbranch on the most recent build date. nightly-staging-
Always points to the latest Pixelfed commit on
stagingat the time of building the image (~8am UTC). -
For example
nightly-stagingwill always point to the latest commit onstagingbranch on the most recent build date. nightly-{YYYY-MM-DD}-dev-
Points to the latest Pixelfed commit on
stagingat the specific date, at the time of building the image (~8am UTC). -
For example
nightly-2024-05-01-devwill always point to the latest commit ondevbranch at2024-05-01(May 1st 2024) nightly-{YYYY-MM-DD}-staging-
Points to the latest Pixelfed commit on
stagingat the specific date, at the time of building the image (~8am UTC). -
For example
nightly-2024-05-01-stagingwill always point to the latest commit onstagingbranch 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 support following PHP release:
8.38.4
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