My dockerfiles
Go to file
Cadey Ratio 035eb6b78b update README 2017-09-27 23:41:05 -07:00
base/alpine alpine: upgrade xeserv-keys 2017-05-07 17:51:27 +00:00
games fix builds and update everything 2017-01-09 15:28:20 -08:00
lang lang/all: upgrade versions 2017-09-27 23:00:57 -07:00
.gitignore add build system for the images using mage 2017-09-27 23:01:24 -07:00 update README 2017-09-27 23:41:05 -07:00
UNLICENSE Add UNLICENSE 2015-02-16 16:59:11 -08:00
mage.go add build system for the images using mage 2017-09-27 23:01:24 -07:00



To build every image: $ mage all


My custom spin of Alpine Linux for containers with runit as a process manager. This also starts syslog in every container and adds my custom repo whose apkbuilds are at

This is based on alpine edge. I can make a version based on a stable branch if there is interest however.


$gover = "1.9"
$repo = ""

from "xena/go"

def foldercopy(dir)
  copy "#{dir}", "/root/go/src/#{$repo}/#{dir}"

def gobuild(pkg)
  run "go build #{$repo}/#{pkg} && go install #{$repo}/#{pkg}"

    # vendor dependencies first so any changes to them breaks the cache.
    # common prefix for code that can be reused.
    # internal packages for things like database helpers.
    # the binaries that get run
    # any scripts or tools needed for building the program
].each { |x| foldercopy x }

gobuild "cmd/foobar"
run "cp /go/bin/foobar /usr/local/bin/foobar"

run "rm -rf /usr/local/go /go/pkg /go/bin"


workdir "/go/src/#{$repo}"
cmd "/usr/local/bin/foobar"

tag "user/project:latest"


paths to delete when cleaning

  • /root/sdk
  • /root/go/pkg
  • /root/go/bin


from "xena/nim:0.17.2"

].each { |x| copy x, "/app/" + x }

run "cd /app && nimble update && yes | nimble build"

cmd "sh -c 'cd /app && ./project'"

# clean up
run %q[ rm -rf /root/.nimble /opt ./src/nimcache && apk del libc-dev gcc curl libgcc git perl xz tar nim-compiler-deps ]

tag "user/project"