Skip to content

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.

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

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
  1. {major} is the first part in the versioning (X.y.z).
  2. {minor} is the second part of the versioning (x.Y.z).
  3. {patch} is the third part of the versioning (x.y.Z).
  4. {runtime} can be either apache or nginx. Please see the Runtime Documentation.
  5. {php_version} Currently supports 8.3 and 8.4.
  6. {branch} is the staging or dev branch that Pixelfed is developed from.
  7. {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 v0 will always point to the *latest 0.x release of Pixelfed.

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 any 0.x.y Pixelfed release.

v{major}.{minor}

For example v0.12 will always point to the *latest 0.12.x release of Pixelfed.

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 any 0.12.x Pixelfed release.

v{major}.{minor}.{patch}

For example v0.12.1 will always point to the latest 0.12.1 release of Pixelfed.

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 the 0.12.1 release of Pixelfed with docker1 (this projects changes).

This tag is immutable across Pixelfed and jippi/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 on dev 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 on staging 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 on dev branch at 2024-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 on staging branch at 2024-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