2019-11-22 18:48:53 +01:00
|
|
|
## build Oragono
|
2020-02-26 11:55:12 +01:00
|
|
|
FROM golang:1.14-alpine AS build-env
|
2019-11-22 18:48:53 +01:00
|
|
|
|
|
|
|
RUN apk add --no-cache git make curl
|
|
|
|
|
|
|
|
# copy oragono
|
|
|
|
RUN mkdir -p /go/src/github.com/oragono/oragono
|
|
|
|
WORKDIR /go/src/github.com/oragono/oragono
|
|
|
|
ADD . /go/src/github.com/oragono/oragono/
|
|
|
|
|
|
|
|
# make sure submodules are up-to-date
|
|
|
|
RUN git submodule update --init
|
|
|
|
|
|
|
|
# compile
|
|
|
|
RUN make
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## run Oragono
|
|
|
|
FROM alpine:3.9
|
|
|
|
|
|
|
|
# metadata
|
|
|
|
LABEL maintainer="daniel@danieloaks.net"
|
|
|
|
LABEL description="Oragono is a modern, experimental IRC server written in Go"
|
|
|
|
|
|
|
|
# install latest updates and configure alpine
|
|
|
|
RUN apk update
|
|
|
|
RUN apk upgrade
|
|
|
|
RUN mkdir /lib/modules
|
|
|
|
|
|
|
|
# standard ports listened on
|
|
|
|
EXPOSE 6667/tcp 6697/tcp
|
|
|
|
|
|
|
|
# oragono itself
|
|
|
|
RUN mkdir -p /ircd-bin
|
|
|
|
COPY --from=build-env /go/bin/oragono /ircd-bin
|
|
|
|
COPY --from=build-env /go/src/github.com/oragono/oragono/languages /ircd-bin/languages/
|
|
|
|
COPY --from=build-env /go/src/github.com/oragono/oragono/oragono.yaml /ircd-bin/oragono.yaml
|
2020-03-07 10:02:33 +01:00
|
|
|
|
|
|
|
# modify default config file so that it doesn't die on IPv6
|
|
|
|
# and so it can be exposed via 6667 by default
|
|
|
|
RUN apk add --no-cache python3
|
|
|
|
RUN apk add --no-cache jq
|
|
|
|
RUN pip3 install yq
|
|
|
|
RUN yq -iy 'del(.server.listeners."[::1]:6667") | del(.server.listeners."127.0.0.1:6667") | .server.listeners += {":6667": {}}' /ircd-bin/oragono.yaml
|
|
|
|
|
2019-11-22 18:48:53 +01:00
|
|
|
COPY distrib/docker/run.sh /ircd-bin/run.sh
|
|
|
|
RUN chmod +x /ircd-bin/run.sh
|
|
|
|
|
|
|
|
# running volume holding config file, db, certs
|
|
|
|
VOLUME /ircd
|
|
|
|
WORKDIR /ircd
|
|
|
|
|
|
|
|
# default motd
|
|
|
|
COPY --from=build-env /go/src/github.com/oragono/oragono/oragono.motd /ircd/oragono.motd
|
|
|
|
|
|
|
|
# launch
|
|
|
|
ENTRYPOINT ["/ircd-bin/run.sh"]
|
|
|
|
|
|
|
|
# # uncomment to debug
|
|
|
|
# RUN apk add --no-cache bash
|
|
|
|
# RUN apk add --no-cache vim
|
|
|
|
# CMD /bin/bash
|