Skip to content

Add multi-arch docker builds and ghcr publishing#4

Merged
Jimzical merged 8 commits into
mainfrom
feat/docker-package
Jan 3, 2026
Merged

Add multi-arch docker builds and ghcr publishing#4
Jimzical merged 8 commits into
mainfrom
feat/docker-package

Conversation

@Jimzical

@Jimzical Jimzical commented Jan 3, 2026

Copy link
Copy Markdown
Owner

This pull request introduces Docker support for the project, enabling multi-architecture builds and simplifying installation and usage. The main changes include adding a production-ready Dockerfile, updating the release workflow to support publishing Docker images, and updating the documentation to reflect these new installation options.

Docker support and release process:

  • Added a new Dockerfile.release for building minimal Docker images with vizdisk and its runtime dependency (ncdu).
  • Updated .goreleaser.yaml to build and publish multi-architecture Docker images (amd64 and arm64) and create Docker manifests for both versioned and latest tags.
  • Modified .github/workflows/release.yml to grant permissions for publishing Docker images to the GitHub Container Registry.

Documentation improvements:

  • Updated README.md to include new installation instructions: downloading binaries, running via Docker, and building from source. Provided example Docker usage and clarified local usage steps.

Copilot AI review requested due to automatic review settings January 3, 2026 17:17

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request adds comprehensive Docker support to vizdisk, enabling multi-architecture container builds (amd64 and arm64) with automated publishing to GitHub Container Registry. The changes streamline the installation and deployment process by providing pre-built Docker images alongside traditional binary releases.

Key changes:

  • Added production-optimized Dockerfile.release with minimal Alpine base image and ncdu runtime dependency
  • Configured GoReleaser to build multi-arch Docker images and create unified manifests for version tags and latest
  • Updated GitHub Actions workflow with package publishing permissions for GHCR
  • Reorganized README with three installation options: binary download, Docker, and building from source

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 5 comments.

File Description
Dockerfile.release New minimal Alpine-based Dockerfile for release builds with ncdu and environment configuration
.goreleaser.yaml Added Docker build configurations for amd64/arm64 architectures and manifest creation for GHCR publishing
.github/workflows/release.yml Added packages: write permission to enable publishing Docker images to GHCR
README.md Restructured installation section with Docker-first approach and updated usage examples

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread README.md Outdated
Comment thread README.md
Comment thread Dockerfile.release
Comment thread .goreleaser.yaml
Comment thread Dockerfile.release
@Jimzical Jimzical merged commit ef7a33c into main Jan 3, 2026
3 checks passed
@Jimzical Jimzical deleted the feat/docker-package branch January 3, 2026 17:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants