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/fstabfor 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.adduserorsmbpasswd -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...)