From f32c0c34f345fb61646dcab87db4c2ab6dbb23be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arma=C3=ABl=20Gu=C3=A9neau?= Date: Thu, 7 Nov 2024 23:21:50 +0100 Subject: =?UTF-8?q?cryptpad-debug:=20essai=20avec=20un=20Dockerfile=20basi?= =?UTF-8?q?que=20plut=C3=B4t=20que=20construit=20par=20nix?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cluster/prod/app/cryptpad/build_docker/Dockerfile | 59 ++++++++++++++++++++++ .../prod/app/cryptpad/deploy/cryptpad-debug.hcl | 2 +- 2 files changed, 60 insertions(+), 1 deletion(-) create mode 100644 cluster/prod/app/cryptpad/build_docker/Dockerfile diff --git a/cluster/prod/app/cryptpad/build_docker/Dockerfile b/cluster/prod/app/cryptpad/build_docker/Dockerfile new file mode 100644 index 0000000..0987521 --- /dev/null +++ b/cluster/prod/app/cryptpad/build_docker/Dockerfile @@ -0,0 +1,59 @@ +# SPDX-FileCopyrightText: 2023 XWiki CryptPad Team and contributors +# +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# Tweaks by Deuxfleurs + +# Multistage build to reduce image size and increase security +FROM node:lts-slim AS build +ENV DEBIAN_FRONTEND=noninteractive + +RUN apt-get update && apt-get install --no-install-recommends -y \ + ca-certificates tar wget + +# Download the release tarball +RUN wget https://github.com/cryptpad/cryptpad/archive/refs/tags/2024.9.0.tar.gz -O cryptpad.tar.gz + +# Create folder for CryptPad +RUN mkdir /cryptpad + +# Extract the release into /cryptpad +RUN tar xvzf cryptpad.tar.gz -C /cryptpad --strip-components 1 + +# Go to /cryptpad +WORKDIR /cryptpad + +# Install dependencies +RUN npm install --production && npm run install:components + +# Create the actual CryptPad image +FROM node:lts-slim +ENV DEBIAN_FRONTEND=noninteractive + +# Install curl for healthcheck +# Install git, rdfind and unzip for install-onlyoffice.sh +RUN apt-get update && apt-get install --no-install-recommends -y \ + curl ca-certificates git rdfind unzip && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists/* + +# Copy cryptpad with installed modules +COPY --from=build /cryptpad /cryptpad + +# Set workdir to cryptpad +WORKDIR /cryptpad + +# Install onlyoffice +RUN ./install-onlyoffice.sh --accept-license --trust-repository + +# Build static pages (?) unsure we need this +RUN npm run build + +# Healthcheck +HEALTHCHECK --interval=1m CMD curl -f http://localhost:3000/ || exit 1 + +# Ports +EXPOSE 3000 3003 + +# Run cryptpad on startup +CMD ["npm", "start"] diff --git a/cluster/prod/app/cryptpad/deploy/cryptpad-debug.hcl b/cluster/prod/app/cryptpad/deploy/cryptpad-debug.hcl index 19fceae..3ef1ecf 100644 --- a/cluster/prod/app/cryptpad/deploy/cryptpad-debug.hcl +++ b/cluster/prod/app/cryptpad/deploy/cryptpad-debug.hcl @@ -26,7 +26,7 @@ job "cryptpad-debug" { } config { - image = "kokakiwi/cryptpad:2024.6.1" + image = "armael/cryptpad:2024.9.0" ports = [ "http" ] volumes = [ -- cgit v1.2.3