Skip to content

Instantly share code, notes, and snippets.

@adiberr
Last active June 5, 2024 03:22
Show Gist options
  • Select an option

  • Save adiberr/8a9ca9c892b8085b294e92d7549df13d to your computer and use it in GitHub Desktop.

Select an option

Save adiberr/8a9ca9c892b8085b294e92d7549df13d to your computer and use it in GitHub Desktop.
Homelab: Starting Point

First Boot

PVE

Install Proxmox :

Enable iGPU passthrough (for transcoding video):

From pve > Shell :

  • update grup /etc/default/grup :
intel_iommu=on
  • run update-grub
  • then update-initramfs -u
  • finally reboot.

Updates :

Form pve > Updates > Repositories :

  • Disable Entreprise repositories.
  • Add No-Subscription repository.
  • Go back to Updates then click on "Reload".

Storage passthrough (omv) :

From pve > Shell :

  • Move to /etc/pve/qemu-server and open a VM, example 100.conf.
  • Add another scsi0 with the path of the drive to passthrough, example scsi0: /dev/sdb.
  • Finally restart the VM.

Resources : Novaspirit Tech

OpenMediaVault

Install

Installation is straightforward, donwload and mount ISO.

OpenMediaVault : https://www.openmediavault.org/download.html

Prepring Storage

Select from the drive from previous step, and format it. I choose ext4.

Network shares

Before creating network shares, you need to create directories where you'll store data.

Docker Host

Install OS

I went with Debian since it's easy to use and I'm very familiar with this distribution. Likewhise, you need to import the ISO first into Proxmox before creating the VM.

Follow the installation wizard and make sure to check SSH Server and uncheck any desktop environment.

Install Docker and Docker Compose

apt install curl
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh
  • Run Docker at startup
systemctl enable docker
  • Install Docker Compose
apt install docker-compose

Configure Network Shares

Mount NFS

mkdir /mnt/data /mnt/config

systemctl daemon-reload

packaged needed to mount nfs ext4 nfs-common /etc/fstab

192.168.1.150:/data /mnt/data nfs defaults 0 0
192.168.1.150:/config /mnt/config nfs defaults 0 0

Fix mount problem at startup

apt install network-manager
systemctl enable NetworkManager-wait-online.service

Install Portainer

docker run -d --name="portainer" \
  --restart on-failure \
  -p 9000:9000 \
  -p 8000:8000 \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v /mnt/data:/data \
  portainer/portainer-ce:latest

Setup static IP address

Portainer should be available from 192.168.1.100:9000. You can now start installing your applications from Web UI (Stacks).


Resources : noted.lol, forums.debian.net, server-world.info

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment