Skip to content

Commit

Permalink
Merge pull request #756 from mcserep/docker-odb-refactor
Browse files Browse the repository at this point in the history
Fix ODB installation in web Docker image
  • Loading branch information
intjftw authored Jul 1, 2024
2 parents c2acf2c + 7bd63f1 commit 2b5a216
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 19 deletions.
5 changes: 3 additions & 2 deletions docker/dev/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@ ENV DATABASE=sqlite \
TEST_DB="sqlite:database=$TEST_WORKSPACE/cc_test.sqlite" \
WITH_AUTH="plain;ldap" \
LLVM_DIR=/usr/lib/llvm-11/cmake \
Clang_DIR=/usr/lib/cmake/clang-11
Clang_DIR=/usr/lib/cmake/clang-11 \
CMAKE_PREFIX_PATH=/opt/odb

ENV PATH="$INSTALL_DIR/bin:$PATH"
ENV PATH="$INSTALL_DIR/bin:/opt/odb/bin:$PATH"
4 changes: 2 additions & 2 deletions docker/dev/install_odb.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ cd /odb_build
bpkg create --quiet --jobs $(nproc) cc \
config.cxx=g++ \
config.cc.coptions=-O3 \
config.bin.rpath=/usr/local/lib \
config.install.root=/usr/local
config.bin.rpath=/opt/odb/lib \
config.install.root=/opt/odb
# Getting the source
bpkg add https://pkg.cppget.org/1/beta --trust-yes
bpkg fetch --trust-yes
Expand Down
11 changes: 5 additions & 6 deletions docker/runtime/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -51,9 +51,6 @@ ARG DEBIAN_FRONTEND=noninteractive
ARG CC_DATABASE
ENV CC_DATABASE ${CC_DATABASE}

# Copy install script
COPY docker/dev/install_odb.sh /

RUN set -x && apt-get update -qq && \
apt-get install -qq --yes --no-install-recommends \
curl ca-certificates gnupg \
Expand All @@ -80,14 +77,16 @@ RUN set -x && apt-get update -qq && \
apt-get install -qq --yes --no-install-recommends \
libsqlite3-dev; \
fi && \
sh /install_odb.sh "${CC_DATABASE}" && \
apt-get clean && \
rm -rf /var/lib/apt/lists/ && \
set +x

# Copy CodeCompass installed directory. (Change permission of the CodeCompass package.)
# Copy ODB install directory.
COPY --from=builder /opt/odb /opt/odb

# Copy CodeCompass install directory.
COPY --from=builder /CodeCompass-install /codecompass

ENV PATH="/codecompass/bin:$PATH"
ENV PATH="/codecompass/bin:/opt/odb/bin:$PATH"

ENTRYPOINT ["tini", "--"]
14 changes: 5 additions & 9 deletions docker/web/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,6 @@ FROM ubuntu:22.04
# variable prevents this interaction.
ARG DEBIAN_FRONTEND=noninteractive

# Copy install script
COPY docker/dev/install_odb.sh /

RUN set -x && apt-get update -qq \
&& apt-get install -qqy --no-install-recommends \
llvm-11 \
Expand All @@ -43,9 +40,6 @@ RUN set -x && apt-get update -qq \
&& rm -rf /var/lib/apt/lists/ \
&& set +x

# Build ODB from source
RUN sh /install_odb.sh && rm /install_odb.sh

# Install NodeJS from NodeSource.
RUN mkdir -p /etc/apt/keyrings && \
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg && \
Expand All @@ -55,22 +49,24 @@ RUN mkdir -p /etc/apt/keyrings && \
apt-get clean && \
rm -rf /var/lib/apt/lists/

# Copy ODB install directory.
COPY --from=runtime /opt/odb /opt/odb

ARG CC_GID=960
ARG CC_UID=960

ENV CC_GID ${CC_GID}
ENV CC_UID ${CC_UID}


# Create user and group for CodeCompass.
RUN groupadd --system codecompass --gid ${CC_GID} && \
useradd --system --no-log-init --no-create-home --uid ${CC_UID} --gid codecompass codecompass

# Copy CodeCompass installed directory. (Change permission of the CodeCompass package.)
# Copy CodeCompass install directory. (Change permission of the CodeCompass package.)
# TODO: only the webserver's binaries should be included in this image.
COPY --from=runtime --chown=codecompass:codecompass /codecompass /codecompass

ENV PATH="/codecompass/bin:$PATH"
ENV PATH="/codecompass/bin:/opt/odb/bin:$PATH"

COPY --chown=codecompass:codecompass docker/web/entrypoint.sh /usr/local/bin/entrypoint.sh
RUN chmod a+x /usr/local/bin/entrypoint.sh
Expand Down

0 comments on commit 2b5a216

Please sign in to comment.