this post was submitted on 24 Aug 2023
6 points (100.0% liked)

FOSS (സ്വതന്ത്ര സോഫ്റ്റ്‌വെയർ)

4 readers
1 users here now

Community to discuss about opensource software, GNU/Linux , and news

Other communities in this instance

!malayalam_movies@kerala.party !foss@kerala.party !technology@kerala.party !music@kerala.party !memes@kerala.party !gaming@kerala.party !politics@kerala.party !foodporn@kerala.party !lalsalaam@kerala.party !astronomy@kerala.party !askkerala@kerala.party !nostalgia@kerala.party !cricket@kerala.party !football@kerala.party !automobiles@kerala.party

For discussion about this instance

!meta@kerala.party

founded 1 year ago
MODERATORS
 

To use it, follow the readme to set up ansible and an ssh connection to your server. Edit the varibales in var/main.yml and run the playbook with ansible-playbook roles_playbook.yml -K.

Also check out the lemmy and pixelfed docker installation playbooks.

you are viewing a single comment's thread
view the rest of the comments
[–] A10@kerala.party 3 points 1 year ago

It is like a very well written shell script. An Ansible playbook is a set of tasks that are executed one at a time. These tasks are highly customisable and can easily be run on multiple servers. The killer feature is idempotency : you can describe the desired state of the task you want (e.g. copy a config file to a directory) and execute the task any number of times and always get the same result (e.g. all boundary conditions like file already exists at source, parent directory missing, permissions etc. are automatically handled by the ansible file copy task. Bonus feature: you can also replace fields like passwords in this file with values you define in your encrypted vault (like docker secrets/github secrets)). Writing a shell script to handle all these special cases is madness. There is a huge collection of ansible task libraries for everything from software installation, tools, etc.