I'm starting to learn Ansible and have already read some of the official documentation, but I'm looking for a beginner-friendly resource that makes the concepts click. I also have a Proxmox homelab and would like a practical project I can repeatedly build, destroy, and rebuild while learning. What tutorials, books, or hands-on exercises would you recommend, and what would be a good first automation project?
4 Answers
The Ansible 101 tutorials and the book Ansible for DevOps are excellent starting points. They explain the basics clearly and give you practical examples without assuming too much prior knowledge.
Pick a project that is genuinely useful to you instead of trying to learn every module first. For example, automate the complete setup of a small service: basic OS configuration, package installation, directories, configuration templates, and the system service. Build it one task at a time and make every task safe to run repeatedly. Later, split the playbook into roles and add inventory-specific variables, templates, error handling, and encrypted variables. For creating the actual VMs or containers, a provisioning tool such as Terraform can complement Ansible; Ansible is generally better suited to configuring systems after they exist.
Use your Proxmox environment to practice rebuilding a VM or container from scratch. Create a fresh instance, save a snapshot so you can reset it easily, and write playbooks to configure users, packages, services, files, and other settings. Once it matches your intended setup, destroy it and repeat the process. Keep the playbooks in Git so they become a recovery plan for your lab.
Start with the smallest possible tasks. Set up an inventory, confirm connectivity with the ping module, and then write simple YAML playbooks that install a package, create a user, or copy a configuration file. After that, learn variables, templates, conditionals, handlers, and roles. Re-run everything often so you can see why idempotency matters. An interactive beginner tutorial and the official documentation can help reinforce the structure.

That sounds like a great approach. I’ll start with one disposable VM and build up the configuration step by step.