Page Menu
Home
DevCentral
Search
Configure Global Search
Log In
Files
F55086609
D4229.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
2 KB
Referenced Files
None
Subscribers
None
D4229.diff
View Options
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
Details
Attached
Mime Type
text/plain
Expires
Tue, Oct 27, 12:56 (22 h, 27 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
4222621
Default Alt Text
D4229.diff (2 KB)
Attached To
Mode
D4229: Upgrade to Etherpad 3.3, Debian Trixie and Node 24
Attached
Detach File
Event Timeline
Log In to Comment