big-builder/README.md

78 lines
1.9 KiB
Markdown

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.
Don't use the default tags, or it will think you want docker.
`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.
Note To Self
------------
```sh
~/runner/run.sh
```
I think I did it this way to isolate it from the rest of the homelab swarm?
But then why not just make a new swarm?