overleaf/services/git-bridge/Dockerfile
Christopher Hoskin 9278788bee Merge pull request #18028 from overleaf/csh-issue-18027-git-bridge-image
Run git-bridge on an image which is supported going forward

GitOrigin-RevId: be4d9ad5b8c11f206a9c5519fc016075c3114aff
2024-04-23 08:04:24 +00:00

53 lines
1.2 KiB
Docker

# Dockerfile for git-bridge
FROM maven:3-amazoncorretto-11-debian as base
RUN apt-get update && apt-get install -y make git sqlite3 \
&& rm -rf /var/lib/apt/lists
COPY vendor/envsubst /opt/envsubst
RUN chmod +x /opt/envsubst
RUN useradd --create-home node
FROM base as builder
COPY . /app
WORKDIR /app
RUN make package \
# The name of the created jar contains the current version tag.
# Rename it to a static path that can be used for copying.
&& find /app/target \
-name 'writelatex-git-bridge*jar-with-dependencies.jar' \
-exec mv {} /git-bridge.jar \;
FROM amazoncorretto:11-alpine
RUN apk add --update --no-cache git sqlite procps htop net-tools jemalloc
ENV LD_PRELOAD=/usr/lib/libjemalloc.so.2
# Install Google Cloud Profiler agent
RUN mkdir -p /opt/cprof && \
wget -q -O- https://storage.googleapis.com/cloud-profiler/java/latest/profiler_java_agent.tar.gz \
| tar xzv -C /opt/cprof
RUN adduser -D node
COPY --from=builder /git-bridge.jar /
COPY vendor/envsubst /opt/envsubst
RUN chmod +x /opt/envsubst
COPY conf/envsubst_template.json envsubst_template.json
COPY start.sh start.sh
COPY server-pro-start.sh server-pro-start.sh
RUN mkdir conf
RUN chown node:node conf
USER node
CMD ["/start.sh"]