Fully automated homelab from empty disk to running services with a single command.
docker pull khuedoan/homelab:latest
docker run -d --name homelab --restart always khuedoan/homelab:latest
docker compose up -d
services:
dnsmasq:
build: ./dnsmasq
volumes:
- ./data/pxe-config/dnsmasq.conf:/etc/dnsmasq.conf
- ./data/pxe-config/grub.cfg:/tftp/grub.cfg
- ./data/os/EFI/BOOT/grubx64.efi:/tftp/grubx64.efi
- ./data/os/images/pxeboot/initrd.img:/tftp/initrd.img
- ./data/os/images/pxeboot/vmlinuz:/tftp/vmlinuz
network_mode: host
cap_add:
- NET_ADMIN
http:
build: ./http
network_mode: host
volumes:
- ./data/os:/usr/share/nginx/html/os
- ./data/init-config/:/usr/share/nginx/html/init-config
environment:
NGINX_PORT: 80