A collection of practical guides for setting up and configuring Raspberry Pi 5 with SSD, headless Ubuntu, and common enhancements.
| File | Description |
|---|---|
rpi-ssd-setup.md |
Full setup from flashing Ubuntu Server to auto-mounting SSD and enabling Wi-Fi |
rpi-ssd-workloads.md |
Steps to move logs, Docker, swap, and user data from SD to SSD |
ssh-key-setup |
SSH Key Authentication for Raspberry Pi |
This repo includes a ready-to-use Ansible setup for automating Raspberry Pi configuration.
ansible/
βββ inventory/ # Hosts list
βββ group_vars/ # Group-level variables (with .env support)
βββ host_vars/ # Host-specific variables
βββ roles/ # Modular roles (base, ssd, docker, swap, etc.)
βββ site.yml # Main playbook
βββ ansible.cfg # Config with sane defaultsπ Usage (via Task)
- Edit environment variables in
Taskfile.ymlor export manually:
export ANSIBLE_HOST=192.168.1.1 # need to replace with valid value
export ANSIBLE_USER=ubuntu # need to replace with valid value
export HOSTNAME=rpi-dev # need to replace with valid value
export SSD_MOUNT_POINT=/mnt/ssd # need to replace with valid value- Run setup:
task setup- Other commands:
task ping # test connectivity
task ssh # open SSH session
task logs # live system logsSupports flexible overrides via environment variables.
All paths, credentials, and flags are managed centrally.
- All guides assume Raspberry Pi 5 with Ubuntu Server 25.04
- Focus is on minimizing SD wear and maximizing SSD usage
- Designed for performance, automation, and long-term use
Maintained by [ih0r-d].
PRs, corrections, and additions welcome!