FROM golang:1.21-bullseye as builder WORKDIR /app COPY . . RUN mkdir ./bin; go build -buildvcs=false -o ./bin ./cmd/... FROM ubuntu:23.10 as litestream WORKDIR /download RUN apt update -y && apt install -y wget tar RUN wget https://github.com/benbjohnson/litestream/releases/download/v0.3.9/litestream-v0.3.9-linux-amd64.tar.gz; \ tar -zxf litestream-v0.3.9-linux-amd64.tar.gz; FROM ubuntu:23.10 WORKDIR /themis COPY --from=builder /app/bin/themis-server /usr/local/bin/themis-server COPY --from=litestream /download/litestream /usr/local/bin/litestream COPY --from=builder /app/start.sh ./start.sh # install ca-certificates for outbound https calls, and sqlite3 for debugging # tzdata is needed to resolve the timezone on startup RUN apt update -y; apt install -y ca-certificates sqlite3 tzdata; apt-get clean ENTRYPOINT ["./start.sh"]