Skip to content

X-Truder homelab repo with docker-compose configurations

Notifications You must be signed in to change notification settings

xtruder/homelab

Repository files navigation

xtruder/homelab

My personal setup for homelab, just a bunch of services deployed with docker-compose and make

Server deployment

Follow guide on Installing fedora CoreOS on Bare Metal

  1. Download FCOS ISO
podman run --security-opt label=disable --pull=always --rm -v .:/data -w /data \
    quay.io/coreos/coreos-installer:release download -s stable -p metal -f iso

Burn ISO to USB drive or mount it via piKVM to server

  1. Install FCOS

Reboot server and boot from USB drive

Run following command to install FCOS

sudo coreos-installer install --ignition-url https://github.com/xtruder/homelab/raw/main/ignition/jarvis.ign /dev/sdX
  1. Reboot server

Reboot server to apply changes

sudo reboot

After reboot the server will automatically be rebased to ucore server image, this will cause server to restart twice.

  1. Enroll ublue secure boot keys
sudo mokutil --import /etc/pki/akmods/certs/akmods-ublue.der
sudo reboot

During reboot you will be asked to enroll secure boot keys, select enroll and enter password.

Setup

  1. Create host ssh key and add it as deploy key to github:
ssh-keygen -t ed25519
cat ~/.ssh/id_ed25519.pub

Add key to: https://github.com/xtruder/homelab/settings/keys

  1. Install cron job
git clone git@github.com:xtruder/homelab.git
mkdir -p ~/.config/systemd/user
cp homelab-cron.timer ~/.config/systemd/user/homelab-cron.timer
cp homelab-cron.service ~/.config/systemd/user/homelab-cron.service
systemctl --user daemon-reload
systemctl --user enable homelab-cron.timer
systemctl --user start homelab-cron.timer

To pause automatic deployments create .pause file and it will skip deployment

About

X-Truder homelab repo with docker-compose configurations

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages