Add page explaining how to integrate new pi

master
Jef Roosens 2024-01-10 16:42:09 +01:00
parent 098c2e6fe5
commit 9a66ea8f6e
Signed by: Jef Roosens
GPG Key ID: B75D4F293C7052DB
3 changed files with 35 additions and 3 deletions

@ -1 +1,4 @@
Welcome to the Wiki.
Welcome to the wiki for my homelab! As this homelab is rather important to me,
I'm trying to keep it very well organized an documented. While this wiki is
mostly meant to be read by me in the future, there's definitely some
interesting information in here for anyone with a similar setup.

@ -1 +1 @@
- [Integrating a new Pi](/integrate-new-pi)
- [Integrating a new Pi](integrate-new-pi)

@ -1 +1,30 @@
# Hello
# Integrating a new Pi
When integrating a new Pi, a few steps need to be performed before it can be
integrated with the rest of the Ansible config.
First of all, an SD card should be formatted with [Debian Raspberry
Pi](https://raspi.debian.net/) as the operating system. Before booting for the
first time, change the following in `/boot/firmware/sysconf.txt` (you can do
this by simply having the SD card mounted on your computer):
* Set `hostname` to the desired name
* Set `root_authorized_key` to the contents of the current computer's public
SSH key
Now the SD card can be inserted into the Raspberry Pi. Connect the Pi to the
LAN using a wired connection and let it boot. After a little while, it should
show up on the local network with a DNS-assigned IP. You can discover what IP
it received in many ways; I usually just check the router's configuration
panel. Finally, decide what static IP the Pi should be assigned to from here on
out.
Now you can run the initial configuration of the Pi with the following command:
```sh
ansible-playbook -i [original ip], -e ansible_ssh_user=root -e static_ip=[static ip] first_run.yml
```
The [first_run.yml](src/branch/main/first_run.yml) playbook installs Python3
and sets up the base user and SSH configuration so all other Ansible roles can
work properly.