Adding GPUs to Docker Swarm and Running GPU-Enabled Services

Introduction This guide will walk you through the process of attaching GPUs to a Docker Swarm node and running services that can utilize these GPUs. This setup is particularly useful for running GPU-intensive workloads in a distributed environment. Assumptions You are running a recent version of Ubuntu (Noble 24.04 LTS in this case). You have NVIDIA drivers already installed (preferably the -server version). If not, follow the instructions at Ubuntu’s NVIDIA driver installation guide....

September 26, 2024 · 2 min · 422 words · Dylan Butler

Self-Dependant, Self-Hosted GitHub Runners

On the journey of self hosting, one thing I want to get automated and running locally was my deployments. Having all of my services defined as Docker Compose services would be ideal. Wanting to keep this configuration held in GitHub, alongside my other code, this raises the next question, how do I propagate these changes to my local machine and redeploy my services? My initial thoughts were to try to find a CI/CD platform that was able to be ran as a self-hosted setup, and also support Docker deployments, specifically supporting Compose as I wanted to keep my configs simple and familiar....

June 5, 2024 · 5 min · 991 words · Dylan Butler

Self-hosted traffic ingress

A quick snippet of my docker compose config for managing traffic ingress into my self-hosted setup. Cloudflare Zero Trust tunnel is being used to manage forwarding traffic from the public internet to my machine as I didn’t want to expose my network directly. Exiting the tunnel, cloudflare has been setup to direct all traffic to traefik:80 which is exposed on the ingress network. Based on rules defined on each service, traefik will the route the traffic to each of those services:...

May 13, 2024 · 1 min · 146 words · Dylan Butler