diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 363aaf45..8bf0f77e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -8,6 +8,7 @@ on: env: NODE_VERSION: '22' + DOCKER_PLATFORMS: linux/amd64,linux/arm64 jobs: lint: @@ -118,6 +119,9 @@ jobs: steps: - uses: actions/checkout@v6 + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + - name: Set up Docker Buildx uses: docker/setup-buildx-action@v4 @@ -143,6 +147,7 @@ jobs: with: context: . push: true + platforms: ${{ env.DOCKER_PLATFORMS }} tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} cache-from: type=gha diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 02b2594e..ce32069c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -6,6 +6,7 @@ on: env: NODE_VERSION: '22' + DOCKER_PLATFORMS: linux/amd64,linux/arm64 permissions: contents: write @@ -81,6 +82,9 @@ jobs: steps: - uses: actions/checkout@v6 + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + - name: Set up Docker Buildx uses: docker/setup-buildx-action@v4 @@ -106,6 +110,7 @@ jobs: with: context: . push: true + platforms: ${{ env.DOCKER_PLATFORMS }} tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} cache-from: type=gha diff --git a/README.md b/README.md index 3bcea7eb..b04f63bc 100644 --- a/README.md +++ b/README.md @@ -157,6 +157,10 @@ docker compose --profile full up -d > > - Development (`docker-compose.dev.yml`): SQLite, local storage, both API & Dashboard included > - Production (`docker-compose.yml`): Configurable database, profiles for optional services +> +> Official GHCR images are published as multi-arch manifests for: +> - `linux/amd64` +> - `linux/arm64` ## 🔌 Ports diff --git a/docs/10-devops-infrastructure.md b/docs/10-devops-infrastructure.md index 96d324f0..a291631c 100644 --- a/docs/10-devops-infrastructure.md +++ b/docs/10-devops-infrastructure.md @@ -296,6 +296,7 @@ jobs: with: context: . push: true + platforms: linux/amd64,linux/arm64 tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} cache-from: type=gha