homeserver-iac/README.md

38 lines
1.2 KiB
Markdown
Raw Normal View History

## installation steps
2023-08-26 22:02:29 -04:00
- Install required packages:
- sshpass
2023-09-09 11:45:54 -04:00
- python-passlib
2023-08-23 17:31:22 -04:00
- Copy `inventory.example.yml` to `inventory.yml`, modifying fields as adequate.
2023-09-09 11:45:54 -04:00
- Look at `group_vars/all/vars.yml`, and set needed settings in `host_vars/<hostname>/vars.yml`, or `group_vars/all/overlay.yml`.
- Look at the following roles, and for each of them override their `defaults/vars.yml` in host or group vars:
- `networking/connection`
- `networking/nameserver`
- `caddy`
- `containers`
- `filesystems`
- `firewall`
- `syncthing`
- `website`
- Create vault for secrets:
```
2023-09-09 11:45:54 -04:00
ansible-vault create group_vars/all/vault.yml
ansible-vault edit group_vars/all/vault.yml
```
Copy-paste `group_vars/all/secret_template.yml` into this vault,
and modify as needed.
- Add secret files:
```
# Keyfile for LUKS disk encryption
dd if=/dev/random of=roles/filesystems/files/host1.secret bs=1024 count=2
ansible-vault encrypt roles/filesystems/files/host1.secret
# repeat the above for every host with encrypted external storage
```
2023-08-26 22:02:29 -04:00
- Run the playbook:
```
ansible-playbook run.yml --ask-vault-pass
```