docker-images/images/etherpad/Dockerfile

59 lines
1.8 KiB
Docker
Raw Permalink Normal View History

2020-09-26 13:56:36 +00:00
ARG REPO_LOCATION
# ARG BASE_VERSION
2021-04-18 12:11:52 +00:00
FROM ${REPO_LOCATION}minideb AS builder
# This is release 1.8.12
# It's important we checkout a specific commit, otherwise etherpad checks out the latest from develop O.o
ARG COMMIT=b99c2cae22f35a0c0831e2fef0719f115b486bd9
2020-09-26 13:56:36 +00:00
RUN install_packages git ca-certificates curl
2020-09-26 13:56:36 +00:00
RUN mkdir -p /srv \
&& git clone --branch master https://github.com/ether/etherpad-lite.git /srv/etherpad \
&& cd /srv/etherpad && git checkout "${COMMIT}" \
&& git status
2020-09-26 13:56:36 +00:00
###############################################################################
FROM ${REPO_LOCATION}minideb-node
COPY --from=builder /srv/etherpad /srv/etherpad
COPY settings.json /srv/etherpad/
# ENV NVM_DIR /root/.nvm
# ENV NODE_VERSION lts/erbium
# lts-erbium = Node.js 12.x
# We speculate that our problems with Etherpad are because we're using a newer version of Node.js..... :-/
# nvm needs curl to download versions of Node.js
2021-04-18 15:25:41 +00:00
# Ref https://stackoverflow.com/a/66521281/1460422
# mkdir -p /.npm \
# && chmod +x $HOME/.nvm/nvm.sh \
# && . $HOME/.nvm/nvm.sh \
# && nvm install $NODE_VERSION \
# && nvm alias default $NODE_VERSION \
# && nvm use default \
2021-04-18 13:16:42 +00:00
RUN install_packages ca-certificates curl
2021-04-18 13:47:05 +00:00
RUN curl -sSL -o - https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash || true
2021-06-25 23:07:49 +00:00
RUN mkdir /.npm \
&& cd /srv/etherpad \
&& install_packages python3 make sqlite3 libsqlite3-dev gcc g++ libc-dev libc++-dev \
2020-09-26 15:09:47 +00:00
&& ln -s /usr/bin/python3 /usr/bin/python \
&& src/bin/installDeps.sh \
&& cd src && npm install sqlite3 && cd .. \
&& rm -rf /srv/etherpad/.git /.npm/_cacache \
&& chown -R 70:70 /.npm /srv/etherpad
2020-09-27 19:23:05 +00:00
# The rm -rf there is to save some space in the resulting container
2020-09-26 13:56:36 +00:00
2020-09-27 12:20:39 +00:00
2020-09-26 13:59:25 +00:00
USER 70:70
2020-09-26 13:56:36 +00:00
2020-09-26 14:12:46 +00:00
ENV NODE_ENV production
2020-09-26 13:56:36 +00:00
WORKDIR /srv/etherpad
2020-09-26 23:17:08 +00:00
ENTRYPOINT [ "/srv/etherpad/bin/run.sh" ]