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
README.md 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

README.md

dockerfiles

tl;dr

To build every image: $ mage all

xena/alpine

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 https://github.com/Xe/aports.

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

xena/go

$gover = "1.9"
$repo = "github.com/user/project"

from "xena/go"

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

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

[
    # vendor dependencies first so any changes to them breaks the cache.
    "vendor",
    # common prefix for code that can be reused.
    "pkg",
    # internal packages for things like database helpers.
    "internal",
    # the binaries that get run
    "cmd",
    # any scripts or tools needed for building the program
    "build",
].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"

flatten

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

tag "user/project:latest"

xena/go-mini

paths to delete when cleaning

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

xena/nim

from "xena/nim:0.17.2"

[
    "project.nimble",
    "public",
    "src",
].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 ]

flatten
tag "user/project"