• 0 Posts
  • 3 Comments
Joined 3 months ago
cake
Cake day: November 13th, 2025

help-circle
  • No that’s totally fair! I’m a huge fan of making things reproducible since I’ve ran into too many situations where things need to be rebuilt, and always open to ways to improve it. At home I use ansible to configure everything, and at work we use ansible and declare our entire Jenkins instance as (real) code. I don’t really have the time for (and I’m low-key scared of the rabbit hole that is) Nix, and to me my homelab is something that is configured (idempotently) rather than something I wanted to handle with scripts.

    I even wrote some pytest-like scripts to test the playbooks to give more productive errors than their example errors, since I too know that pain well :D

    That said, I’ve never heard of PyInfra, and am definitely interested in learning more and checking out that talk. Do you know if the talk will be recorded? I’m not sure I can watch it live. Edit: Found a page of all the recordings of that room from last year’s event https://video.fosdem.org/2025/ua2220/ So I’m guessing it will be available. Thank you for sharing this! :D

    I love the “Warning: This talk may cause uncontrollable urges to refactor all your Ansible playbooks” lol I’m ready



  • If you’ll let me self promote for a second, this was part of the inspiration for my Ansible Homelab Orchestration project. After dealing with a lot of those projects that practically force you to read through the code to get a working environment, I wanted a way to reproducably spin up my entire homelab should I need to move computers or if my computer dies (both of which have happened, and having a setup like this helped tremendously). So far the ansible playbook supports 117 applications, most of which can be enabled with a single configuration line:

    immich_enabled: true
    nextcloud_enabled: true
    

    And it will orchestrate all the containers, networks, directories, etc for you with reasonable defaults. All of which can be overwritten, for example to enable extra features like hardware acceleration:

    immich_hardware_acceleration: "-cuda"
    

    Or to automatically get a letsencrypt cert and expose the application on a subdomain to the outside world:

    immich_available_externally: true
    

    It also comes with scripts and tests to help add your own applications and ensure they work properly

    I also spent a lot of time writing the documentation so no one else had to suffer through some of the more complicated applications haha (link)

    Edit: I am personally running 74 containers through this setup, complete with backups, automatic ssl cert renewal, and monitoring