https://github.com/cicirello/gnu-on-alpine

A lightweight Docker container for shell scripting with GNU tools on Alpine Linux

https://github.com/cicirello/gnu-on-alpine

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (9.2%) to scientific vocabulary

Keywords

alpine alpine-linux bash coreutils docker-image findutils gawk linux

Keywords from Contributors

archival projection sequences interactive genetic-algorithm generic randomization binomial-random-variable badge evolutionary-algorithms
Last synced: 5 months ago · JSON representation

Repository

A lightweight Docker container for shell scripting with GNU tools on Alpine Linux

Basic Info
Statistics
  • Stars: 7
  • Watchers: 1
  • Forks: 1
  • Open Issues: 0
  • Releases: 42
Topics
alpine alpine-linux bash coreutils docker-image findutils gawk linux
Created over 5 years ago · Last pushed 7 months ago
Metadata Files
Readme License

README.md

gnu-on-alpine

gnu-on-alpine - A lightweight Docker container for shell scripting with GNU tools on Alpine Linux)

Website for our GitHub Actions and tools for developing them: https://actions.cicirello.org/

| Docker Hub | Docker Image Version (latest by date) Docker Pulls | | :--- | :--- | | GitHub | GitHub release (latest by date) | | Image Stats | Docker Image Size (latest by date) | | Build Status | build | | License | License | | Support | GitHub Sponsors Liberapay Ko-Fi |

Summary

The gnu-on-alpine Docker image is designed to support shell scripting using GNU tools, such as the bash shell, gawk, coreutils, and findutils, while keeping the image size relatively small. Alpine Linux is used as the base image. The gnu-on-alpine image adds bash, findutils, coreutils, and gawk on top of Alpine Linux.

For more information, see my blog post on DEV: gnu-on-alpine and alpine-plus-plus: Two Lightweight Containers for Implementing GitHub Container Actions with Shell Scripting.

Multiplatform Image

gnu-on-alpine has the following platforms available: * linux/386 * linux/amd64 * linux/arm/v6 * linux/arm/v7 * linux/arm64 * linux/ppc64le * linux/s390x

Source Repository and Builds

The source repository is maintained on GitHub. The images are built on Github and pushed to Docker Hub, as well as the Github Container Registry using Github Actions.

Docker Tags and Versioning Scheme

Each image pushed to Docker Hub and the Github Container Registry is tagged as follows: * The tag latest indicates, well, the latest image. * Tags of the form MAJOR.MINOR.PATCH (such as 3.13.5) indicate the SemVer of the Alpine image used as the base. * Tags of the form MAJOR.MINOR (e.g., 3.13) correspond to the most recent patch level of the Alpine image used as the base. For example, if 3.13.5 is the latest release, then 3.13 maps to this as well. * Tags of the form MAJOR (e.g., 3) correspond to the most recent patch level of the Alpine image used as the base, with major corresponding major version. For example, if 3.13.5 is the latest release, then 3 maps to this as well.

Semantic Versioning uses version numbers of the form: MAJOR.MINOR.PATCH, where differences in MAJOR correspond to incompatible changes, differences in MINOR correspond to introduction of backwards compatible new functionality, and PATCH corresponds to backwards compatible bug fixes.

Installation and Usage

The pre-built image is hosted on both Docker Hub and the Github Container Registry. You can use it in the following ways.

Docker Pull Command

Pull the latest image from Docker Hub with the following (replace latest with a specific version number if you prefer):

docker pull cicirello/gnu-on-alpine:latest

Pull from the Github Container Registry with:

docker pull ghcr.io/cicirello/gnu-on-alpine:latest

Use as a base image in a Dockerfile

Use as a base image in a Dockerfile (replace latest with a specific version number if you prefer):

```Dockerfile FROM cicirello/gnu-on-alpine:latest

The rest of your Dockerfile would go here.

```

Or you can use as a base image (via the Github Container Registry) with:

```Dockerfile FROM ghcr.io/cicirello/gnu-on-alpine:latest

The rest of your Dockerfile would go here.

```

License

Source Code License

The source code, including the Dockerfile and anything else within the Github repository for gnu-on-alpine, is licensed under the MIT License.

Image Licenses

As with all pre-built Docker images, the image itself (once built, or obtained from Docker Hub or the Github Container Registry) contains software that is covered by a variety of licenses. Since the base image is Alpine, this would include the licenses of the components of Alpine; and also includes the licenses of the GNU tools added to the image.

If you build and distribute an image containing your software, using gnu-on-alpine as the base image, it is your responsibility to follow the licenses of all of the software contained within the image. At the time that this documentation is written, one of the effects of the combination of those licenses is a constraint on the licensing of such a pre-built image containing your software to the GPL 3.0 or later (derived from the inclusion of bash and the other GNU tools). If you desire a more permissive license for your software, one approach would be to instead distribute a Dockerfile that builds the image containing your software, rather than a pre-built image of your software, which should circumvent the issue since you would no longer be distributing a derivative of GPL licensed software.

Owner

  • Name: Vincent A. Cicirello
  • Login: cicirello
  • Kind: user
  • Location: Galloway, NJ
  • Company: Stockton University

Vincent A. Cicirello is a researcher in AI, evolutionary computation, and swarm intelligence.

GitHub Events

Total
  • Release event: 4
  • Watch event: 1
  • Delete event: 6
  • Issue comment event: 2
  • Push event: 3
  • Pull request review event: 5
  • Pull request event: 11
  • Fork event: 1
  • Create event: 10
Last Year
  • Release event: 4
  • Watch event: 1
  • Delete event: 6
  • Issue comment event: 2
  • Push event: 3
  • Pull request review event: 5
  • Pull request event: 11
  • Fork event: 1
  • Create event: 10

Committers

Last synced: 8 months ago

All Time
  • Total Commits: 99
  • Total Committers: 2
  • Avg Commits per committer: 49.5
  • Development Distribution Score (DDS): 0.465
Past Year
  • Commits: 6
  • Committers: 1
  • Avg Commits per committer: 6.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
dependabot[bot] 4****] 53
Vincent A. Cicirello c****o 46

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 0
  • Total pull requests: 75
  • Average time to close issues: N/A
  • Average time to close pull requests: 6 days
  • Total issue authors: 0
  • Total pull request authors: 2
  • Average comments per issue: 0
  • Average comments per pull request: 0.15
  • Merged pull requests: 62
  • Bot issues: 0
  • Bot pull requests: 65
Past Year
  • Issues: 0
  • Pull requests: 13
  • Average time to close issues: N/A
  • Average time to close pull requests: 28 days
  • Issue authors: 0
  • Pull request authors: 2
  • Average comments per issue: 0
  • Average comments per pull request: 0.38
  • Merged pull requests: 5
  • Bot issues: 0
  • Bot pull requests: 12
Top Authors
Issue Authors
Pull Request Authors
  • dependabot[bot] (71)
  • cicirello (13)
Top Labels
Issue Labels
Pull Request Labels
dependencies (71) docker (51) github_actions (21) documentation (2) duplicate (1) hacktoberfest-accepted (1)

Dependencies

.github/workflows/delete-old-images.yml actions
  • vlaurin/action-ghcr-prune v0.5.0 composite
.github/workflows/docker-image.yml actions
  • actions/checkout v3 composite
.github/workflows/docker-manual-publish.yml actions
  • actions/checkout v3 composite
  • docker/build-push-action v4 composite
  • docker/login-action v2 composite
  • docker/setup-buildx-action v2 composite
  • docker/setup-qemu-action v2 composite
.github/workflows/docker-publish.yml actions
  • actions/checkout v3 composite
  • docker/build-push-action v4 composite
  • docker/login-action v2 composite
  • docker/setup-buildx-action v2 composite
  • docker/setup-qemu-action v2 composite
Dockerfile docker
  • alpine 3.17.2 build