Gitea CI/CD OCI image, that doesn't require the Docker socket
Go to file
Neale Pickett 54256d4bba Yep, works 2023-10-27 23:03:32 -06:00
Dockerfile Yep, works 2023-10-27 23:03:32 -06:00
LICENSE.md Yep, works 2023-10-27 23:03:32 -06:00
README.md Yep, works 2023-10-27 23:03:32 -06:00
entrypoint.sh Yep, works 2023-10-27 23:03:32 -06:00

README.md

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

This wants its files to live in /app. After you do the registration step, that can be mounted read-only. But it will want to write its token in the registration step.

You should provide custom tags: that's how you keep it from trying to use docker. On my raspberry pi, I used ["big-builder", "aarch64", "go", "python3", "hugo"].

Otherwise, just set this up the same way you would set up the gitea act runner.

To run in daemon mode, you have to give it daemon on the commandline: I didn't make a fancypants script to guess the command.

Adding Other Packages

Make your own image. Like so:

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 forever.
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.