

I did this and the fun thing about it is that your runner can access things inside your network that a regular GitLab runner can’t. I’ve used it to manage a k8s cluster that isn’t exposed to the Internet at all.
I did this and the fun thing about it is that your runner can access things inside your network that a regular GitLab runner can’t. I’ve used it to manage a k8s cluster that isn’t exposed to the Internet at all.
I don’t think it necessarily needs to be either or. Organizing the playbooks and folders myself can be stressful so an extra layer of organization might work best for you. There are other tools like Semaphore that are specifically built for Ansible executions though. Might need a lot of duct tape for Jenkins to run Ansible.
And if you’re not a fan of yaml you can always nope out and embed shell scripts into your Playbooks. You can even put Docker compose yaml inside a playbook but it’s a bit inception-y and I don’t really recommend that.
Ansible is nice but I’ll repeat (as I said in another thread) it’s kind of advanced and gives a much better return on investment if you manage several hosts, plan to switch hosts regularly, or plan to do regular rebuilds of the environment.
Programming is generally not needed when self-hosting. At best you might learn Ansible, Puppet, Salt, or Terraform, but that’s for advanced scenarios (e.g. easily shifting the workloads between machines or into the cloud).
Learning the ins-and-outs of containers will get you the biggest return on investment. They’re not strictly necessary but most tools will expect that is the common use-case and the community won’t be as much help. Until you know more about containers I would also recommend Docker over Podman. It has a few more “conveniences” than Podman and orgs like LinuxServer will target Docker as the engine.
Right. When a request comes in, Traefik, for one, will hold the connection until the service is back up then forward the request as usual. This works for UIs as well. You’ll get a temporary loading page then redirected to the requested UI when the service is up.
It probably would work well with those as long as the startup time was quick (my containers come up almost instantly) and the initiating clients can handle a bit of latency. I didn’t notice any hiccups in my use at all.
Not useful on its own but https://sablierapp.dev/ was really useful for me in getting back resources from some of the heavyweight containers I use. For those unfamiliar with it, Sablier can stop containers that go idle and then spin them back up automatically when a request comes in. It requires Traefik, NGINX, or Caddy running always so it could complicate your server but for me I couldn’t do without it.
It’s not fully selfhosted but I did setup my own runner that integrates with their site.
Maybe a dumb question but what kind of case do you have? Hopefully not metal because I had some crazy wifi behavior before I realized the case was either dampening the signal or capturing too much noise.
Hoping it remains viable for a long time without updates. Syncing my KeePass database is really key for me. I need to fluidly add and read passwords from at least 3 devices.
Don’t know but copyright holders have demonstrated a few cases where they got AI to blatantly rip off copyrighted pictures or music.
Usually it doesn’t solve my problems but it gives me a few places to start looking. I know some models are capable of this but to get a perfectly accurate and useful response would probably require it to recall a specific piece of input it was given and not just an “average” of the inputs.
I’d agree with this recommendation. I believe there were multiple occasions where my router assigned a dynamic IP the same as some other reserved IP. Hard as hell to diagnose. Key indicator was that roughly half the packets were being lost.
Never tried Authelia or Authentik but I’ve heard good things about them. I’m sure one of them will integrate with a reverse proxy.
I like named volumes, externally created, because they are less likely to be cleaned up without explicit deletion. There’s also a few occasions I need to jump into a volume to edit files but the regular container doesn’t have the tools I need so it’s easier to mount by name rather than hash value.