rpi-eink-picture-frame/deploy/setup.playbook.yml

78 lines
1.9 KiB
YAML

- name: Deployment of software + requirements
hosts: all
user: remy
become: true
tasks:
# DONE BY RPI IMAGER
# - name: Add local ssh key
# ansible.posix.authorized_key:
# user: "{{ ansible_user }}"
# state: present
# # copy file present on the controller to the remote host
# key: "{{ lookup('file', '~/.ssh/default.pub') }}"
- name: Include network variables
ansible.builtin.include_vars:
file: wifi_networks.yml
name: wifi_external
- name: apt update all packages
apt:
update_cache: yes
upgrade: yes
- name: Install required packages
apt:
name:
- git
- python3-pip
- python3-dev
- python3-setuptools
- python3-rpi.gpio
- python3-spidev
state: present
- name: Pip install pipenv
pip:
name: pipenv
state: present
- name: Enable SPI and I2C interfaces
lineinfile:
path: /boot/config.txt
regexp: "^#?(dtparam=i2c_arm|dtparam=spi)"
line: "{{ item }}"
state: present
with_items:
- "dtparam=i2c_arm=on"
- "dtparam=spi=on"
- name: Reboot the Raspberry Pi
reboot:
connect_timeout: 20
reboot_timeout: 300
- name: Wait for the Raspberry Pi to reboot
wait_for_connection:
delay: 5
timeout: 300
# - name: Add wifi networks from template
# template:
# src: templates/wpa_supplicant.conf.j2
# dest: /etc/wpa_supplicant/wpa_supplicant.conf
# owner: root
# group: root
# mode: 0600
- name: Use raspi-config to set WIFI country
shell: |
raspi-config nonint do_wifi_country CH
- name: Use raspi-config to set WIFI SSID and password
shell: |
raspi-config nonint do_wifi_ssid_passphrase "{{ item.ssid }}" "{{ item.password }}"
loop: "{{ wifi_external.networks }}"