(λ (x) (create x) '(knowledge))

Docker Builds

The following is a list of the docker containers I maintain, all of which can be found on dockerhub. Since Dockerhub doesn't let you display graphics, and I just so happen to have nice little graphics for most (eventually all!) the containers.

tiddlydocker

A Tiddlywiki instance in an Alpine Linux container! It allows for the mounting of tiddlers via a volume (or whole server configurations for more complex installations), and exposes port 8080 for DNAT routing.

Tiddlywiki Docker Overview
  • OS: Alpine Linux Edge
  • Tags: latest
  • Ports: 8080
  • Volumes: /tiddlydocker
  • Usage: docker run -p 8080:80 -v /tiddlers:/tiddlydocker/tiddlers tiddlydocker

mrbuildit

An Alpine Linux APKBUILD package builder, based off of the official Alpine Linux CI/CD.

Alpine Linux provides CI/CD to lint and build packages pushed to their aports repo, this is a smaller version that runs on a small $5 Digital Ocean droplet using Gitlab's CI runner. It will build anything pushed into the repo, whether it's valid or not (it's a feature not a bug!). This allows me to push changes to my WS-Alpine-Packages repo and verify that my updates are pre-linted, and that the packages actually compile off of my local system, before they ever even hit Alpine's CI/CD.

mrbuildit Overview
  • OS: Alpine Edge
  • Tags: latest, x86, aarch64, armv7, armhf
  • Ports: NIL
  • Volumes: NIL
  • Usage: Check here for usage.

minedock

A simple minecraft server host in a box! You can determine the amount of RAM used by the server with init args passed to the container, which is likely the only standout trait with this system. The use case for this one was running it on a RHEL hypervisor that was used for jointly as a file server, and for dev VMs. The container needed to run within a limited RAM limit, so as to not eat unnecessary resources. This has long since been retired, but the container has a special place in my heart as the first container I figured out how to make.

Minecraft Docker Overview
  • OS: Alpine Linux Edge
  • Tags: latest
  • Ports: 25565
  • Volumes: /minecraft
  • Usage: docker run -it -p 25565:25565 -v /minecraft:/minecraft durrendal/minedock:latest -l 500M -u 1000M

lighty

A pop up Lighttpd instance, configurable on the fly to serve any data mounted into it. This container isn't really meant to run a long term webserver, rather it's meant to be an ad hoc file server, or static webpage host. I typically use it to provide files to VMs from my hypervisors, share files easily with co-workers, or even test basic APK repo hosting.

Lighty Docker Overview

The only caveat to this is that the system rsync whatever is provided to it into the container volume, so periodically if you use this, you need to purge your images to prevent bloat. Especially if you're passing along large files. Additionally you must provide a lighttpd.conf file in your volume to configure lighty with, otherwise it will error out and abort.

  • OS: Alpine Linux Edge
  • Tags: latest
  • Ports: 80 443
  • Volumes: /tmp/site
  • Usage: docker run -v /path/on/host:/tmp/site -p 80:80 -p 443:443 lighty

fnl-mingw-compile

A Window's EXE compilation container for Fennel code! It has (hopefully) everything you need to compiler Fennel source into 32bit executables for the Windows ecosystem. fnl-mingw-compile requires a build.sh script to be located in the root directory of the source to be compiled, which should contain any external source summons, or build functions.

fnl-mingw-compile Overview

I've used this system to deploy a self contained Salt stack bootstrapping system for Chenmark, and to compile m455's fa application as well. I plan to use it more extensively in the future as I extend Chenmark's endpoint management systems.

apkbuild-lint

A linting container for use in CI/CD specifically targetted towards linting APKBUILDs for Alpine Linux.

apkbuild-lint Overview

alpinelab

It runs tmux, on Alpine Linux. Wow, that seems really uninteresting. Why the heck would you make a docker container to run tmux?

Well, it's really sort of a lab. I have to test way too many things, for way too many systems, and way too many projects. And really I don't need to clutter my workstation with junk. Thus we have a container, which launches an interactive terminal multiplexer, inside of which we can install and configure and build at whim. And then throw it all in teh trash once we've verified our ideas are worth the effort. I call it a lab, but really it's a cruft prevention system.

  • OS: Alpine Linux Edge/li>
  • Tags: latest
  • Ports: 80 52517
  • Volumes: /lab
  • Usage: docker run -it -v /path/on/host:/lab -p 80:80 -p 52517:52517 lab