https://github.com/andornaut/ansible-ctrl
Provision workstations and servers using Ansible
https://github.com/andornaut/ansible-ctrl
ansible ubuntu
Last synced: 4 months ago
JSON representation
Provision workstations and servers using Ansible
- Host: GitHub
- URL: https://github.com/andornaut/ansible-ctrl
- Owner: andornaut
- License: mit
- Created: 2017-06-20T16:59:46.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2026-02-28T23:10:18.000Z (4 months ago)
- Last Synced: 2026-03-01T02:08:15.081Z (4 months ago)
- Topics: ansible, ubuntu
- Language: Jinja
- Homepage:
- Size: 588 KB
- Stars: 2
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ansible-ctrl
Provision workstations and servers using [Ansible](https://www.ansible.com/).
## Overview
This repository contains Ansible playbooks for automating the setup and configuration of:
- Workstation and desktop environment: applications, games, tools, etc
- Home Assistant with Frigate
- Network Attached Storage (NAS)
- Email forwarding
- Rsnapshot backup system
- System upgrades
- Web servers
## Requirements
- [Ansible](https://www.ansible.com/) >= 2.14.6
- [Make](https://www.gnu.org/software/make/)
- Ubuntu >= 22.04
### Initial Setup
Create a file named `hosts` in the project root:
```ini
example ansible_connection=local ansible_host=example.com ansible_user=andornaut ansible_python_interpreter=/usr/bin/python3
[upgrade]
example
```
Install or upgrade Ansible on Ubuntu:
```bash
sudo apt remove ansible --purge
sudo apt-add-repository ppa:ansible/ansible
sudo apt install ansible
```
## Available Commands
Run any of the following make commands to execute the corresponding playbook:
```bash
make homeassistant-frigate # Set up Home Assistant with Frigate NVR
make rsnapshot # Configure Rsnapshot backup system
make upgrade # Run system upgrades
make webservers # Configure web servers
make workstation # Set up workstation/desktop environment
```
### Workstation Setup
The `make workstation` command runs the [workstation](./workstation.yml) playbook, which:
- Prompts you to choose which roles to include
- Configures your development environment
- Sets up common tools and applications
## Development
### Directory Structure
```text
.
├── hosts # Inventory file (create this)
├── workstation.yml # Workstation configuration playbook
├── roles/ # Ansible roles
└── Makefile # Command definitions
```
## Troubleshooting
### Common Issues
1. **Module Bugs**: If you encounter issues with community modules, try forcing an upgrade:
```bash
ansible-galaxy collection install --force community.general
```