You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

44 lines
1.0 KiB

# Build go-neb
FROM golang:1.18-alpine as builder
RUN apk add --no-cache -t build-deps git gcc musl-dev go make cmake g++
RUN git clone https://gitlab.matrix.org/matrix-org/olm.git /tmp/libolm \
&& cd /tmp/libolm \
&& cmake . -Bbuild \
&& cmake --build build --target install
COPY . /tmp/go-neb
WORKDIR /tmp/go-neb
RUN go install honnef.co/go/tools/cmd/staticcheck@latest \
&& go install github.com/fzipp/gocyclo/cmd/gocyclo@latest \
&& go build github.com/matrix-org/go-neb
# Ensures we're lint-free
RUN /tmp/go-neb/hooks/pre-commit
# Run go-neb
FROM alpine:3.13
ENV BIND_ADDRESS=:4050 \
DATABASE_TYPE=sqlite3 \
DATABASE_URL=/data/go-neb.db?_busy_timeout=5000 \
UID=1337 \
GID=1337
COPY --from=builder /tmp/go-neb/go-neb /usr/local/bin/go-neb
# Copy libolm.so
COPY --from=builder /usr/local/lib/* /usr/local/lib/
RUN apk add --no-cache \
libstdc++ \
ca-certificates \
su-exec \
s6
VOLUME /data
EXPOSE 4050
COPY docker/root /
ENTRYPOINT ["/bin/s6-svscan", "/etc/s6.d/"]