Page MenuHomeDevCentral

D4229.id11093.diff
No OneTemporary

D4229.id11093.diff

diff --git a/Dockerfile b/Dockerfile
--- a/Dockerfile
+++ b/Dockerfile
@@ -2,40 +2,48 @@
# Docker image for Etherpad
#
-FROM debian:bookworm
+FROM node:24-trixie
# Forked from Tony Motakis <tvelocity@gmail.com>
-MAINTAINER Sébastien Santoro aka Dereckson <dereckson+nasqueron-docker@espace-win.org>
+LABEL maintainer="Sébastien Santoro aka Dereckson <dereckson+nasqueron-docker@espace-win.org>"
ENV NODE_ENV=production
-
-RUN apt update && \
- apt install -y curl unzip mariadb-client git sudo libssl-dev pkg-config build-essential abiword && \
- curl -sL https://deb.nodesource.com/setup_18.x | bash && \
- apt install -y nodejs && \
- rm -r /var/lib/apt/lists/*
+ENV DEBIAN_FRONTEND=noninteractive
+
+RUN apt-get update && \
+ apt-get install -y --no-install-recommends \
+ curl \
+ unzip \
+ mariadb-client \
+ git \
+ sudo \
+ libssl-dev \
+ pkg-config \
+ build-essential \
+ libreoffice-writer \
+ bash && \
+ rm -rf /var/lib/apt/lists/*
RUN cd /opt && \
git clone https://github.com/ether/etherpad-lite && \
useradd --uid 9001 --create-home etherpad && \
chown -R etherpad:0 /opt/etherpad-lite && \
- npm install npm@6 -g
+ corepack enable && \
+ corepack prepare pnpm@12.4.2 --activate
WORKDIR /opt/etherpad-lite
USER etherpad
-RUN src/bin/installDeps.sh && \
- rm -rf ~/.npm && \
- rm settings.json
-
-USER root
-RUN cd src && npm link
-USER etherpad
+RUN bin/installDeps.sh && \
+ pnpm store prune && \
+ rm -f settings.json
VOLUME /opt/etherpad-lite/var
RUN ln -s /opt/etherpad-lite/var/settings.json /opt/etherpad-lite/settings.json
+COPY entrypoint.sh /
+
EXPOSE 9001
ENTRYPOINT ["/entrypoint.sh"]
-CMD ["etherpad"]
+CMD ["sh", "-c", "cd /opt/etherpad-lite/src && exec node --require tsx/cjs node/server.ts"]
diff --git a/entrypoint.sh b/entrypoint.sh
--- a/entrypoint.sh
+++ b/entrypoint.sh
@@ -1,6 +1,12 @@
#!/bin/bash
set -e
+if [ -f settings.json ]; then
+ # Nothing to setup
+ exec "$@"
+ exit 0
+fi
+
if [ -z "$MYSQL_PORT_3306_TCP_ADDR" ]; then
echo >&2 'error: missing MYSQL_PORT_3306_TCP environment variable'
echo >&2 ' Did you forget to --link some_mysql_container:mysql ?'

File Metadata

Mime Type
text/plain
Expires
Tue, Oct 27, 09:29 (20 h, 4 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
4222621
Default Alt Text
D4229.id11093.diff (2 KB)

Event Timeline