Quick-Start Guide | K3s
This guide will help you quickly launch a cluster with default options. Make sure your nodes meet the requirements before proceeding.
docs.k3s.io [1]
I recently spun up k3s in my homelab [2]. I’m trying to offload some work off of my free tier fly.io app in order to keep it free tier without crashing.
# install and start k3s
curl -sfL https://get.k3s.io | sh -
# check to see if your nodes are started
sudo kubectl get nodes
My main hiccup so far was the machine I am running on runs zfs on root, and it would not start the master node. Rather than figuring out how to make zfs play nice I just pointed k3s to a drive that is not zfs.
# manuallly
sudo k3s server -d /mnt/vault/.rancher/k3s
# without editing systemd service
sudo ln -s /mnt/vault/.rancher/k3s /var/lib/rancher/k3s
Note
This post is a thought [3]. It’s a short note that I make
about someone else’s content online #thoughts
References:
[1]: https://docs.k3s.io/quick-start
[2]: /homelab/
[3]: /thoughts/
Posts tagged: containers
All posts with the tag "containers"
85 posts
latest post 2026-03-23
Publishing rhythm
How to run pods as systemd services with Podman
Podman is well known for its seamless integration into modern Linux systems, and supporting systemd is a cornerstone in these efforts. Linux commonly uses th...
redhat.com [1]
podman comes with a nice command for generating systemd service files (units).
$ podman pod create --name=my-pod
635bcc5bb5aa0a45af4c2f5a508ebd6a02b93e69324197a06d02a12873b6d1f7
$ podman create --pod=my-pod --name=container-a -t centos top
c04be9c4ac1c93473499571f3c2ad74deb3e0c14f4f00e89c7be3643368daf0e
$ podman create --pod=my-pod --name=container-b -t centos top
b42314b2deff99f5877e76058ac315b97cfb8dc40ed02f9b1b87f21a0cf2fbff
$ cd $HOME/.config/systemd/user
$ podman generate systemd --new --files --name my-pod
/home/vrothberg/.config/systemd/user/pod-my-pod.service
/home/vrothberg/.config/systemd/user/container-container-b.service
/home/vrothberg/.config/systemd/user/container-container-a.service
Note
This post is a thought [2]. It’s a short note that I make
about someone else’s content online #thoughts
References:
[1]: https://www.redhat.com/en/blog/podman-run-pods-systemd-services
[2]: /thoughts/
GitHub - wagoodman/dive: A tool for exploring each layer in a docker image
A tool for exploring each layer in a docker image. Contribute to wagoodman/dive development by creating an account on GitHub.
GitHub · github.com [1]
Really cool tui to inspect docker imaages that runs with docker.
Note
This post is a thought [2]. It’s a short note that I make
about someone else’s content online #thoughts
References:
[1]: https://github.com/wagoodman/dive
[2]: /thoughts/
Relocating the Docker root directory
If the space in the file system where the Docker root directory is located is not adequate and cannot be increased, you must relocate the directory.
ibm.com [1]
A very straightforward guide to moving your docker data, such as container storage to a different location. In my case I wanted it off of my boot drive.
Note
This post is a thought [2]. It’s a short note that I make
about someone else’s content online #thoughts
References:
[1]: https://www.ibm.com/docs/en/z-logdata-analytics/5.1.0?topic=compose-relocating-docker-root-directory
[2]: /thoughts/
Podman - ArchWiki
wiki.archlinux.org [1]
I kept running into limits in the number of subuid and subgid’s I had on my system by default. As always thank the arch wiki guide for having the most comprehensive yet consice guide to setup podman.
What I needed to do to fix the error.
usermod --add-subuids 100000-165535 --add-subgids 100000-165535 username
Note
This post is a thought [2]. It’s a short note that I make
about someone else’s content online #thoughts
References:
[1]: https://wiki.archlinux.org/title/Podman
[2]: /thoughts/
gistfile1.txt [1]
text
On void linux.
Under `/etc/containers/` there is a file called `registries.conf`. It is complemented by `man 5 containers-registries.conf`.
Change (for me lines 11-12) which say
[registries.search]
registries = []
to
[registries.search]
registries = ['docker.io']
(drawn from https://www.projectatomic.io/blog/2018/05/podman-tls/)
---
Without the above you won’t be able to use basic podman functions. You might get errors like:
- Error: unable to pull fedora:28: image name provided is a short name and no search registries are defined in the registries config file.
- Error: unable to pull stripe/stripe-cli: image name provided is a short name and no search registries are defined in the registries config file.
---
Various documentation (redhat blog entries, man podman pages) say that dockerhub is a default, but without this step it’s clearly not.
Good luck. Feel free to use the comment box below if you have a github account.
By default podman will not pull images from docker.io and will need setup. This guide worked for me.
Note
This post is a thought [2]. It’s a short note that I make
about someone else’s content online #thoughts
References:...
In my adventure to put more homelab [1] in docker, I moved our modded
minecraft setup to docker.
Getting Mods # [2]
So far I have found all of our mods from curse
forge [3]. modpacks make
getting multiple mods working together much easier, someone else has
already vetted a pack of often times 100+ mods that all play well
together. I have yet to get these working in docker, I will, but for
not I just have individual mods.
download file # [4]
under the hood docker is using wget to get the mod. The link you click
on from curseforge will block wget. What I do is pop open the devtools
(f12 in chrome), click on the network tab, click the download link on
the web page, and watch the real link show up.
[5]
Docker-compose # [6]
I am using docker compose, it makes the command much easier to start,
and all the things needed stored in a file. I am not using compose to
run multiple things, just for the simple start command.
Create a directory for your server and add the following to a
docker-compose.yml file.
version: "3.8"
services:
mc:
container_name: walkercraft
image: itzg/minecraft-server
ports:
- 25565:25565
environment:
EULA: "TRUE"
TYPE: "FORGE"
VERSION: 1.16.5
M...
I’ve ran a Minecraft server at home since December 2017 for me and my
son to play on. We start a brand new one somewhere between every day
and every week. The older he gets the longer the server lasts.
In all these years, I’ve been popping open the command line and running
the server manually, and even inside of Digital Ocean occasionally to
play a more public server with a friend.
My buddy Nic has been sharing me some of his homelab [1] setup, and it’s
really got me to thinking about what I can run at home, and Dockerizing
all the things. Today I found a really sweet github repo that had a
minecraft server running in docker with a pretty incredible setup.
I ended up running the first thing in the Readme that included a volume
mount. If you are going to run this container, I HIGHLY reccomend that
you make sure that you have your world volume mounted, otherwise it will
die with your docker container.
Docker Compose # [2]
With the following stored as my docker-compose.yml in a brand new and
otherwise empty directory I was ready to start the server for the night.
version: "3"
services:
mc:
container_name: walkercraft
image: itzg/minecraft-server
ports:
- 25565:25565
en...
📝 Docker Deep Dive - Notes
https://www.hanselminutes.com/784/doing-open-source-with-brian-douglas
Play With Docker # [1]
A handy way to try weird things in docker is using
play-with-docker [2]. You get a four hour session for
free, after four hours everything will be deleted, but you can start a new
session.
Installing Docker on Linux # [3]
Installing on Ubuntu.
wget -qO- https://get.docker.com/ | sh
Running Docker commands without sudo # [4]
In order to run docker commands without using sudo you need to add docker to
your group.
sudo usermod -aG docker ubuntu
Architecture and Theory # [5]
Container - Isolated area of an OS with resource usage limits applied.
Namespaces and Control Groups are hard, which is why containers were unusable
by mortals before docker.
Namespaces # [6]
Isolation
Each container looks and feels like a regular OS. It has its own eth0, users,
kernel. These are completely isolated from every other container running on
the system.
Namespaces are analogous to what Hypervisors d...