mirror of https://github.com/matrix-org/go-neb.git
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
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/"]
|