A collection of minimalist Ansible playbooks for automating server setups, based on DigitalOcean's Community guides.
- Initial Server Setup for Ubuntu 18.04 *
- Apache on Ubuntu 18.04
- LEMP on Ubuntu 18.04
- LAMP on Ubuntu 18.04
- WordPress with LAMP on Ubuntu 18.04
- Docker on Ubuntu 18.04
*the Initial Server Setup should be your starting point for fresh servers.
The playbooks contained in this repository were created for educational purposes, and should serve as a base for you to create your own playbooks and roles.
Although we opt to not use roles, our playbooks follow a distinctive structure to facilitate reuse while keeping them mostly self-contained and straightforward.
For instance, this is how the lemp
playbook is structured:
lemp_ubuntu1804
├── files
│ ├── info.php.j2
│ └── nginx.conf.j2
├── vars
│ └── default.yml
├── playbook.yml
└── readme.md
files/
: directory containing templates and other files required by the playbook.vars/
: directory to save variable files. Adefault.yml
var file is included by default.playbook.yml
: the playbook file.readme.md
: instructions and links related to this playbook.
To set up your Ansible environment, please follow our guide on How to Install and Configure Ansible on Ubuntu 18.04.
From your local machine or Ansible control node, run:
ansible all -m ping -u remote_user
If you're able to get a "pong" reply back from your node(s), your setup works as expected and you'll be able to run both ad-hoc commands and playbooks on your nodes, using Ansible.
The following guides cover how to use the playbooks you'll find in this repository.
Once you have executed the initial server setup, you can choose from any of the available server setup playbooks: