Docker cross-architecture images
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
lib
repos
.editorconfig
.gitignore
.prettierrc
.travis.yml
README.md
index.js
main.js
package.json
yarn.lock

README.md

Docker Crossarch builds

Docker Hub Build status Built daily Published versions dependencies Status

This repository contains the code required to build cross-architecture Docker images on a daily basis. Images are built automatically on Travis CI.

What does it do?

The build script emulates, using QEMU, all supported environments and triggers a Docker build of all Dockerfile. Then, the following tags are pushed:

  • <arch>-<version>
  • <arch>-latest

If the release scheme of the software is MAJOR.MINOR, these tags are also pushed:

  • <arch>-<major>
  • <arch>-<major>.<minor>

Plus, if the software follows semver:

  • <arch>-<major>.<minor>.<patch>

Supported architectures

  • amd64
  • armhf

Add a new software

Of course, we appreciate contributions.

Instructions

  • Fork the project
  • Duplicate one of the current software folder in the repos directory. It contains:
    • A Dockerfile. It is a normal Dockerfile, except it does not have a FROM image
    • A Repofile.js. This contains a function that must return the version of the software
    • A README.md. It describes how to use your image
  • Add a <yoursoftware> key to the repos/settings.json file The following settings must be set:
    • image: The base image to use. Can be alpine or ubuntu
    • versioning: The versioning scheme of the software. Can be as-is, major-minor, or semver
  • Add a BUILD=<yoursoftware> job to the .travis.yml file
  • Submit a PR

Notes for Dockerfile

  • A fresh, up-to-date (24h or less) Alpine (edge) or Ubuntu (latest release) image is used
  • The CROSSARCH_ARCH environment variable is set to the currently being built architecture