Welcome to @JJGadgets' container images, if looking for a container start by browsing the Packages tab in GitHub for this repo.
The containers found in this repo have similar baseline goals to the ones found in onedr0p's containers repo.
However, the containers found in this repo are more opinionated for my (@JJGadgets) use.
For example, using distroless base images, or adding on packages/plugins that fit my use case (e.g. Caddy plugins, installing smbclient packages on NextCloud, changing out the web servers on frontend containers from Nginx to Caddy), etc.
I (@JJGadgets) make no guarantees that the containers found here will work for everyone else, as long as it works for me and fulfils my uses, I consider it "stable and tested". If you understand that, feel free to use them too!
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 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 |
---|---|
registry.jjgadgets.tech/jjgadgets/gotosocial:rolling |
❌ |
registry.jjgadgets.tech/jjgadgets/gotosocial:0.12.2.1507 |
❌ |
registry.jjgadgets.tech/jjgadgets/gotosocial:rolling@sha256:8053... |
✅ |
registry.jjgadgets.tech/jjgadgets/gotosocial:0.12.2.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.
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.
-
First read the Kubernetes docs on defining command and arguments for a Container.
-
Look up the documentation for the application and find a argument you would like to set.
-
Set the argument in the
args
section, be sure to includeentrypoint.sh
as the first arg and any application specific arguments thereafter.args: - /entrypoint.sh - --port - "8080"
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.
Each Image will be built with a rolling
tag, along with tags specific to it's version. Available Images Below
Container | Channel | Image | Latest Tags |
---|---|---|---|
bird | stable | registry.jjgadgets.tech/jjgadgets/bird | |
davical | stable | registry.jjgadgets.tech/jjgadgets/davical | |
elk | stable | registry.jjgadgets.tech/jjgadgets/elk | |
findmydeviceserver | stable | registry.jjgadgets.tech/jjgadgets/findmydeviceserver | |
findmydeviceserver-master | master | registry.jjgadgets.tech/jjgadgets/findmydeviceserver-master | |
goatcounter | stable | registry.jjgadgets.tech/jjgadgets/goatcounter | |
gotosocial | stable | registry.jjgadgets.tech/jjgadgets/gotosocial | |
gotosocial-rc | rc | registry.jjgadgets.tech/jjgadgets/gotosocial-rc | |
jjgadgets-error-page-ingress-nginx | stable | registry.jjgadgets.tech/jjgadgets/jjgadgets-error-page-ingress-nginx | |
joplin | stable | registry.jjgadgets.tech/jjgadgets/joplin | |
k8s-crd-extractor | stable | registry.jjgadgets.tech/jjgadgets/k8s-crd-extractor | |
mlc-llm | stable | registry.jjgadgets.tech/jjgadgets/mlc-llm | |
mlc-llm-cuda | cuda | registry.jjgadgets.tech/jjgadgets/mlc-llm-cuda | |
mlc-llm-cuda-nightly | cuda-nightly | registry.jjgadgets.tech/jjgadgets/mlc-llm-cuda-nightly | |
mlc-llm-nightly | nightly | registry.jjgadgets.tech/jjgadgets/mlc-llm-nightly | |
phanpy | stable | registry.jjgadgets.tech/jjgadgets/phanpy | |
radicale | stable | registry.jjgadgets.tech/jjgadgets/radicale | |
radicale-beta | beta | registry.jjgadgets.tech/jjgadgets/radicale-beta | |
rclone | stable | registry.jjgadgets.tech/jjgadgets/rclone | |
redbot-distroless | stable | registry.jjgadgets.tech/jjgadgets/redbot-distroless | |
samba-debian | stable | registry.jjgadgets.tech/jjgadgets/samba-debian |
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 |
gotosocial |
develop |
false |
false |
gotosocial-develop:0.12.2.1538 |
gotosocial |
develop |
false |
false |
gotosocial-develop:rolling |
gotosocial |
main |
true |
false |
gotosocial:0.12.2.1507 |
gotosocial |
main |
true |
false |
gotosocial:rolling |
Containers here can be deprecated at any point, this could be for any reason described below.
- The upstream application is no longer actively developed
- The upstream application has an official upstream container that follows closely to the mission statement described here
- The upstream application has been replaced with a better alternative
- The maintenance burden of keeping the container here is too bothersome
Note: Deprecated containers in this repo may be removed at any time. Hopefully procrastination will keep the deprecated containers long enough.
This repo's main pipeline code (found in .github
) was taken from onedr0p's containers repo. Full attributions can be found in the .github/CREDITS.md
.