Big Builder =========== I personally don't want to be running CI/CD automation with full access to my Docker socket. I made this image to hold all my typical build toolset, and also the gitea runner, so now I can just say `runs-on: big-builder`, and stuff works without docker. This does mean I can't use github actions. That's okay with me: I don't want to be running node on my Raspberry Pi, either. I know how to use the Bourne shell, so I'm able to do everything I want that way. How To Set This Up ------------------ 1. Go get a runner registration token from your forgejo/gitea instance. 2. Decide in advance what tags you want to use. `big-builder,go,python3,hugo` isn't an awful choice. 3. Run the code block below. 4. Email me to let me know if these instructions worked for you! ```sh mkdir /srv/big-builder docker run --rm -it -u 0:0 -v /srv/big-builder:/app big-builder # This will ask you 3 questions docker run -d --restart=always -v /srv/big-builder:/app:ro big-builder daemon ``` On my raspberry pi, I used the tags `aarch64,big-builder,go,python3,hugo`. More documentation is at [gitea act runner](https://docs.gitea.com/usage/actions/act-runner). Adding Other Packages --------------------- Make your own image. Like so: ```Dockerfile FROM big-builder RUN apk --no-cache add nethack ``` Even better, steal this one's Dockerfile and add stuff to it. You shouldn't trust my image to be malware-free. Caveats ------- Right now (October 2023), if anything tries to read from the tty, the runner just sits there, like POST BIOS patiently waiting for someone to press F1. This is a problem with the runner that they might fix one day. Just something to bear in mind: I spent a bit of time chasing this one down.