Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 12 additions & 11 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# https://github.com/ether/etherpad-lite
#
# Author: muxator
ARG BUILD_ENV=git
ARG BUILD_ENV=copy

FROM node:lts-alpine AS adminbuild
RUN npm install -g pnpm@latest
Expand All @@ -21,7 +21,7 @@ ARG http_proxy=
ARG https_proxy=
ARG no_proxy=

ARG TIMEZONE=
ARG TIMEZONE=Asia/Shanghai

RUN \
[ -z "${TIMEZONE}" ] || { \
Expand Down Expand Up @@ -64,15 +64,15 @@ ARG ETHERPAD_GITHUB_PLUGINS=
#
# EXAMPLE:
# INSTALL_ABIWORD=true
ARG INSTALL_ABIWORD=
ARG INSTALL_ABIWORD=false

# Control whether libreoffice will be installed, enabling exports to DOC/PDF/ODT formats.
# By default, it is not installed.
# If given any value, libreoffice will be installed.
#
# EXAMPLE:
# INSTALL_LIBREOFFICE=true
ARG INSTALL_SOFFICE=
ARG INSTALL_SOFFICE=false

# Install dependencies required for modifying access.
RUN apk add --no-cache shadow bash
Expand All @@ -83,9 +83,9 @@ RUN apk add --no-cache shadow bash
#
# If any of the following args are set to the empty string, default
# values will be chosen.
ARG EP_HOME=
ARG EP_HOME=/opt/etherpad-lite
ARG EP_UID=5001
ARG EP_GID=0
ARG EP_GID=5001
ARG EP_SHELL=

RUN groupadd --system ${EP_GID:+--gid "${EP_GID}" --non-unique} etherpad && \
Expand Down Expand Up @@ -133,7 +133,7 @@ FROM build AS build_copy

FROM build_${BUILD_ENV} AS development

ARG ETHERPAD_PLUGINS=
ARG ETHERPAD_PLUGINS="ep_font_size@0.4.59 ep_font_color@0.0.86 ep_font_family@0.5.44 ep_headings2@0.2.62 ep_openid_connect@3.0.7 ep_guest@1.0.37 ep_user_displayname@1.0.7 ep_stable_authorid@1.0.3"
ARG ETHERPAD_LOCAL_PLUGINS=
ARG ETHERPAD_LOCAL_PLUGINS_ENV=
ARG ETHERPAD_GITHUB_PLUGINS=
Expand All @@ -154,7 +154,7 @@ RUN bin/installDeps.sh && \

FROM build_${BUILD_ENV} AS production

ARG ETHERPAD_PLUGINS=
ARG ETHERPAD_PLUGINS="ep_font_size@0.4.59 ep_font_color@0.0.86 ep_font_family@0.5.44 ep_headings2@0.2.62 ep_openid_connect@3.0.7 ep_guest@1.0.37 ep_user_displayname@1.0.7 ep_stable_authorid@1.0.3"
ARG ETHERPAD_LOCAL_PLUGINS=
ARG ETHERPAD_LOCAL_PLUGINS_ENV=
ARG ETHERPAD_GITHUB_PLUGINS=
Expand All @@ -168,22 +168,23 @@ COPY --chown=etherpad:etherpad --from=adminbuild /opt/etherpad-lite/src/static/o

COPY --chown=etherpad:etherpad ./local_plugin[s] ./local_plugins/

RUN bash -c ./bin/installLocalPlugins.sh
RUN chmod +x ./bin/installLocalPlugins.sh && bash -c ./bin/installLocalPlugins.sh

RUN bin/installDeps.sh && \
RUN chmod +x bin/installDeps.sh && bin/installDeps.sh && \
if [ ! -z "${ETHERPAD_PLUGINS}" ] || [ ! -z "${ETHERPAD_GITHUB_PLUGINS}" ]; then \
pnpm run plugins i ${ETHERPAD_PLUGINS} ${ETHERPAD_GITHUB_PLUGINS:+--github ${ETHERPAD_GITHUB_PLUGINS}}; \
fi && \
pnpm store prune

# Copy the configuration file.
COPY --chown=etherpad:etherpad ${SETTINGS} "${EP_DIR}"/settings.json
RUN cp /opt/etherpad-lite/local_plugins/ep_openid_connect/index.js /opt/etherpad-lite/src/plugin_packages/.versions/ep_openid_connect@3.0.7/index.js

# Fix group permissions
# Note: For some reason increases image size from 257 to 334.
# RUN chmod -R g=u .

USER etherpad
#USER etherpad

HEALTHCHECK --interval=5s --timeout=3s \
CMD curl --silent http://localhost:9001/health | grep -E "pass|ok|up" > /dev/null || exit 1
Expand Down
20 changes: 10 additions & 10 deletions admin/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,29 +16,29 @@
"devDependencies": {
"@radix-ui/react-dialog": "^1.1.15",
"@radix-ui/react-toast": "^1.2.15",
"@types/react": "^19.2.7",
"@types/react": "^19.2.9",
"@types/react-dom": "^19.2.3",
"@typescript-eslint/eslint-plugin": "^8.50.1",
"@typescript-eslint/parser": "^8.50.1",
"@typescript-eslint/eslint-plugin": "^8.53.1",
"@typescript-eslint/parser": "^8.53.1",
"@vitejs/plugin-react": "^5.1.2",
"babel-plugin-react-compiler": "19.1.0-rc.3",
"eslint": "^9.39.2",
"eslint-plugin-react-hooks": "^7.0.1",
"eslint-plugin-react-refresh": "^0.4.26",
"i18next": "^25.7.3",
"i18next": "^25.8.0",
"i18next-browser-languagedetector": "^8.2.0",
"lucide-react": "^0.562.0",
"react": "^19.2.3",
"react-dom": "^19.2.3",
"react-hook-form": "^7.69.0",
"react-i18next": "^16.5.0",
"react-router-dom": "^7.11.0",
"react-hook-form": "^7.71.1",
"react-i18next": "^16.5.3",
"react-router-dom": "^7.12.0",
"socket.io-client": "^4.8.3",
"typescript": "^5.9.3",
"vite": "npm:rolldown-vite@7.2.10",
"vite-plugin-babel": "^1.3.2",
"vite-plugin-static-copy": "^3.1.4",
"zustand": "^5.0.9"
"vite-plugin-babel": "^1.4.1",
"vite-plugin-static-copy": "^3.1.5",
"zustand": "^5.0.10"
},
"overrides": {
"vite": "npm:rolldown-vite@7.2.10"
Expand Down
2 changes: 1 addition & 1 deletion bin/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
"ueberdb2": "^5.0.23"
},
"devDependencies": {
"@types/node": "^25.0.3",
"@types/node": "^25.0.10",
"@types/semver": "^7.7.1",
"typescript": "^5.9.3"
},
Expand Down
38 changes: 38 additions & 0 deletions credentials.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
{
"ep_openid_connect": {
"issuer_metadata": {
"authorization_endpoint": "${ISSUER_AUTHORIZATION_ENDPOINT}",
"token_endpoint": "${ISSUER_TOKEN_ENDPOINT}",
"userinfo_endpoint": "${ISSUER_USERINFO_ENDPOINT}",
"token_endpoint_auth_methods_supported": [
"${TOKEN_ENDPOINT_AUTH_METHODS_SUPPORTED:client_secret_basic}"
],
"issuer": "${ISSUER_ENDPOINT}",
"jwks_uri": "${ISSUER_CLIENT_SECRET}"
},
"client_id": "${ISSUER_CLIENT_ID}",
"client_secret": "${ISSUER_CLIENT_SECRET}",
"scope": [
"openid",
"profile",
"id_token"
],
"base_url": "${ISSUER_BASE_URL}",
"user_properties": {
"displayname": {
"claim": "username"
}
}
},
"dbType": "${DB_TYPE}",
"dbSettings": {
"host": "${DB_HOST}",
"port": "${DB_PORT}",
"database": "${DB_NAME}",
"user": "${DB_USER}",
"password": "${DB_PASS}",
"charset": "${DB_CHARSET}"
}
}


3 changes: 0 additions & 3 deletions local_plugins/.gitignore

This file was deleted.

9 changes: 9 additions & 0 deletions local_plugins/ep_openid_connect/.eslintrc.cjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
'use strict';

// This is a workaround for https://github.com/eslint/eslint/issues/3458
require('eslint-config-etherpad/patch/modern-module-resolution');

module.exports = {
root: true,
extends: 'etherpad/plugin',
};
1 change: 1 addition & 0 deletions local_plugins/ep_openid_connect/.npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
@jsr:registry=https://npm.jsr.io
70 changes: 70 additions & 0 deletions local_plugins/ep_openid_connect/.travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
language: node_js

node_js:
- "lts/*"

cache: false

services:
- docker

install:
- "export GIT_HASH=$(git rev-parse --verify --short HEAD)"

#script:
# - "tests/frontend/travis/runner.sh"

env:
global:
- secure: "WMGxFkOeTTlhWB+ChMucRtIqVmMbwzYdNHuHQjKCcj8HBEPdZLfCuK/kf4rG\nVLcLQiIsyllqzNhBGVHG1nyqWr0/LTm8JRqSCDDVIhpyzp9KpCJQQJG2Uwjk\n6/HIJJh/wbxsEdLNV2crYU/EiVO3A4Bq0YTHUlbhUqG3mSCr5Ec="
- secure: "gejXUAHYscbR6Bodw35XexpToqWkv2ifeECsbeEmjaLkYzXmUUNWJGknKSu7\nEUsSfQV8w+hxApr1Z+jNqk9aX3K1I4btL3cwk2trnNI8XRAvu1c1Iv60eerI\nkE82Rsd5lwUaMEh+/HoL8ztFCZamVndoNgX7HWp5J/NRZZMmh4g="

jobs:
include:
- name: "Lint test package-lock"
install:
- "npm install lockfile-lint"
script:
- npx lockfile-lint --path package-lock.json --validate-https --allowed-hosts npm
- name: "Run the Backend tests"
before_install:
- sudo add-apt-repository -y ppa:libreoffice/ppa
- sudo apt-get update
- sudo apt-get -y install libreoffice
- sudo apt-get -y install libreoffice-pdfimport
install:
- "npm install"
- "mkdir ep_openid_connect"
- "mv !(ep_openid_connect) ep_openid_connect"
- "git clone https://github.com/ether/etherpad-lite.git etherpad"
- "cd etherpad"
- "mkdir -p node_modules"
- "mv ../ep_openid_connect node_modules"
- "bin/installDeps.sh"
- "export GIT_HASH=$(git rev-parse --verify --short HEAD)"
- "cd src && npm install && cd -"
script:
- "tests/frontend/travis/runnerBackend.sh"
- name: "Test the Frontend"
before_script:
- "tests/frontend/travis/sauce_tunnel.sh"
install:
- "npm install"
- "mkdir ep_openid_connect"
- "mv !(ep_openid_connect) ep_openid_connect"
- "git clone https://github.com/ether/etherpad-lite.git etherpad"
- "cd etherpad"
- "mkdir -p node_modules"
- "mv ../ep_openid_connect node_modules"
- "bin/installDeps.sh"
- "export GIT_HASH=$(git rev-parse --verify --short HEAD)"
script:
- "tests/frontend/travis/runner.sh"

notifications:
irc:
channels:
- "irc.freenode.org#etherpad-lite-dev"

##ETHERPAD_TRAVIS_V=9
## Travis configuration automatically created using bin/plugins/updateAllPluginsScript.sh
14 changes: 14 additions & 0 deletions local_plugins/ep_openid_connect/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Changelog

## v3.0.0

Released 2022-03-04.

#### Compatibility changes

* Removed the deprecated `displayname_claim` setting. Set
`user_properties.displayname.claim` instead.
* Displayname rendering was moved to the
[ep\_user\_displayname](https://github.com/ether/ep_user_displayname#readme)
plugin and the `permit_displayname_change` setting was removed.
* The plugin is now much more strict about what it accepts as valid settings.
Loading
Loading