2018-10-08 05:36:20 -04:00
|
|
|
# Dockerfile for git-bridge
|
|
|
|
|
2021-06-21 05:57:16 -04:00
|
|
|
FROM maven:3-jdk-11 as base
|
2020-12-10 09:51:05 -05:00
|
|
|
|
2021-07-02 08:16:31 -04:00
|
|
|
RUN apt-get update && apt-get install -y make git sqlite3 build-essential dpkg-dev
|
|
|
|
|
|
|
|
RUN echo "deb-src http://deb.debian.org/debian buster main" >> /etc/apt/sources.list && \
|
|
|
|
echo "deb-src http://deb.debian.org/debian buster-updates main" >> /etc/apt/sources.list && \
|
|
|
|
echo "deb-src http://security.debian.org/debian-security buster/updates main" >> /etc/apt/sources.list
|
|
|
|
|
|
|
|
RUN mkdir -p /build
|
|
|
|
WORKDIR /build
|
|
|
|
|
|
|
|
RUN apt-get update && \
|
|
|
|
apt-get -y source libjemalloc-dev && \
|
|
|
|
apt-get -y build-dep libjemalloc-dev && \
|
|
|
|
echo "override_dh_auto_configure:" >> jemalloc-5.1.0/debian/rules && \
|
|
|
|
echo "\tdh_auto_configure -- --enable-debug --enable-fill --enable-prof --enable-stat" >> jemalloc-5.1.0/debian/rules && \
|
|
|
|
cat jemalloc-5.1.0/debian/rules
|
|
|
|
|
|
|
|
WORKDIR /build/jemalloc-5.1.0
|
|
|
|
RUN dpkg-buildpackage
|
|
|
|
|
|
|
|
RUN rm -rf /var/lib/apt/lists
|
2020-12-10 09:51:05 -05:00
|
|
|
|
2021-05-07 04:44:29 -04:00
|
|
|
COPY vendor/envsubst /opt/envsubst
|
|
|
|
RUN chmod +x /opt/envsubst
|
|
|
|
|
2020-12-10 09:51:05 -05:00
|
|
|
RUN useradd --create-home node
|
|
|
|
|
|
|
|
FROM base as builder
|
2018-10-08 05:36:20 -04:00
|
|
|
|
2021-05-07 04:44:29 -04:00
|
|
|
COPY . /app
|
|
|
|
|
2019-04-17 07:45:21 -04:00
|
|
|
WORKDIR /app
|
|
|
|
|
2020-12-10 09:51:05 -05:00
|
|
|
RUN make package \
|
2019-04-17 07:45:21 -04:00
|
|
|
# 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 \;
|
|
|
|
|
2021-06-21 05:57:16 -04:00
|
|
|
FROM openjdk:11-jre
|
2019-04-17 07:45:21 -04:00
|
|
|
|
2021-06-21 06:02:29 -04:00
|
|
|
RUN apt-get update && apt-get install -y git sqlite3 procps htop net-tools sockstat \
|
2020-12-10 09:51:05 -05:00
|
|
|
&& rm -rf /var/lib/apt/lists
|
2019-04-26 14:07:58 -04:00
|
|
|
|
2021-06-23 09:58:49 -04:00
|
|
|
# Install Google Cloud Profiler agent
|
2021-06-23 09:22:04 -04:00
|
|
|
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
|
|
|
|
|
2021-06-23 09:58:49 -04:00
|
|
|
# Install Google Cloud Debugger agent
|
|
|
|
RUN mkdir /opt/cdbg && \
|
|
|
|
wget -qO- https://storage.googleapis.com/cloud-debugger/compute-java/debian-wheezy/cdbg_java_agent_gce.tar.gz | \
|
|
|
|
tar xvz -C /opt/cdbg
|
|
|
|
|
2020-12-10 09:51:05 -05:00
|
|
|
RUN useradd --create-home node
|
2019-04-17 07:45:21 -04:00
|
|
|
|
2020-12-10 09:51:05 -05:00
|
|
|
COPY --from=builder /git-bridge.jar /
|
2021-07-02 08:16:31 -04:00
|
|
|
COPY --from=builder /build/*.deb /tmp/
|
|
|
|
|
|
|
|
RUN dpkg -i /tmp/libjemalloc*.deb
|
2020-12-10 09:51:05 -05:00
|
|
|
|
2021-05-07 04:44:29 -04:00
|
|
|
COPY vendor/envsubst /opt/envsubst
|
|
|
|
RUN chmod +x /opt/envsubst
|
|
|
|
|
2021-04-30 10:47:07 -04:00
|
|
|
COPY conf/envsubst_template.json envsubst_template.json
|
|
|
|
COPY start.sh start.sh
|
|
|
|
|
|
|
|
RUN mkdir conf
|
|
|
|
RUN chown node:node conf
|
|
|
|
|
2020-12-10 09:51:05 -05:00
|
|
|
USER node
|
2021-05-07 04:44:29 -04:00
|
|
|
|
2021-05-12 07:32:14 -04:00
|
|
|
CMD ["/start.sh"]
|