Skip to content

Commit

Permalink
chore(docker): Move main Dockerfile's to build folder
Browse files Browse the repository at this point in the history
Signed-off-by: Bartłomiej Święcki <bart@codenotary.com>
  • Loading branch information
Bartłomiej Święcki committed Sep 6, 2022
1 parent 30e349c commit 74288a0
Show file tree
Hide file tree
Showing 5 changed files with 90 additions and 0 deletions.
90 changes: 90 additions & 0 deletions build/Dockerfile
@@ -0,0 +1,90 @@
FROM golang:1.18 as build
WORKDIR /src
COPY go.mod go.sum /src/
RUN go mod download -x
COPY . .
RUN rm -rf /src/webconsole/dist
RUN GOOS=linux GOARCH=amd64 WEBCONSOLE=default make immuadmin-static immudb-static
RUN mkdir /empty

FROM debian:bullseye-slim as bullseye-slim
LABEL org.opencontainers.image.authors="Codenotary Inc. <info@codenotary.com>"

COPY --from=build /src/immudb /usr/sbin/immudb
COPY --from=build /src/immuadmin /usr/local/bin/immuadmin
COPY --from=build "/etc/ssl/certs/ca-certificates.crt" "/etc/ssl/certs/ca-certificates.crt"

ARG IMMU_UID="3322"
ARG IMMU_GID="3322"

ENV IMMUDB_HOME="/usr/share/immudb" \
IMMUDB_DIR="/var/lib/immudb" \
IMMUDB_ADDRESS="0.0.0.0" \
IMMUDB_PORT="3322" \
IMMUDB_PIDFILE="" \
IMMUDB_LOGFILE="" \
IMMUDB_MTLS="false" \
IMMUDB_AUTH="true" \
IMMUDB_DETACHED="false" \
IMMUDB_DEVMODE="true" \
IMMUDB_MAINTENANCE="false" \
IMMUDB_ADMIN_PASSWORD="immudb" \
IMMUDB_PGSQL_SERVER="true" \
IMMUADMIN_TOKENFILE="/var/lib/immudb/admin_token"

RUN addgroup --system --gid $IMMU_GID immu && \
adduser --system --uid $IMMU_UID --no-create-home --ingroup immu immu && \
mkdir -p "$IMMUDB_HOME" && \
mkdir -p "$IMMUDB_DIR" && \
chown -R immu:immu "$IMMUDB_HOME" "$IMMUDB_DIR" && \
chmod -R 777 "$IMMUDB_HOME" "$IMMUDB_DIR" && \
chmod +x /usr/sbin/immudb /usr/local/bin/immuadmin

EXPOSE 3322
EXPOSE 9497
EXPOSE 8080
EXPOSE 5432

HEALTHCHECK --interval=30s --timeout=30s --start-period=5s --retries=3 CMD [ "/usr/local/bin/immuadmin", "status" ]
USER immu
ENTRYPOINT ["/usr/sbin/immudb"]


FROM scratch as scratch
LABEL org.opencontainers.image.authors="Codenotary Inc. <info@codenotary.com>"

ARG IMMU_UID="3322"
ARG IMMU_GID="3322"
ARG IMMUDB_HOME="/usr/share/immudb"

ENV IMMUDB_HOME="${IMMUDB_HOME}" \
IMMUDB_DIR="/var/lib/immudb" \
IMMUDB_ADDRESS="0.0.0.0" \
IMMUDB_PORT="3322" \
IMMUDB_PIDFILE="" \
IMMUDB_LOGFILE="" \
IMMUDB_MTLS="false" \
IMMUDB_AUTH="true" \
IMMUDB_DETACHED="false" \
IMMUDB_DEVMODE="true" \
IMMUDB_MAINTENANCE="false" \
IMMUDB_ADMIN_PASSWORD="immudb" \
IMMUDB_PGSQL_SERVER="true" \
IMMUADMIN_TOKENFILE="/var/lib/immudb/admin_token" \
USER=immu \
HOME="${IMMUDB_HOME}"

COPY --from=build /src/immudb /usr/sbin/immudb
COPY --from=build /src/immuadmin /usr/local/bin/immuadmin
COPY --from=build --chown="$IMMU_UID:$IMMU_GID" /empty "$IMMUDB_HOME"
COPY --from=build --chown="$IMMU_UID:$IMMU_GID" /empty "$IMMUDB_DIR"
COPY --from=build "/etc/ssl/certs/ca-certificates.crt" "/etc/ssl/certs/ca-certificates.crt"

EXPOSE 3322
EXPOSE 9497
EXPOSE 8080
EXPOSE 5432

HEALTHCHECK --interval=30s --timeout=30s --start-period=5s --retries=3 CMD [ "/usr/local/bin/immuadmin", "status" ]
USER "${IMMU_UID}:${IMMU_GID}"
ENTRYPOINT ["/usr/sbin/immudb"]
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 comments on commit 74288a0

Please sign in to comment.