Home Homelab series - Bootstrap
Post
Cancel

Homelab series - Bootstrap

Homelab Series - Bootstrap

Objectives for this Homelab Series:

  • Lay out an easy to follow guide to setup a homelab, with repeatable and scripted actions where possible. The homelab repo on github will contain all the good bits.

Prerequisites

  • You have a server, virtual machine, LXC container, or the like, with SSH access.
  • The system should be running Debian, similar OS may work with small changes.

Action Plan

  • Setup Ansible either directly on the server, or on your desktop using the bootstrap script.
    • You need to be running a Linux desktop and have SSH keys copied to the server if putting Ansible on the desktop.
    • Otherwise you can run the bootstrap script on the server itself.
  • From the same directory as the bootstrap script was ran, activate the ansible environment
    • 1
      
      source env/bin/activate
      
  • Edit the ansible/hosts file to add the server IP(s), see example proxmox, or use desktops group for local.
  • Run the Debian playbook for the base configuration changes
    • note: limit in this case will run it on your local host.
    • 1
      2
      
      cd homelab
      ansible-playbook run_debian_template.yml --limit=desktops
      
  • Next lets install docker and portainer on the homelab server.
    • In this case we just install it locally on one machine, but if you put a list or range of IPs in hosts earlier, all of them will be setup as part of your homelab.
    • 1
      
      ansible-playbook run_docker.yml --limit=desktops
      
  • What to read next? How about this article to get started filling docker up with useful containers?
    • Portainer Deployments
    • UPDATE: The homelab repo has an additional role to deploy minecraft, replacing the need for this previous repository.
This post is licensed under CC BY 4.0 by the author.