{"id":15172777,"url":"https://github.com/clayshek/raspi-ubuntu-ansible","last_synced_at":"2025-08-23T01:08:32.621Z","repository":{"id":114755211,"uuid":"269434395","full_name":"clayshek/raspi-ubuntu-ansible","owner":"clayshek","description":"Ubuntu Raspberry Pi provisioning (lab use), using Ansible pull from Git","archived":false,"fork":false,"pushed_at":"2025-02-20T17:31:59.000Z","size":102,"stargazers_count":67,"open_issues_count":1,"forks_count":13,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-09T23:15:39.716Z","etag":null,"topics":["ansible","ansible-pull","homelab","raspberry-pi","raspberry-pi-3","raspberry-pi-4","raspberrypi","raspi","ubuntu"],"latest_commit_sha":null,"homepage":"","language":"Smarty","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/clayshek.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-06-04T18:25:32.000Z","updated_at":"2025-02-27T21:07:12.000Z","dependencies_parsed_at":null,"dependency_job_id":"aa046a06-8016-4f92-8f1d-411b1ab13eba","html_url":"https://github.com/clayshek/raspi-ubuntu-ansible","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/clayshek/raspi-ubuntu-ansible","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clayshek%2Fraspi-ubuntu-ansible","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clayshek%2Fraspi-ubuntu-ansible/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clayshek%2Fraspi-ubuntu-ansible/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clayshek%2Fraspi-ubuntu-ansible/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/clayshek","download_url":"https://codeload.github.com/clayshek/raspi-ubuntu-ansible/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clayshek%2Fraspi-ubuntu-ansible/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271727611,"owners_count":24810561,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-22T02:00:08.480Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ansible","ansible-pull","homelab","raspberry-pi","raspberry-pi-3","raspberry-pi-4","raspberrypi","raspi","ubuntu"],"created_at":"2024-09-27T10:04:20.298Z","updated_at":"2025-08-23T01:08:32.595Z","avatar_url":"https://github.com/clayshek.png","language":"Smarty","funding_links":[],"categories":[],"sub_categories":[],"readme":"# raspi-ubuntu-ansible\nRaspberry Pi Ubuntu lab provisioning with Ansible\n\n# Overview: \nRepo contains necessary files to provision multiple Ubuntu Raspberry Pi in home lab. Each Pi SD card is flashed with the latest Ubuntu Server image for Ras Pi, and a user-data file with customized config (Ctrl-Shft-X in Raspbery Pi Imager) is copied to boot partition. Once booted, cloud-init with the custom user-data file will set the hostname, create a personalized user with associated ssh key (and locked password), and call ansible-pull to run the playbooks from this repo.\n\nAnsible will further configure host networking (based on assigned hostname and assigned role \u0026 variables), setting IP, netmask, gateway, DNS server(s), and DNS search suffix(es) by creating a host-specific [Netplan](https://ubuntu.com/server/docs/network-configuration) file from the included template.  Ansible will, based on assigned role, install additional packages.\n\n# Usage:\n- Flash Raspberry Pi SD card with desired [Ubuntu Server version](https://ubuntu.com/download/raspberry-pi) - successfully tested on v24.04.1 LTS.\n- Copy user-data to boot partition of SD card (first customize hostname value, which should be reflected in Ansible inventory.yml file and have a .yml variables file in host_vars, do any user/ssh key modifications as necessary, and update Git repo location as appropriate)\n- Boot Raspberry Pi, after a few minutes, Pi should be provisioned (depending on Pi model and RAM, cloud-init / Ansible run could take 25+ minutes)\n- Watch 'cloud-init status'. Troubleshoot logs at /var/log/cloud-init-output.log \u0026 /var/log/cloud-init.log.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclayshek%2Fraspi-ubuntu-ansible","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fclayshek%2Fraspi-ubuntu-ansible","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclayshek%2Fraspi-ubuntu-ansible/lists"}