Vivarium - Build packages using Docker and the OpenWrt SDK


If you are interested in developing or compiling packages for OpenWrt and dislike setting up a build environment, have I got the solution for you!

Have you heard of Docker? Yes, that Docker - why with this amazing technology, you too can be living the high life of a package developer in no time!

Perhaps you are already using a similar product... But what if I told you, instead of mucking inside of a container all day, you can be looking at build logs and examining .ipk contents from the comfort of your own host machine?

Imagine: no more copying files into and out of your container... what will they think of next?

Act now and you will also receive not one, but two whale emojis: :whale::whale2:

Click here now:

Operators are standing by!

sudo docker-composer run --rm builder make package/python/compile V=s

is that supposed to be compose ( no r )

my docker experience is low... but the guide could be clearer....

  1. example at start of git clone your repo prior to packages or similar

thanks for your effort.... i'm testing on debian stretch and will repeat when instructions are clearer... ( various yaml errors but could be me )

Yes, that's a typo - thanks!

Are there any specific points in the Getting Started section that you are confused with?

I actually don't think you should git clone the repo, since that may result in nesting git repos (if your packages directory will also be a git repo). I've added zip/tar.gz download links for step 1.

I don't get any errors when I run docker-compose. Where are you seeing these errors?

ok, followed guide again... and much better now....

we get up to;

# sudo docker-compose run --rm builder make package/python/compile V=s

ERROR: Version in "./docker-compose.yml" is unsupported. ..... etc etc.

Changing to version 2 overcomes this with my setup.....

$ uname -a
Linux nuc23 4.9.0-7-amd64 #1 SMP Debian 4.9.110-3+deb9u2 (2018-08-13) x86_64 GNU/Linux
$ docker-compose -v
docker-compose version 1.8.0, build unknown

Could use some sort of prominent notice "re initial make" duration and reason... or just breakout prior so user initiates that stage..... perhaps a simple run through of using the container for newbies might help too.... my brain is having trouble with the extra abstraction layer..... ( i know, someone who knows docker + the sdk would not have too many issues from here.... and I can work this out no probs... but would your intended audience? )


Thanks for your feedback - I've updated the README with more details.

I realize the audience (intended or not) for this tool may be "newbies", but the best documentation is still the OpenWrt site / wiki. I don't claim to make compiling packages or using the SDK easier; this tool (and other Docker-based solutions) only makes using the SDK possible without having to manually set up a build environment.

Thanks again :smile:

1 Like

Thanks, I came up with similar setup just didn't publish it yet (and I use Podman).

And I made a PR to not only build, but also to develop in your browser with Codespaces: