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.