This Ansible playbook automates the setup and configuration of a Debian-based system with a variety of tools and services. It ensures that the system is consistently configured and up-to-date by pulling the latest changes from a Git repository and applying them at regular intervals.
Installs a set of essential packages to ensure the system has the necessary tools and utilities:
libsasl2-modules
: Provides SASL authentication modules.- mailutils: A collection of mail-related utilities.
- micro: A modern and intuitive terminal-based text editor.
- cron: A time-based job scheduler.
- sudo: Allows a permitted user to execute a command as the superuser or another user.
- neofetch: A command-line system information tool.
- unattended-upgrades: Automatically installs security upgrades.
- pipx: Installs and runs Python applications in isolated environments.
- glances: A cross-platform monitoring tool.
- iperf3: A tool for active measurements of the maximum achievable bandwidth on IP networks.
Creates a user named michel
with a predefined password to ensure a consistent user environment.
Copies .bashrc
and .bash_aliases
files to the localhost to set up a customized terminal environment with useful aliases and configurations.
Onboard Host to NetData
Installs and configures NetData for real-time system monitoring, providing insights into system performance and health.
Configures the system to automatically install OS updates, including ProxMox and Docker updates, ensuring the system remains secure and up-to-date without manual intervention.
Set up Email Notifications via Postfix
Configures Postfix to send notifications to Pushover via email, enabling real-time alerts for system events and issues.
Sets up a cron job to run the Ansible pull command every 6 hours. This ensures that the system configuration is regularly updated by pulling the latest changes from the Git repository.
Installs Tailscale, a zero-config VPN, and configures it to allow SSH access, providing secure remote access to the system.
Mounts a CIFS (SMB) share to the system, allowing access to network file shares.
Installs Glances and all its modules using Pipx and enables the Glances webserver, providing a comprehensive monitoring solution accessible via a web interface.
-
Clone the repository:
git clone https://github.com/MichelfrancisBustillos/ansible_pull.git cd ansible_pull
-
Run the playbook:
ansible-playbook -i inventory playbook.yml
Contributions are welcome! Please fork the repository and submit a pull request with your changes.
This project is licensed under the MIT License. See the LICENSE file for details.