Containerized easily-extended Alpine login shell
Go to file
Neale Pickett fd987d5e1d Instructions for docker 2023-12-20 20:08:21 +00:00
etc Working version 2023-12-20 20:04:23 +00:00
Containerfile Working version 2023-12-20 20:04:23 +00:00
README.md Instructions for docker 2023-12-20 20:08:21 +00:00
build.sh Working version 2023-12-20 20:04:23 +00:00

README.md

Alpine Toolbox

This is a little Alpine container I run to provide SSH logins with a bunch of tools.

Persistence

If /mnt/toolbox exists, toolbox will persist installed packages and system changes by using methods that already exist in arch.

It's important to lbu that your machine have a hostname. If you change hostnames, you will need to rename files in /mnt/toolbox/lbu.

podman run \
  --hostname toolbox \
  --volume /path/to/toolbox:/mnt/toolbox \
  git.woozle.org/neale/toolbox

First Run

You may want to podman exec into the container, in order to edit /etc/doas.conf set up user accounts, and/or install ssh authorized_keys.

Once set up, you should be able to ssh in for most of your needs.

Podman vs Docker

On my diskless Raspberry Pi, Podman takes half as much space on the RAM disk as Docker. So I use Podman.

You do you. If you like docker better, just type docker instead of podman.

Why This Exists

I run my server in Alpine's "diskless mode". The Raspberry Pi uses a MicroSD card, which will "wear out" after many writes. This means my system runs entirely in RAM.

However, I also like my creature comforts. Running a more robust installation in a container allows me to use my magnetic storage for the larger system, and install and remove packages when I like, without worrying about wearing out the MicroSD card.

Shout Out

Alpine Linux is cool. It provides all the difficult parts of this, I just had to set up some config files.

The really cool part is that my container works the same way as the host it runs on!