Browse Source

Merge pull request #4 from Dreamwalker666/master+multistage

Issue #2 Use new multi-stage builds in Docker
pull/7/head
Daniel Oaks 5 years ago
parent
commit
b31ff39003
No account linked to committer's email address
2 changed files with 25 additions and 25 deletions
  1. 25
    8
      Dockerfile
  2. 0
    17
      run.sh

+ 25
- 8
Dockerfile View File

@@ -6,20 +6,37 @@ RUN apt-get install -y git
6 6
 RUN mkdir -p /go/src/github.com/oragono
7 7
 WORKDIR /go/src/github.com/oragono
8 8
 
9
-RUN git clone https://github.com/oragono/oragono.git
9
+RUN git clone -b stable https://github.com/oragono/oragono.git
10 10
 WORKDIR /go/src/github.com/oragono/oragono
11 11
 RUN git submodule update --init
12
-RUN make linux
13 12
 
14
-# run in Alpine, being a lightweight distro
15
-FROM alpine:latest
13
+# compile
14
+RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags "-s" -o build/docker/oragono oragono.go
15
+
16
+# run in a lightweight distro
17
+FROM alpine
18
+
19
+# install latest updates and configure alpine
20
+RUN apk update
21
+RUN apk upgrade
22
+RUN mkdir /lib/modules
23
+
24
+# standard ports listened on
16 25
 EXPOSE 6667/tcp 6697/tcp
17 26
 
27
+# prep and copy oragono from build environment
18 28
 RUN mkdir -p /ircd
19 29
 WORKDIR /ircd
30
+COPY --from=build-env /go/src/github.com/oragono/oragono/build/docker/ .
31
+COPY --from=build-env /go/src/github.com/oragono/oragono/oragono.yaml ./ircd.yaml
32
+
33
+# init
34
+RUN ./oragono initdb
35
+RUN ./oragono mkcerts
20 36
 
21
-COPY --from=build-env /go/src/github.com/oragono/oragono/build/oragono-XXX-linux.tgz /
22
-RUN tar -xzf /oragono-XXX-linux.tgz
23
-COPY run.sh /ircd
37
+# launch
38
+CMD ./oragono run
24 39
 
25
-CMD ["./run.sh"]
40
+# uncomment to debug
41
+#RUN apk add bash nano
42
+#CMD /bin/bash

+ 0
- 17
run.sh View File

@@ -1,17 +0,0 @@
1
-#!/bin/sh
2
-
3
-set -e
4
-
5
-if [ ! -f ./ircd.yaml ]; then
6
-  cp oragono.yaml ircd.yaml
7
-fi
8
-
9
-if [ ! -f ircd.db ]; then
10
-  ./oragono initdb
11
-fi
12
-
13
-if [ ! -f tls.crt ]; then
14
-  ./oragono mkcerts
15
-fi
16
-
17
-exec ./oragono run

Loading…
Cancel
Save