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-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.10.12.40.15.41.0.02.0.0 | 
| v{major}.{minor}Example v0.12 | 0.12.10.12.40.15.4v.0.02.0.0 | 
| v{major}Example v0 | 0.12.10.12.40.15.41.0.02.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 either- apacheor- nginx. Please see the Runtime Documentation.
- {php_version}Currently supports- 8.3and- 8.4.
- {branch}is the- stagingor- devbranch that Pixelfed is developed from.
- {YYYY-MM-DD}is a date format, e.x.,- 2024-09-14, where- YYYY => 2024
- MM => 09
- DD => 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.3
- 8.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