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 installsghand logs in a user via an access token. If thesshprotocol 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.