Ansible Raspberry Pi Playbooks 项目教程
1. 项目的目录结构及介绍
ansible-raspi-playbooks/
├── README.md
├── roles/
│ ├── common/
│ ├── nfs_server/
│ ├── samba/
│ ├── syncthing/
│ ├── tmux/
│ ├── wifi/
│ └── ...
├── setup.yml
├── secure.yml
├── nas.yml
├── nfs_server.yml
├── nfs_client.yml
├── tmux.yml
├── syncthing.yml
├── ruby.yml
├── wifi.yml
└── noip.yml
目录结构介绍
- README.md: 项目说明文件,包含项目的概述、使用方法和贡献指南。
- roles/: 包含多个角色(roles),每个角色负责不同的功能配置,如
common
、nfs_server
、samba
等。 - setup.yml: 用于初始化 Raspberry Pi 的启动文件。
- secure.yml: 用于配置 Raspberry Pi 的安全设置。
- nas.yml: 用于配置 Samba 共享。
- nfs_server.yml: 用于配置 NFS 服务器。
- nfs_client.yml: 用于配置 NFS 客户端。
- tmux.yml: 用于安装和配置 tmux。
- syncthing.yml: 用于配置 Syncthing 备份服务器。
- ruby.yml: 用于安装和配置 Ruby。
- wifi.yml: 用于配置 Wi-Fi 连接。
- noip.yml: 用于配置 No-IP 动态 DNS。
2. 项目的启动文件介绍
setup.yml
setup.yml
是项目的启动文件,用于初始化 Raspberry Pi 的配置。它通常包含以下任务:
- 清理和更新系统包。
- 安装必要的软件包,如
locales-all
、python3-pip
等。 - 安装 Ansible 和相关依赖。
- 运行特定的 Ansible 角色。
使用方法
ansible-playbook setup.yml -i pi
3. 项目的配置文件介绍
roles/
目录
roles/
目录下包含多个角色(roles),每个角色负责不同的功能配置。以下是一些主要角色的介绍:
- common: 包含通用的配置任务,如系统更新、软件包安装等。
- nfs_server: 配置 NFS 服务器,允许 Raspberry Pi 共享文件。
- samba: 配置 Samba 共享,允许 Raspberry Pi 作为 NAS 使用。
- syncthing: 配置 Syncthing 备份服务器,用于数据同步。
- tmux: 安装和配置 tmux,提供终端多路复用功能。
- wifi: 配置 Wi-Fi 连接,允许 Raspberry Pi 连接到无线网络。
配置文件示例
roles/nfs_server/files/exports
/path/on/server 192.168.1.0/24(rw,sync,no_subtree_check)
该文件定义了 NFS 共享的路径和权限。
roles/samba/tasks/main.yml
- name: Create Samba share directory
file:
path: /media/storage/share
state: directory
owner: pi
group: pi
mode: '0755'
- name: Configure Samba
template:
src: smb.conf.j2
dest: /etc/samba/smb.conf
该文件定义了 Samba 共享目录的创建和配置。
通过以上介绍,您可以更好地理解和使用 ansible-raspi-playbooks
项目来配置和管理 Raspberry Pi。