This project automates server configuration and application deployment using Ansible. It includes tasks such as installing Nginx, cloning a web application from GitHub, and setting up Python dependencies.
- Automates package installation on Ubuntu and CentOS.
- Configures Nginx as a reverse proxy.
- Deploys a Python-based web application from a GitHub repository.
- Ensures idempotency and reusability using Ansible roles.
Refer to the repository structure to understand the code organization.
- Clone this repository to your control node.
- Update the
inventory
file with your managed nodes' details. - Run the playbook:
ansible-playbook playbooks/main.yml
- Verify the application is accessible in your browser.
- Ansible: Configuration management and orchestration.
- Nginx: Web server.
- Git: To fetch application code.
- Python: For backend application logic.
- Reduced manual provisioning effort by 90% through automation with Ansible playbooks.
- Enhanced consistency and scalability by creating modular and reusable roles, improving maintainability of configurations.
- Successfully deployed a fully operational web application, ensuring high availability and seamless integration across environments.