blob: d479bc5a6f6104057b61c0e43d63f531e123e63a [file] [log] [blame]
ARG FDB_VERSION
ARG ELIXIR_VERSION
# Grab fdbcli and client library from same image as server
FROM foundationdb/foundationdb:${FDB_VERSION} as fdb
# Debian image with Erlang + Elixir installed (we need elixir for test suite)
FROM elixir:${ELIXIR_VERSION}
# The FROM directive above sweeps out the ARGs so we need to re-declare here
# in order to use it again to download the FDB client package
ARG FDB_VERSION
# Install SpiderMonkey 60 and tell CouchDB to use it in configure
ARG SM_VSN
ENV SM_VSN=${SM_VSN:-60}
# Workaround for Debian's temporary lack of trust in FDB Root CA
RUN set -ex; \
wget https://www.geotrust.com/resources/root_certificates/certificates/GeoTrust_Global_CA.pem; \
wget --ca-certificate=GeoTrust_Global_CA.pem https://www.foundationdb.org/downloads/${FDB_VERSION}/ubuntu/installers/foundationdb-clients_${FDB_VERSION}-1_amd64.deb; \
mkdir /var/lib/foundationdb; \
dpkg -i foundationdb-clients_${FDB_VERSION}-1_amd64.deb
# Use NodeSource binaries for Node.js (Fauxton dependency)
RUN set -ex; \
curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add -; \
echo "deb https://deb.nodesource.com/node_10.x buster main" | tee /etc/apt/sources.list.d/nodesource.list; \
echo "deb-src https://deb.nodesource.com/node_10.x buster main" | tee -a /etc/apt/sources.list.d/nodesource.list
RUN set -ex; \
apt-get update; \
apt-get install -y --no-install-recommends \
dnsutils \
libmozjs-${SM_VSN}-dev \
libicu-dev \
python3-venv \
python3-pip \
python3-sphinx \
nodejs
# Documentation theme
RUN pip3 install sphinx_rtd_theme
COPY --from=fdb /var/fdb/scripts/create_cluster_file.bash /usr/local/bin/
CMD sleep infinity