1st time setup - Pelochus/pelochus-homelab GitHub Wiki

Before first setup

First of all, configure DDNS or buy a domain name. I currently use DuckDNS + No IP (as backup). Follow this guide for installing DuckDNS https://www.duckdns.org/install.jsp?tab=linux-cron

Assuming you already have your OS (only Debian/Ubuntu based right now!) installed and have SSH access, you should:

  • Optionally configure SSH keys
  • Optionally configure Git through SSH
  • If applicable, configure /etc/fstab for automounting external storage
  • Change/review default variables in the following folders:
    • TODO: Add from all default variables in Ansible roles, compose files and aliases-list
  • If using a cluster setup, change inventories and playbooks accordingly

Finally, install PiHole then you can continue with the 1st time setup. Change PiHole port to 88

Setup

First of all, clone this repo (ideally /home/pelochus) and pull submodules:

git clone --recurse-submodules [email protected]:Pelochus/pelochus-homelab.git

Quick Setup

Run:

cd pelochus-homelab && bash setup.sh

Semi-manual setup

Go to the ansible folder and run in this order:

ansible-playbook os-config.yml
ansible-playbook software-deploy.yml

Remember to add -K if not running as root

It is recommended to run each one separately, just in case there is a need for solving some problems before going into the next stage. Alternatively, you can use setup.sh interactive script for doing the same. It also checks for the installation of Ansible.

Additionally, for manual backups and/or maintenance, run:

ansible-playbook os-maintenance.yml
ansible-playbook backup.yml

After first setup

  • Restore services backups like Pi-Hole, Wireguard Easy, *Arr...
  • Don't forget to check settings of each one individually. Not all configurations are saved or properly restored.
  • Finish Samba setup with ksmbd.adduser or smbpasswd -a user (I have not found an automatic way, probably best leaving it this way)
  • Configure new services or services which do not have a backup (qBittorrent, Netdata/Grafana...)