Giter Site home page Giter Site logo

containers's Introduction

Container images

Welcome to container images, if looking for a container start by browsing the container packages.

Tag immutability

The containers built here do not use immutable tags, as least not in the more common way you have seen from linuxserver.io or Bitnami.

We take do take a similar approach but instead of appending a -ls69 or -r420 prefix to the tag we instead insist on pinning to the sha256 digest of the image, while this is not as pretty it is just as functional in making the images immutable.

Container Immutable
ghcr.io/mmalyska/sonarr:rolling
ghcr.io/mmalyska/sonarr:3.0.8.1507
ghcr.io/mmalyska/sonarr:rolling@sha256:8053...
ghcr.io/mmalyska/sonarr:3.0.8.1507@sha256:8053...

If pinning an image to the sha256 digest, tools like Renovate support updating the container on a digest or application version change.

Passing arguments to a application

Some applications do not support defining configuration via environment variables and instead only allow certain config to be set in the command line arguments for the app. To circumvent this, for applications that have an entrypoint.sh read below.

  1. First read the Kubernetes docs on defining command and arguments for a Container.

  2. Look up the documentation for the application and find a argument you would like to set.

  3. Set the argument in the args section, be sure to include entrypoint.sh as the first arg and any application specific arguments thereafter.

    args:
      - /entrypoint.sh
      - --port
      - "8080"

Configuration volume

For applications that need to have persistent configuration data the config volume is hardcoded to /config inside the container. This is not able to be changed in most cases.

Contributing

  1. Install Docker, Taskfile & Cuelang

  2. Get familiar with the structure of the repositroy

  3. Find a similar application in the apps directory

  4. Copy & Paste an application and update the directory name

  5. Update metadata.json, Dockerfile, ci/latest.sh, ci/goss.yaml and make it suit the application build

  6. Include any additional files if required

  7. Use Taskfile to build and test your image

    task APP=sonarr CHANNEL=main test

Automated tags

Here's an example of how tags are created in the GitHub workflows, be careful with metadata.json as it does affect the outcome of how the tags will be created when the application is built.

Application Channel Stable Base Generated Tag
ubuntu focal true true ubuntu:focal-rolling
ubuntu focal true true ubuntu:focal-19880312
alpine 3.16 true true alpine:rolling
alpine 3.16 true true alpine:3.16.0
sonarr develop false false sonarr-develop:3.0.8.1538
sonarr develop false false sonarr-develop:rolling
sonarr main true false sonarr:3.0.8.1507
sonarr main true false sonarr:rolling

Deprecations

Containers here can be deprecated at any point, this could be for any reason described below.

  1. The upstream application is no longer actively developed
  2. The upstream application has an official upstream container that follows closely to the mission statement described here
  3. The upstream application has been replaced with a better alternative
  4. The maintenance burden of keeping the container here is too bothersome

Note: Deprecated containers will remained published to this repo for 6 months after which they will be pruned.

Credits

This repository was forked from https://github.com/onedr0p/containers all the credits goes to oryginal author.

containers's People

Contributors

bendo-bot[bot] avatar mmalyska avatar renovate[bot] avatar

Stargazers

 avatar

Watchers

 avatar  avatar

containers's Issues

Action Required: Fix Renovate Configuration

There is an error with this repository's Renovate configuration that needs to be fixed. As a precaution, Renovate will stop PRs until it is resolved.

Location: .github/renovate.json5
Error type: Invalid JSON5 (parsing failed)
Message: JSON5.parse error: JSON5: invalid character '\"' at 11:3

Renovate Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Repository problems

Renovate tried to run on this repository, but found these problems.

  • WARN: Found renovate config warnings

Warning

Renovate failed to look up the following dependencies: Could not determine new digest for update (docker package ghcr.io/devcontainers/features/go).

Files affected: .devcontainer/devcontainer.json


This repository currently has no open or pending branches.

Detected dependencies

devcontainer
.devcontainer/devcontainer.json
  • ghcr.io/devcontainers/features/go 1@sha256:6adad519ea1b49989de42ce5bde5add32748cae68eeb6034db4c2d69e87c161b
dockerfile
.devcontainer/Dockerfile
  • mcr.microsoft.com/devcontainers/universal 2@sha256:d4ac0b79e9afabb3296eb4b6d7e32737c06956f248b18939156f2158c2c1f1f4
apps/argocd-secret-replacer/Dockerfile
  • public.ecr.aws/docker/library/alpine latest@sha256:77726ef6b57ddf65bb551896826ec38bc3e53f75cdde31354fbffb4f25238ebd
apps/s3-bucket-cleaner/Dockerfile
github-actions
.github/actions/collect-changes/action.yaml
  • dorny/paths-filter v3.0.2
.github/workflows/action-image-build.yaml
  • actions/checkout v4.1.6
  • cue-lang/setup-cue v1.0.1
  • e1himself/goss-installation-action v1.2.1
  • docker/setup-qemu-action v3.0.0
  • docker/setup-buildx-action v3.3.0
  • docker/login-action v3.2.0
  • docker/build-push-action v5.3.0
  • docker/build-push-action v5.3.0
  • sarisia/actions-status-discord v1.14.3
.github/workflows/image-rebuild.yaml
  • actions/checkout v4.1.6
  • actions/checkout v4.1.6
  • tibdex/github-app-token v2.1.0
  • actions/github-script v7.0.1
.github/workflows/pr-metadata.yaml
  • tj-actions/branch-names v8.0.1
  • actions/upload-artifact v4.3.3
  • actions/checkout v4.1.6
.github/workflows/pr-validate.yaml
  • actions/checkout v4.1.6
  • tibdex/github-app-token v2.1.0
  • actions/github-script v7.0.1
.github/workflows/release-manual.yaml
  • actions/checkout v4.1.6
  • tibdex/github-app-token v2.1.0
  • actions/github-script v7.0.1
.github/workflows/release-schedule.yaml
  • actions/checkout v4.1.6
  • tibdex/github-app-token v2.1.0
  • actions/github-script v7.0.1
.github/workflows/scheduled-renovate.yaml
regex
apps/argocd-secret-replacer/Dockerfile
  • helm/helm v3.15.1
  • getsops/sops v3.8.1
apps/argocd-secret-replacer/Dockerfile
  • helm/helm v3.15.1
  • getsops/sops v3.8.1

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.