I use ansible to orchestrate my servers for private projects. In particular, I often use raspberry pis or uberspace to host my services. Here, I collect the roles that I find useful. They are not polished. So, please proceed with caution 🙂
There are two collections emrys_merlin.rpi
, containing all raspberry pi-specific roles, and emrys_merlin.uberspace
, containting all uberspace-specific roles.
docker
: This role installs docker, adds the user to the docker group, and logs into the github container registrygithub_cli
: This role installsgh
and logs in a user via an access token. If thessh
protocol is specified and the token has the necessary permissions, an ssh key is uploaded to GitHub.hdd
: This role creates an encrypted partition on a drive connected to the raspberry pi and mounts it.headless
: This role can be used to boot the raspberry pi in CLI mode (no X server or wayland started).rclone
: Launch an rclone docker container to mount a webdrive. I use it to mount a pcloud folder on my raspberry pi.watchdog
: A very barebone role to launch a watchdog that checks if an IP address is reachable.web_watchr
: Rhis role launches a docker container that uses WebWatchr to monitor a website for changes.
gitea
: This role launches a gitea service on uberspace.sr_optimal_edge
: This role launches a discord bot that can be used for (min-max) Shadowrun players how to optimize their edge usage. You can find out more in this blog post
To install these collections, you can follow the Installing a collection from a git repository manual. Afterward, the roles should be available for usage in your playbooks.
For my personal use, I use git subtree
together with this repository to install the collection adjacent to my playbooks.