This project automates the setup of Ubuntu-based servers using Ansible. It streamlines the initial configuration process, aiming for a secure and manageable environment. The playbook handles essential tasks like updates, user setup, and error monitoring, leveraging Ansible's orchestration capabilities. It functions as a starting point for personal infrastructure automation.
The project demonstrates a practical application of Ansible for server provisioning, emphasizing security best practices and automation of repetitive tasks. It incorporates concepts inspired by existing Ansible roles and leverages community resources to manage services. The configuration is designed for adaptability to various server setups, though primarily focused on Ubuntu 20.04.
- Security Hardening: Implements basic security measures like SSH key setup and user configuration.
- Automated Updates: Configures automatic package updates for ongoing security and stability.
- Service Deployment: Includes roles for deploying services like Home Assistant, Phoscon-GW, and nginx-proxy-manager.
- Error Notifications: Sets up email notifications for SMART disk errors and Snapraid issues.
- SSH Key Management: Configures SSH key setup for authorized access.
- User Management: Creates and configures a non-root user with sudo privileges.
- Snapraid Integration: Provides configuration for Snapraid disk redundancy.
The project is currently archived and being superseded by nix-config. It represents a personal project, meaning its development is less frequent. The documentation is minimal, and support is limited. While functional, maintainability is a concern due to its evolving nature.
This project benefits individuals seeking to automate Ubuntu server setups, particularly those interested in home automation and infrastructure management. It offers a starting point for creating secure and updated server environments with simplified service deployment and error monitoring compared to manual configuration. It is suited for users comfortable with Ansible and willing to adapt the playbook to their specific requirements.
