Skip to content

Ansible playbook for configuring a fresh install of Raspbian

Notifications You must be signed in to change notification settings

astro-arphid/rpi-ansible

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Raspberry Pi Ansible

Glenn K. Lockwood, October 2018

Introduction

This is an Ansible configuration that configures a fresh Raspbian installation on Raspberry Pi. It is intended to be run in local (pull) mode, where ansible is running on the same Raspberry Pi to be configured.

Bootstrapping on Raspbian

You will need ansible installed on the Raspberry Pi being configured. This playbook relies on Ansible 2.8 or newer, which means you can no longer use sudo apt-get install ansible. Instead, you must

$ sudo pip install ansible

Configuration

The macaddrs structure in roles/common/vars/main.yml maps the MAC address of a Raspberry Pi to its intended configuration state. Add your Raspberry Pi's MAC address to that structure and set its configuration accordingly.

Running the playbook

Then run the playbook:

$ sudo ansible-playbook local.yml 

The playbook will self-discover its settings, then idempotently configure the Raspberry Pi.

After running the playbook

This playbook purposely requires a few manual steps after running the playbook to ensure that it does not lock you out of your Raspberry Pi.

  1. While logged in as pi, sudo passwd glock (or whatever username you created) to set a password for that user. This is not required to log in as that user, but it is required to sudo as that user. You may also choose to set a password for the pi and/or root users.

  2. usermod --lock pi to ensure that the default user is completely disabled.

Acknowledgment

I stole a lot of knowledge from https://github.com/giuaig/ansible-raspi-config/.

About

Ansible playbook for configuring a fresh install of Raspbian

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published