Viorel 07d4bec762 Base gitea on busybox glibc image
Build gitea from busybox glibc image.
It gets a little smaller (230M instead of 270M).
Added bash, gitea warns if not found.
2026-02-09 12:26:04 +02:00
2026-02-09 12:26:04 +02:00
2026-01-23 21:02:54 +02:00
2026-01-23 21:02:54 +02:00
2026-01-25 14:21:23 +02:00
2026-01-23 21:02:54 +02:00
2026-01-25 14:22:53 +02:00
2026-01-25 14:22:53 +02:00
2026-01-25 14:20:57 +02:00
2026-01-23 21:02:54 +02:00
2026-01-23 21:02:54 +02:00
2026-01-23 21:02:54 +02:00

What this is

Scripts and dockerfiles to build docker images based on Gentoo, but only with what is needed at runtime, i.e., without the build time dependencies.

I use some non-standard profiles that strip what is not needed.

How to use it

First copy the portage trunk in repo/gentoo/ and the ceamac trunk - miniroot branch in repo/ceamac/.

Then run src/bootstrap.sh -h and see what it says.

Build locally (to test what goes in)

For example:

src/bootstrap.sh -us -r repos/gentoo -r repos/ceamac output -a

  • -u to build unstable.
  • -s to add support for steve.
  • -r repo-name-or-path to add whatever repos you need. gentoo is added by default, even if not specified.
  • output - this can be any name, it is the name of the output directory where the --root will be.
  • optional extra arguments to emerge, added after output. For example use -a to see what would be merged before merging.

Other useful options:

  • -p profile to specify a profile (if not used, it will be asked)
  • -m make.conf to specify an alternate make.conf to be copied in $ROOT
  • -c yes to clear the output directory and rebuild all. Without -c, the build will continue and reuse the last selected profile.
  • -e used together with -c to simply clean all and not build anything.

After finishing, if all goes well, you should have a ready to use $ROOT in output as well as some useful scripts in bin, like bin/output-emerge to emerge more packages in output, bin/output-eselect to run eselect in $ROOT and bin/output-bwrap to start a bubblewrap shell inside $ROOT and test stuff.

This bootstrap script will create only a base root (@system set, without anything else).

To continue run scripts from src or manually emerge stuff.

For example src/setup-gitea.sh output [-a] to install gitea inside output.

Important note: host portage should have the same trunk as $ROOT, because that's where BDEPENDs go. In case of mismatches things can go wrong.

Build with docker

Edit the dockerfiles and run docker build. I did not add arguments.

Unfortunately docker build does not support steve.

For example:

Build the base image with docker buildx build -t gentoo-base-gnu -f Dockerfile.base.gnu .

The build the gitea image with docker buildx build -t gentoo-gitea -f Dockerfile.gitea .

It uses the base image. And the dockerfile copies the repos from repos/.

Description
Gentoo based containers
Readme 41 KiB
Languages
Shell 87.6%
Gnuplot 10.9%
Makefile 1.5%