修改端口9001为9002

This commit is contained in:
xdragon 2024-09-05 15:33:38 +08:00
parent 8497f652bc
commit a5cf527e8d
47 changed files with 109 additions and 109 deletions

View file

@ -4,8 +4,8 @@
# Always ensure to load the env variables in every terminal session.
# Otherwise the env variables will not be available
DOCKER_COMPOSE_APP_PORT_PUBLISHED=9001
DOCKER_COMPOSE_APP_PORT_TARGET=9001
DOCKER_COMPOSE_APP_PORT_PUBLISHED=9002
DOCKER_COMPOSE_APP_PORT_TARGET=9002
# IMPORTANT: When the env var DEFAULT_PAD_TEXT is unset or empty, then the pad is not established (not the landing page).
# The env var DEFAULT_PAD_TEXT seems to be mandatory in the latest version of etherpad.

View file

@ -4,8 +4,8 @@
# Always ensure to load the env variables in every terminal session.
# Otherwise the env variables will not be available
DOCKER_COMPOSE_APP_DEV_PORT_PUBLISHED=9001
DOCKER_COMPOSE_APP_DEV_PORT_TARGET=9001
DOCKER_COMPOSE_APP_DEV_PORT_PUBLISHED=9002
DOCKER_COMPOSE_APP_DEV_PORT_TARGET=9002
# IMPORTANT: When the env var DEFAULT_PAD_TEXT is unset or empty, then the pad is not established (not the landing page).
# The env var DEFAULT_PAD_TEXT seems to be mandatory in the latest version of etherpad.

View file

@ -63,7 +63,7 @@ jobs:
-
name: Test
run: |
docker run --rm -d -p 9001:9001 --name test ${{ env.TEST_TAG }}
docker run --rm -d -p 9002:9002 --name test ${{ env.TEST_TAG }}
./bin/installDeps.sh
docker logs -f test &
while true; do

View file

@ -133,7 +133,7 @@ jobs:
pnpm run prod &
connected=false
can_connect() {
curl -sSfo /dev/null http://localhost:9001/ || return 1
curl -sSfo /dev/null http://localhost:9002/ || return 1
connected=true
}
now() { date +%s; }

View file

@ -69,7 +69,7 @@ jobs:
pnpm run prod &
connected=false
can_connect() {
curl -sSfo /dev/null http://localhost:9001/ || return 1
curl -sSfo /dev/null http://localhost:9002/ || return 1
connected=true
}
now() { date +%s; }
@ -139,7 +139,7 @@ jobs:
pnpm run prod &
connected=false
can_connect() {
curl -sSfo /dev/null http://localhost:9001/ || return 1
curl -sSfo /dev/null http://localhost:9002/ || return 1
connected=true
}
now() { date +%s; }
@ -216,7 +216,7 @@ jobs:
pnpm run prod &
connected=false
can_connect() {
curl -sSfo /dev/null http://localhost:9001/ || return 1
curl -sSfo /dev/null http://localhost:9002/ || return 1
connected=true
}
now() { date +%s; }

View file

@ -58,7 +58,7 @@ jobs:
-
name: run docker images
run: |
docker run --name etherpad-docker -p 9000:9001 --rm --network ep_net --ip 172.23.42.2 -e 'TRUST_PROXY=true' epl-debian-slim &
docker run --name etherpad-docker -p 9000:9002 --rm --network ep_net --ip 172.23.42.2 -e 'TRUST_PROXY=true' epl-debian-slim &
docker run -p 8081:80 --rm --network ep_net --ip 172.23.42.1 -d nginx-latest
docker run --rm --network ep_net --ip 172.23.42.3 --name anotherip -dt anotherip
-

View file

@ -70,7 +70,7 @@ jobs:
pnpm i
pnpm exec playwright install --with-deps
pnpm run prod &
curl --connect-timeout 10 --max-time 20 --retry 5 --retry-delay 10 --retry-max-time 60 --retry-connrefused http://127.0.0.1:9001/p/test
curl --connect-timeout 10 --max-time 20 --retry 5 --retry-delay 10 --retry-max-time 60 --retry-connrefused http://127.0.0.1:9002/p/test
pnpm exec playwright install chromium --with-deps
pnpm run test-ui --project=chromium
# On release, create release

View file

@ -72,7 +72,7 @@ jobs:
- "cd src && pnpm install && cd -"
script:
- "docker build -t etherpad:test ."
- "docker run -d -p 9001:9001 etherpad:test && sleep 3"
- "docker run -d -p 9002:9002 etherpad:test && sleep 3"
- "cd src && pnpm run test-container"
- name: "Load test Etherpad without Plugins"
install:
@ -115,7 +115,7 @@ jobs:
- "cd src && pnpm install && cd -"
script:
- "docker build -t etherpad:test ."
- "docker run -d -p 9001:9001 etherpad:test && sleep 3"
- "docker run -d -p 9002:9002 etherpad:test && sleep 3"
- "cd src && pnpm run test-container"
- name: "Load test Etherpad with Plugins"
install:
@ -133,7 +133,7 @@ jobs:
- "docker build -f src/tests/ratelimit/Dockerfile.nginx -t nginx-latest ."
- "docker build -f src/tests/ratelimit/Dockerfile.anotherip -t anotherip ."
- "docker run -p 8081:80 --rm --network ep_net --ip 172.23.42.1 -d nginx-latest"
- "docker run --name etherpad-docker -p 9000:9001 --rm --network ep_net --ip 172.23.42.2 -e 'TRUST_PROXY=true' epl-debian-slim &"
- "docker run --name etherpad-docker -p 9000:9002 --rm --network ep_net --ip 172.23.42.2 -e 'TRUST_PROXY=true' epl-debian-slim &"
- "docker run --rm --network ep_net --ip 172.23.42.3 --name anotherip -dt anotherip"
- "./bin/installDeps.sh"
script:

View file

@ -852,7 +852,7 @@ grow! :)
# 1.8.3
* FEATURE: colibris is now the default skin for new installs
* FEATURE: improved colibris visuals, and migrated to Flexbox layout
* FEATURE: skin variants: colibris skin colors can be easily customized. Visit http://127.0.0.1:9001/p/test#skinvariantsbuilder
* FEATURE: skin variants: colibris skin colors can be easily customized. Visit http://127.0.0.1:9002/p/test#skinvariantsbuilder
* REQUIREMENTS: minimum required Node version is **10.13.0 LTS**.
* MINOR: stability fixes for the async migration in 1.8.0 (fixed many UnhandledPromiseRejectionWarning and the few remaining crashes)
* MINOR: improved stability of import/export functionality

View file

@ -156,7 +156,7 @@ COPY --chown=etherpad:etherpad ${SETTINGS} "${EP_DIR}"/settings.json
USER etherpad
HEALTHCHECK --interval=5s --timeout=3s \
CMD curl --silent http://localhost:9001/health | grep -E "pass|ok|up" > /dev/null || exit 1
CMD curl --silent http://localhost:9002/health | grep -E "pass|ok|up" > /dev/null || exit 1
EXPOSE 9001
EXPOSE 9002
CMD ["pnpm", "run", "prod"]

View file

@ -74,7 +74,7 @@ services:
TRUST_PROXY: ${DOCKER_COMPOSE_APP_TRUST_PROXY:-true}
restart: always
ports:
- "${DOCKER_COMPOSE_APP_PORT_PUBLISHED:-9001}:${DOCKER_COMPOSE_APP_PORT_TARGET:-9001}"
- "${DOCKER_COMPOSE_APP_PORT_PUBLISHED:-9002}:${DOCKER_COMPOSE_APP_PORT_TARGET:-9002}"
postgres:
image: postgres:15-alpine
@ -110,7 +110,7 @@ volumes:
4. Run `pnpm i`
5. Run `pnpm run build:etherpad`
6. Run `pnpm run prod`
7. Visit `http://localhost:9001` in your browser.
7. Visit `http://localhost:9002` in your browser.
### Docker container
@ -132,7 +132,7 @@ site](https://static.etherpad.org).
### Plugin Installation
You can install plugins from the admin web interface (e.g.,
http://127.0.0.1:9001/admin/plugins).
http://127.0.0.1:9002/admin/plugins).
Alternatively, you can install plugins from the command line:
@ -207,7 +207,7 @@ edit `settings.json` and restart Etherpad each time.
### Customize the style with skin variants
Open http://127.0.0.1:9001/p/test#skinvariantsbuilder in your browser and start
Open http://127.0.0.1:9002/p/test#skinvariantsbuilder in your browser and start
playing!
![Skin Variant](doc/public/etherpad_skin_variants.gif "Skin variants")

View file

@ -8,7 +8,7 @@ import {LoadingScreen} from "./utils/LoadingScreen.tsx";
import {Trans, useTranslation} from "react-i18next";
import {Cable, Construction, Crown, NotepadText, Wrench, PhoneCall} from "lucide-react";
const WS_URL = import.meta.env.DEV? 'http://localhost:9001' : ''
const WS_URL = import.meta.env.DEV? 'http://localhost:9002' : ''
export const App = ()=> {
const setSettings = useStore(state => state.setSettings);
const {t} = useTranslation()

View file

@ -21,16 +21,16 @@ export default defineConfig({
server:{
proxy: {
'/socket.io/*': {
target: 'http://localhost:9001',
target: 'http://localhost:9002',
changeOrigin: true,
rewrite: (path) => path.replace(/^\/api/, '')
},
'/admin-auth/': {
target: 'http://localhost:9001',
target: 'http://localhost:9002',
changeOrigin: true,
},
'/stats': {
target: 'http://localhost:9001',
target: 'http://localhost:9002',
changeOrigin: true,
}
}

View file

@ -2,6 +2,6 @@
# Start the services!
service etherpad start
echo "Give Etherpad about 3 minutes to install dependencies then visit http://localhost:9001 in your web browser"
echo "Give Etherpad about 3 minutes to install dependencies then visit http://localhost:9002 in your web browser"
echo "To stop etherpad type 'service etherpad stop', To restart type 'service etherpad restart'".
rm -f /tmp/etherpad.log /tmp/etherpad.err

View file

@ -23,6 +23,6 @@ script
exec su -s /bin/sh -c 'exec "$0" "$@"' $EPUSER -- node --import tsx src/node/server.ts \
>> $EPLOGS/access.log \
2>> $EPLOGS/error.log
echo "Etherpad is running on http://localhost:9001 - To change settings edit /opt/etherpad/settings.json"
echo "Etherpad is running on http://localhost:9002 - To change settings edit /opt/etherpad/settings.json"
end script

View file

@ -38,8 +38,8 @@ SectionEnd
Section
CreateDirectory "$SMPROGRAMS\Etherpad Foundation"
CreateShortCut "$SMPROGRAMS\Etherpad Foundation\Etherpad Server.lnk" "$INSTDIR\start.bat" "brand.ico" "Etherpad Server"
CreateShortCut "$SMPROGRAMS\Etherpad Foundation\Etherpad.lnk" "http://127.0.0.1:9001" "brand.ico" "Etherpad"
CreateShortCut "$SMPROGRAMS\Etherpad Foundation\Etherpad Admin.lnk" "http://127.0.0.1:9001/admin" "brand.ico" "Etherpad Admin"
CreateShortCut "$SMPROGRAMS\Etherpad Foundation\Etherpad.lnk" "http://127.0.0.1:9002" "brand.ico" "Etherpad"
CreateShortCut "$SMPROGRAMS\Etherpad Foundation\Etherpad Admin.lnk" "http://127.0.0.1:9002/admin" "brand.ico" "Etherpad Admin"
CreateShortCut "$SMPROGRAMS\Etherpad Foundation\Uninstall Etherpad Server.lnk" "$INSTDIR\uninstall.exe"
WriteUninstaller "$INSTDIR\uninstall.exe"
Exec '$INSTDIR\start.bat'

View file

@ -28,7 +28,7 @@ To run the backend tests, run the following from the Etherpad working directory:
(cd src && pnpm test)
```
To run the frontend tests, visit: http://localhost:9001/tests/frontend/
To run the frontend tests, visit: http://localhost:9002/tests/frontend/
## Copyright and License

View file

@ -81,7 +81,7 @@ jobs:
pnpm run prod &
connected=false
can_connect() {
curl -sSfo /dev/null http://localhost:9001/ || return 1
curl -sSfo /dev/null http://localhost:9002/ || return 1
connected=true
}
now() { date +%s; }

View file

@ -24,7 +24,7 @@ By default, the Etherpad Docker image is built and run in `production` mode: no
A docker compose file is provided in the project. Please first copy `.env.default` to `.env` and adjust the variables to your preference.
```
docker compose up -d # will build and start the docker container on port 9001 with development settings.
docker compose up -d # will build and start the docker container on port 9002 with development settings.
```
Starting dev server:
@ -108,7 +108,7 @@ To run your instance:
[source,bash]
----
docker run --detach --publish <DESIRED_PORT>:9001 <YOUR_USERNAME>/etherpad
docker run --detach --publish <DESIRED_PORT>:9002 <YOUR_USERNAME>/etherpad
----
And point your browser to `http://<YOUR_IP>:<DESIRED_PORT>`
@ -140,7 +140,7 @@ The `settings.json.docker` available by default allows to control almost every s
| `0.0.0.0`
| `PORT`
| port which etherpad should bind at
| `9001`
| `9002`
| `ADMIN_PASSWORD`
| the password for the `admin` user (leave unspecified if you do not want to create it)
|
@ -533,7 +533,7 @@ Use a Postgres database, no admin user enabled:
----
docker run -d \
--name etherpad \
-p 9001:9001 \
-p 9002:9002 \
-e 'DB_TYPE=postgres' \
-e 'DB_HOST=db.local' \
-e 'DB_PORT=4321' \
@ -549,7 +549,7 @@ Run enabling the administrative user `admin`:
----
docker run -d \
--name etherpad \
-p 9001:9001 \
-p 9002:9002 \
-e 'ADMIN_PASSWORD=supersecret' \
etherpad/etherpad
----
@ -560,6 +560,6 @@ Run a test instance running DirtyDB on a persistent volume:
----
docker run -d \
-v etherpad_data:/opt/etherpad-lite/var \
-p 9001:9001 \
-p 9002:9002 \
etherpad/etherpad
----

View file

@ -69,7 +69,7 @@ docker build --build-arg ETHERPAD_PLUGINS="ep_comments_page ep_author_neat" --ta
To run your instance:
```bash
docker run --detach --publish <DESIRED_PORT>:9001 <YOUR_USERNAME>/etherpad
docker run --detach --publish <DESIRED_PORT>:9002 <YOUR_USERNAME>/etherpad
```
And point your browser to `http://<YOUR_IP>:<DESIRED_PORT>`
@ -86,7 +86,7 @@ The `settings.json.docker` available by default allows to control almost every s
| `FAVICON` | favicon default name, or a fully specified URL to your own favicon | `favicon.ico` |
| `DEFAULT_PAD_TEXT` | The default text of a pad | `Welcome to Etherpad! This pad text is synchronized as you type, so that everyone viewing this page sees the same text. This allows you to collaborate seamlessly on documents! Get involved with Etherpad at https://etherpad.org` |
| `IP` | IP which etherpad should bind at. Change to `::` for IPv6 | `0.0.0.0` |
| `PORT` | port which etherpad should bind at | `9001` |
| `PORT` | port which etherpad should bind at | `9002` |
| `ADMIN_PASSWORD` | the password for the `admin` user (leave unspecified if you do not want to create it) | |
| `USER_PASSWORD` | the password for the first user `user` (leave unspecified if you do not want to create it) | |
@ -244,7 +244,7 @@ Use a Postgres database, no admin user enabled:
```shell
docker run -d \
--name etherpad \
-p 9001:9001 \
-p 9002:9002 \
-e 'DB_TYPE=postgres' \
-e 'DB_HOST=db.local' \
-e 'DB_PORT=4321' \
@ -259,7 +259,7 @@ Run enabling the administrative user `admin`:
```shell
docker run -d \
--name etherpad \
-p 9001:9001 \
-p 9002:9002 \
-e 'ADMIN_PASSWORD=supersecret' \
etherpad/etherpad
```
@ -269,7 +269,7 @@ Run a test instance running DirtyDB on a persistent volume:
```shell
docker run -d \
-v etherpad_data:/opt/etherpad-lite/var \
-p 9001:9001 \
-p 9002:9002 \
etherpad/etherpad
```
@ -306,7 +306,7 @@ services:
TRUST_PROXY: ${DOCKER_COMPOSE_APP_TRUST_PROXY:-true}
restart: always
ports:
- "${DOCKER_COMPOSE_APP_PORT_PUBLISHED:-9001}:${DOCKER_COMPOSE_APP_PORT_TARGET:-9001}"
- "${DOCKER_COMPOSE_APP_PORT_PUBLISHED:-9002}:${DOCKER_COMPOSE_APP_PORT_TARGET:-9002}"
postgres:
image: postgres:15-alpine

View file

@ -40,7 +40,7 @@ services:
TRUST_PROXY: ${DOCKER_COMPOSE_APP_DEV_ENV_TRUST_PROXY:-true}
restart: always
ports:
- "${DOCKER_COMPOSE_APP_DEV_PORT_PUBLISHED:-9001}:${DOCKER_COMPOSE_APP_DEV_PORT_TARGET:-9001}"
- "${DOCKER_COMPOSE_APP_DEV_PORT_PUBLISHED:-9002}:${DOCKER_COMPOSE_APP_DEV_PORT_TARGET:-9002}"
postgres:
image: postgres:15-alpine

View file

@ -26,7 +26,7 @@ services:
TRUST_PROXY: ${DOCKER_COMPOSE_APP_TRUST_PROXY:-true}
restart: always
ports:
- "${DOCKER_COMPOSE_APP_PORT_PUBLISHED:-9001}:${DOCKER_COMPOSE_APP_PORT_TARGET:-9001}"
- "${DOCKER_COMPOSE_APP_PORT_PUBLISHED:-9002}:${DOCKER_COMPOSE_APP_PORT_TARGET:-9002}"
postgres:
image: postgres:15-alpine

View file

@ -50,14 +50,14 @@
* specify "null" as the default value.
*
* EXAMPLE:
* "port": "${PORT:9001}"
* "port": "${PORT:9002}"
* "minify": "${MINIFY}"
* "skinName": "${SKIN_NAME:colibris}"
*
* Would read the configuration values for those items from the environment
* variables PORT, MINIFY and SKIN_NAME.
*
* If PORT and SKIN_NAME variables were not defined, the default values 9001 and
* If PORT and SKIN_NAME variables were not defined, the default values 9002 and
* "colibris" would be used.
* The configuration value "minify", on the other hand, does not have a
* designated default value. Thus, if the environment variable MINIFY were
@ -66,18 +66,18 @@
* REMARKS:
* 1) please note that variable substitution always needs to be quoted.
*
* "port": 9001, <-- Literal values. When not using
* "port": 9002, <-- Literal values. When not using
* "minify": false substitution, only strings must be
* "skinName": "colibris" quoted. Booleans and numbers must not.
*
* "port": "${PORT:9001}" <-- CORRECT: if you want to use a variable
* "port": "${PORT:9002}" <-- CORRECT: if you want to use a variable
* "minify": "${MINIFY:true}" substitution, put quotes around its name,
* "skinName": "${SKIN_NAME}" even if the required value is a number or
* a boolean.
* Etherpad will take care of rewriting it
* to the proper type if necessary.
*
* "port": ${PORT:9001} <-- ERROR: this is not valid json. Quotes
* "port": ${PORT:9002} <-- ERROR: this is not valid json. Quotes
* "minify": ${MINIFY} around variable names are missing.
* "skinName": ${SKIN_NAME}
*
@ -162,7 +162,7 @@
* "port" : "/somepath/etherpad.socket", // <-- path to a Unix socket
*/
"ip": "${IP:0.0.0.0}",
"port": "${PORT:9001}",
"port": "${PORT:9002}",
/*
* Option to hide/show the settings.json in admin page.
@ -659,21 +659,21 @@
*/
"lowerCasePadIds": "${LOWER_CASE_PAD_IDS:false}",
"sso": {
"issuer": "${SSO_ISSUER:http://localhost:9001}",
"issuer": "${SSO_ISSUER:http://localhost:9002}",
"clients": [
{
"client_id": "${ADMIN_CLIENT:admin_client}",
"client_secret": "${ADMIN_SECRET:admin}",
"grant_types": ["authorization_code"],
"response_types": ["code"],
"redirect_uris": ["${ADMIN_REDIRECT:http://localhost:9001/admin/}"]
"redirect_uris": ["${ADMIN_REDIRECT:http://localhost:9002/admin/}"]
},
{
"client_id": "${USER_CLIENT:user_client}",
"client_secret": "${USER_SECRET:user}",
"grant_types": ["authorization_code"],
"response_types": ["code"],
"redirect_uris": ["${USER_REDIRECT:http://localhost:9001/}"]
"redirect_uris": ["${USER_REDIRECT:http://localhost:9002/}"]
}
]
},

View file

@ -41,14 +41,14 @@
* specify "null" as the default value.
*
* EXAMPLE:
* "port": "${PORT:9001}"
* "port": "${PORT:9002}"
* "minify": "${MINIFY}"
* "skinName": "${SKIN_NAME:colibris}"
*
* Would read the configuration values for those items from the environment
* variables PORT, MINIFY and SKIN_NAME.
*
* If PORT and SKIN_NAME variables were not defined, the default values 9001 and
* If PORT and SKIN_NAME variables were not defined, the default values 9002 and
* "colibris" would be used.
* The configuration value "minify", on the other hand, does not have a
* designated default value. Thus, if the environment variable MINIFY were
@ -57,18 +57,18 @@
* REMARKS:
* 1) please note that variable substitution always needs to be quoted.
*
* "port": 9001, <-- Literal values. When not using
* "port": 9002, <-- Literal values. When not using
* "minify": false substitution, only strings must be
* "skinName": "colibris" quoted. Booleans and numbers must not.
*
* "port": "${PORT:9001}" <-- CORRECT: if you want to use a variable
* "port": "${PORT:9002}" <-- CORRECT: if you want to use a variable
* "minify": "${MINIFY:true}" substitution, put quotes around its name,
* "skinName": "${SKIN_NAME}" even if the required value is a number or
* a boolean.
* Etherpad will take care of rewriting it
* to the proper type if necessary.
*
* "port": ${PORT:9001} <-- ERROR: this is not valid json. Quotes
* "port": ${PORT:9002} <-- ERROR: this is not valid json. Quotes
* "minify": ${MINIFY} around variable names are missing.
* "skinName": ${SKIN_NAME}
*
@ -153,7 +153,7 @@
* "port" : "/somepath/etherpad.socket", // <-- path to a Unix socket
*/
"ip": "0.0.0.0",
"port": 9001,
"port": 9002,
/*
* Option to hide/show the settings.json in admin page.
@ -667,21 +667,21 @@
"lowerCasePadIds": false,
"sso": {
"issuer": "${SSO_ISSUER:http://localhost:9001}",
"issuer": "${SSO_ISSUER:http://localhost:9002}",
"clients": [
{
"client_id": "${ADMIN_CLIENT:admin_client}",
"client_secret": "${ADMIN_SECRET:admin}",
"grant_types": ["authorization_code"],
"response_types": ["code"],
"redirect_uris": ["${ADMIN_REDIRECT:http://localhost:9001/admin/}"]
"redirect_uris": ["${ADMIN_REDIRECT:http://localhost:9002/admin/}"]
},
{
"client_id": "${USER_CLIENT:user_client}",
"client_secret": "${USER_SECRET:user}",
"grant_types": ["authorization_code"],
"response_types": ["code"],
"redirect_uris": ["${USER_REDIRECT:http://localhost:9001/}"]
"redirect_uris": ["${USER_REDIRECT:http://localhost:9002/}"]
}
]
}

View file

@ -127,7 +127,7 @@ exports.ip = '0.0.0.0';
/**
* The Port ep-lite should listen to
*/
exports.port = process.env.PORT || 9001;
exports.port = process.env.PORT || 9002;
/**
* Should we suppress Error messages from being in Pad Contents
@ -371,7 +371,7 @@ exports.users = {};
* This setting is used for configuring sso
*/
exports.sso = {
issuer: "http://localhost:9001"
issuer: "http://localhost:9002"
}
/*
@ -575,7 +575,7 @@ const storeSettings = (settingsObj: any) => {
* them to appropriate JS types. Otherwise return stringValue as-is.
*
* Please note that this function is used for converting types for default
* values in the settings file (for example: "${PORT:9001}"), and that there is
* values in the settings file (for example: "${PORT:9002}"), and that there is
* no coercition for "null" values.
*
* If the user wants a variable to be null by default, he'll have to use the
@ -630,7 +630,7 @@ const coerceValue = (stringValue: string) => {
* | settings.json | ENV_VAR | guration value |
* |---------------------------|---------------|------------------|
* | "${ENV_VAR}" | "some_string" | "some_string" |
* | "${ENV_VAR}" | "9001" | 9001 |
* | "${ENV_VAR}" | "9002" | 9002 |
* | "${ENV_VAR}" | undefined | null |
* | "${ENV_VAR:some_default}" | "some_string" | "some_string" |
* | "${ENV_VAR:some_default}" | undefined | "some_default" |

View file

@ -22,7 +22,7 @@ export default defineConfig({
use: {
/* Base URL to use in actions like `await page.goto('/')`. */
// baseURL: 'http://127.0.0.1:3000',
baseURL: "localhost:9001",
baseURL: "localhost:9002",
/* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */
trace: 'on-first-retry',
video: 'on-first-retry',

View file

@ -44,7 +44,7 @@ export const generateJWTToken = () => {
jti: '123',
exp: Math.floor(Date.now() / 1000) + 60 * 60,
aud: 'account',
iss: 'http://localhost:9001',
iss: 'http://localhost:9002',
admin: true
})
jwt.setProtectedHeader({alg: 'RS256'})
@ -58,7 +58,7 @@ export const generateJWTTokenUser = () => {
jti: '123',
exp: Math.floor(Date.now() / 1000) + 60 * 60,
aud: 'account',
iss: 'http://localhost:9001',
iss: 'http://localhost:9002',
})
jwt.setProtectedHeader({alg: 'RS256'})
return jwt.sign(privateKeyExported!)

View file

@ -80,7 +80,7 @@ describe(__filename, function () {
Try to import to files of varying size.
Example Curl command for testing import URI:
curl -s -v --form file=@/home/jose/test.txt http://127.0.0.1:9001/p/foo/import
curl -s -v --form file=@/home/jose/test.txt http://127.0.0.1:9002/p/foo/import
*/
describe('Imports and Exports', function () {

View file

@ -25,7 +25,7 @@ function loadSettings() {
// custom settings for running in a container
settings.ip = 'localhost';
settings.port = '9001';
settings.port = '9002';
return settings;
}

View file

@ -9,7 +9,7 @@ test.describe('admin settings',()=> {
test('Are Settings visible, populated, does save work', async ({page}) => {
await page.goto('http://localhost:9001/admin/settings');
await page.goto('http://localhost:9002/admin/settings');
await page.waitForSelector('.settings');
const settings = page.locator('.settings');
await expect(settings).not.toBeEmpty();
@ -48,7 +48,7 @@ test.describe('admin settings',()=> {
})
test('restart works', async function ({page}) {
await page.goto('http://localhost:9001/admin/settings');
await page.goto('http://localhost:9002/admin/settings');
await page.waitForSelector('.settings')
await restartEtherpad(page)
await page.waitForSelector('.settings')

View file

@ -3,18 +3,18 @@ import {loginToAdmin} from "../helper/adminhelper";
test.beforeEach(async ({ page })=>{
await loginToAdmin(page, 'admin', 'changeme1');
await page.goto('http://localhost:9001/admin/help')
await page.goto('http://localhost:9002/admin/help')
})
test('Shows troubleshooting page manager', async ({page}) => {
await page.goto('http://localhost:9001/admin/help')
await page.goto('http://localhost:9002/admin/help')
await page.waitForSelector('.menu')
const menu = page.locator('.menu');
await expect(menu.locator('li')).toHaveCount(5);
})
test('Shows a version number', async function ({page}) {
await page.goto('http://localhost:9001/admin/help')
await page.goto('http://localhost:9002/admin/help')
await page.waitForSelector('.menu')
const helper = page.locator('.help-block').locator('div').nth(1)
const version = (await helper.textContent())!.split('.');
@ -22,7 +22,7 @@ test('Shows a version number', async function ({page}) {
});
test('Lists installed parts', async function ({page}) {
await page.goto('http://localhost:9001/admin/help')
await page.goto('http://localhost:9002/admin/help')
await page.waitForSelector('.menu')
await page.waitForSelector('.innerwrapper ul')
const parts = page.locator('.innerwrapper ul').nth(1);
@ -30,7 +30,7 @@ test('Lists installed parts', async function ({page}) {
});
test('Lists installed hooks', async function ({page}) {
await page.goto('http://localhost:9001/admin/help')
await page.goto('http://localhost:9002/admin/help')
await page.waitForSelector('.menu')
await page.waitForSelector('.innerwrapper ul')
const helper = page.locator('.innerwrapper ul').nth(2);

View file

@ -3,7 +3,7 @@ import {loginToAdmin} from "../helper/adminhelper";
test.beforeEach(async ({ page })=>{
await loginToAdmin(page, 'admin', 'changeme1');
await page.goto('http://localhost:9001/admin/plugins')
await page.goto('http://localhost:9002/admin/plugins')
})

View file

@ -2,7 +2,7 @@ import {expect, Page} from "@playwright/test";
export const loginToAdmin = async (page: Page, username: string, password: string) => {
await page.goto('http://localhost:9001/admin/');
await page.goto('http://localhost:9002/admin/');
await page.waitForSelector('input[name="username"]');
await page.fill('input[name="username"]', username);

View file

@ -116,13 +116,13 @@ export const appendQueryParams = async (page: Page, queryParameters: MapArrayTyp
export const goToNewPad = async (page: Page) => {
// create a new pad before each test run
const padId = "FRONTEND_TESTS"+randomUUID();
await page.goto('http://localhost:9001/p/'+padId);
await page.goto('http://localhost:9002/p/'+padId);
await page.waitForSelector('iframe[name="ace_outer"]');
return padId;
}
export const goToPad = async (page: Page, padId: string) => {
await page.goto('http://localhost:9001/p/'+padId);
await page.goto('http://localhost:9002/p/'+padId);
await page.waitForSelector('iframe[name="ace_outer"]');
}

View file

@ -2,7 +2,7 @@ const { defineConfig } = require('cypress')
module.exports = defineConfig({
e2e: {
baseUrl: "http://127.0.0.1:9001",
baseUrl: "http://127.0.0.1:9002",
supportFile: false,
specPattern: 'tests/frontend/cypress/integration/**/*.js'
}

View file

@ -9,7 +9,7 @@ Cypress.Commands.add('iframe', {prevSubject: 'element'},
describe(__filename, () => {
it('Pad content exists', () => {
cy.visit('http://127.0.0.1:9001/p/test');
cy.visit('http://127.0.0.1:9002/p/test');
cy.wait(10000); // wait for Minified JS to be built...
cy.get('iframe[name="ace_outer"]', {timeout: 10000}).iframe()
.find('.line-number:first')

View file

@ -17,8 +17,8 @@ describe('timeslider', function () {
await helper.waitForPromise(() => helper.contentWindow().location.hash === '#1');
// expect URI to be similar to
// http://192.168.1.48:9001/p/2/1/export/html
// http://192.168.1.48:9001/p/735773577399/1/export/html
// http://192.168.1.48:9002/p/2/1/export/html
// http://192.168.1.48:9002/p/735773577399/1/export/html
const rev1ExportLink = helper.contentWindow().$('#exporthtmla').attr('href');
expect(rev1ExportLink).to.contain('/1/export/html');

View file

@ -14,10 +14,10 @@ log "Assuming src/bin/installDeps.sh has already been run"
( cd src && npm run dev --experimental-worker "${@}" &
ep_pid=$!)
log "Waiting for Etherpad to accept connections (http://localhost:9001)..."
log "Waiting for Etherpad to accept connections (http://localhost:9002)..."
connected=false
can_connect() {
curl -sSfo /dev/null http://localhost:9001/ || return 1
curl -sSfo /dev/null http://localhost:9002/ || return 1
connected=true
}
now() { date +%s; }
@ -27,7 +27,7 @@ while [ $(($(now) - $start)) -le 15 ] && ! can_connect; do
done
[ "$connected" = true ] \
|| fatal "Timed out waiting for Etherpad to accept connections"
log "Successfully connected to Etherpad on http://localhost:9001"
log "Successfully connected to Etherpad on http://localhost:9002"
# start the remote runner
try cd "${MY_DIR}"

View file

@ -54,7 +54,7 @@ const sauceTestWorker = async.queue(async ({name, pfx, browser, version, platfor
const driver = await builder.build();
const url = `https://saucelabs.com/jobs/${(await driver.getSession()).getId()}`;
try {
await driver.get('http://localhost:9001/tests/frontend/');
await driver.get('http://localhost:9002/tests/frontend/');
log(`Remote sauce test started! ${url}`, pfx);
// @TODO this should be configured in testSettings, see
// https://wiki.saucelabs.com/display/DOCS/Test+Configuration+Options#TestConfigurationOptions-Timeouts

View file

@ -14,10 +14,10 @@ log "Assuming bin/installDeps.sh has already been run"
(cd src && npm run dev --experimental-worker "${@}" &
ep_pid=$!)
log "Waiting for Etherpad to accept connections (http://localhost:9001)..."
log "Waiting for Etherpad to accept connections (http://localhost:9002)..."
connected=false
can_connect() {
curl -sSfo /dev/null http://localhost:9001/ || return 1
curl -sSfo /dev/null http://localhost:9002/ || return 1
connected=true
}
now() { date +%s; }
@ -27,7 +27,7 @@ while [ $(($(now) - $start)) -le 15 ] && ! can_connect; do
done
[ "$connected" = true ] \
|| fatal "Timed out waiting for Etherpad to accept connections"
log "Successfully connected to Etherpad on http://localhost:9001"
log "Successfully connected to Etherpad on http://localhost:9002"
# start the remote runner
try cd "${MY_DIR}"

View file

@ -22,10 +22,10 @@ log "Assuming src/bin/installDeps.sh has already been run"
(cd src && npm run dev "${@}" &
ep_pid=$!)
log "Waiting for Etherpad to accept connections (http://localhost:9001)..."
log "Waiting for Etherpad to accept connections (http://localhost:9002)..."
connected=false
can_connect() {
curl -sSfo /dev/null http://localhost:9001/ || return 1
curl -sSfo /dev/null http://localhost:9002/ || return 1
connected=true
}
now() { date +%s; }
@ -35,7 +35,7 @@ while [ $(($(now) - $start)) -le 15 ] && ! can_connect; do
done
[ "$connected" = true ] \
|| fatal "Timed out waiting for Etherpad to accept connections"
log "Successfully connected to Etherpad on http://localhost:9001"
log "Successfully connected to Etherpad on http://localhost:9002"
log "Running the backend tests..."
try cd src

View file

@ -27,10 +27,10 @@ log "Assuming src/bin/installDeps.sh has already been run"
(cd src && pnpm run prod &
ep_pid=$!)
log "Waiting for Etherpad to accept connections (http://localhost:9001)..."
log "Waiting for Etherpad to accept connections (http://localhost:9002)..."
connected=false
can_connect() {
curl -sSfo /dev/null http://localhost:9001/ || return 1
curl -sSfo /dev/null http://localhost:9002/ || return 1
connected=true
}
now() { date +%s; }
@ -40,10 +40,10 @@ while [ $(($(now) - $start)) -le 60 ] && ! can_connect; do
done
[ "$connected" = true ] \
|| fatal "Timed out waiting for Etherpad to accept connections"
log "Successfully connected to Etherpad on http://localhost:9001"
log "Successfully connected to Etherpad on http://localhost:9002"
# Build the minified files
try curl http://localhost:9001/p/minifyme -f -s >/dev/null
try curl http://localhost:9002/p/minifyme -f -s >/dev/null
# just in case, let's wait for another 10 seconds before going on
sleep 10

View file

@ -4,7 +4,7 @@ http {
access_log /dev/fd/1;
error_log /dev/fd/2;
location / {
proxy_pass http://172.23.42.2:9001/;
proxy_pass http://172.23.42.2:9002/;
proxy_set_header Host $host;
proxy_pass_header Server;
# be careful, this line doesn't override any proxy_buffering on set in a conf.d/file.conf

View file

@ -1 +1 @@
{"title":"Etherpad","favicon":null,"skinName":"colibris","skinVariants":"super-light-toolbar super-light-editor light-background","ip":"0.0.0.0","port":9001,"showSettingsInAdminPage":true,"dbType":"dirty","dbSettings":{"filename":"var/dirty.db"},"defaultPadText":"Welcome to Etherpad!\n\nThis pad text is synchronized as you type, so that everyone viewing this page sees the same text. This allows you to collaborate seamlessly on documents!\n\nGet involved with Etherpad at https://etherpad.org\n","padOptions":{"noColors":false,"showControls":true,"showChat":true,"showLineNumbers":true,"useMonospaceFont":false,"userName":null,"userColor":null,"rtl":false,"alwaysShowChat":false,"chatAndUsers":false,"lang":null},"padShortcutEnabled":{"altF9":true,"altC":true,"cmdShift2":true,"delete":true,"return":true,"esc":true,"cmdS":true,"tab":true,"cmdZ":true,"cmdY":true,"cmdI":true,"cmdB":true,"cmdU":true,"cmd5":true,"cmdShiftL":true,"cmdShiftN":true,"cmdShift1":true,"cmdShiftC":true,"cmdH":true,"ctrlHome":true,"pageUp":true,"pageDown":true},"suppressErrorsInPadText":false,"requireSession":false,"editOnly":false,"minify":true,"maxAge":21600,"abiword":null,"soffice":null,"allowUnknownFileEnds":true,"requireAuthentication":false,"requireAuthorization":false,"trustProxy":false,"cookie":{"keyRotationInterval":86400000,"sameSite":"Lax","sessionLifetime":864000000,"sessionRefreshInterval":86400000},"disableIPlogging":false,"automaticReconnectionTimeout":0,"scrollWhenFocusLineIsOutOfViewport":{"percentage":{"editionAboveViewport":0,"editionBelowViewport":0},"duration":0,"scrollWhenCaretIsInTheLastLineOfViewport":false,"percentageToScrollWhenUserPressesArrowUp":0},"users":{"admin":{"password":"changeme1","is_admin":true},"user":{"password":"changeme1","is_admin":false}},"socketTransportProtocols":["websocket","polling"],"socketIo":{"maxHttpBufferSize":1000000},"loadTest":false,"dumpOnUncleanExit":false,"importExportRateLimiting":{"windowMs":90000,"max":10},"importMaxFileSize":52428800,"commitRateLimiting":{"duration":1,"points":10},"exposeVersion":false,"loglevel":"INFO","customLocaleStrings":{},"enableAdminUITests":true,"lowerCasePadIds":false,"sso":{"issuer":"${SSO_ISSUER:http://localhost:9001}","clients":[{"client_id":"${ADMIN_CLIENT:admin_client}","client_secret":"${ADMIN_SECRET:admin}","grant_types":["authorization_code"],"response_types":["code"],"redirect_uris":["${ADMIN_REDIRECT:http://localhost:9001/admin/}","https://oauth.pstmn.io/v1/callback"]},{"client_id":"${USER_CLIENT:user_client}","client_secret":"${USER_SECRET:user}","grant_types":["authorization_code"],"response_types":["code"],"redirect_uris":["${USER_REDIRECT:http://localhost:9001/}"]}]}}
{"title":"Etherpad","favicon":null,"skinName":"colibris","skinVariants":"super-light-toolbar super-light-editor light-background","ip":"0.0.0.0","port":9002,"showSettingsInAdminPage":true,"dbType":"dirty","dbSettings":{"filename":"var/dirty.db"},"defaultPadText":"Welcome to Etherpad!\n\nThis pad text is synchronized as you type, so that everyone viewing this page sees the same text. This allows you to collaborate seamlessly on documents!\n\nGet involved with Etherpad at https://etherpad.org\n","padOptions":{"noColors":false,"showControls":true,"showChat":true,"showLineNumbers":true,"useMonospaceFont":false,"userName":null,"userColor":null,"rtl":false,"alwaysShowChat":false,"chatAndUsers":false,"lang":null},"padShortcutEnabled":{"altF9":true,"altC":true,"cmdShift2":true,"delete":true,"return":true,"esc":true,"cmdS":true,"tab":true,"cmdZ":true,"cmdY":true,"cmdI":true,"cmdB":true,"cmdU":true,"cmd5":true,"cmdShiftL":true,"cmdShiftN":true,"cmdShift1":true,"cmdShiftC":true,"cmdH":true,"ctrlHome":true,"pageUp":true,"pageDown":true},"suppressErrorsInPadText":false,"requireSession":false,"editOnly":false,"minify":true,"maxAge":21600,"abiword":null,"soffice":null,"allowUnknownFileEnds":true,"requireAuthentication":false,"requireAuthorization":false,"trustProxy":false,"cookie":{"keyRotationInterval":86400000,"sameSite":"Lax","sessionLifetime":864000000,"sessionRefreshInterval":86400000},"disableIPlogging":false,"automaticReconnectionTimeout":0,"scrollWhenFocusLineIsOutOfViewport":{"percentage":{"editionAboveViewport":0,"editionBelowViewport":0},"duration":0,"scrollWhenCaretIsInTheLastLineOfViewport":false,"percentageToScrollWhenUserPressesArrowUp":0},"users":{"admin":{"password":"changeme1","is_admin":true},"user":{"password":"changeme1","is_admin":false}},"socketTransportProtocols":["websocket","polling"],"socketIo":{"maxHttpBufferSize":1000000},"loadTest":false,"dumpOnUncleanExit":false,"importExportRateLimiting":{"windowMs":90000,"max":10},"importMaxFileSize":52428800,"commitRateLimiting":{"duration":1,"points":10},"exposeVersion":false,"loglevel":"INFO","customLocaleStrings":{},"enableAdminUITests":true,"lowerCasePadIds":false,"sso":{"issuer":"${SSO_ISSUER:http://localhost:9002}","clients":[{"client_id":"${ADMIN_CLIENT:admin_client}","client_secret":"${ADMIN_SECRET:admin}","grant_types":["authorization_code"],"response_types":["code"],"redirect_uris":["${ADMIN_REDIRECT:http://localhost:9002/admin/}","https://oauth.pstmn.io/v1/callback"]},{"client_id":"${USER_CLIENT:user_client}","client_secret":"${USER_SECRET:user}","grant_types":["authorization_code"],"response_types":["code"],"redirect_uris":["${USER_REDIRECT:http://localhost:9002/}"]}]}}

View file

@ -10,6 +10,6 @@ REM Etherpad internals via `require('ep_etherpad-lite/foo')`,
REM `node_modules\ep_etherpad-lite` is used here.
cd src
start microsoftedge "http://localhost:9001"
start microsoftedge "http://localhost:9002"
pnpm run prod

View file

@ -20,24 +20,24 @@ export default defineConfig({
server:{
proxy:{
'/static':{
target: 'http://localhost:9001',
target: 'http://localhost:9002',
changeOrigin: true,
secure: false,
},
'/views/manifest.json':{
target: 'http://localhost:9001',
target: 'http://localhost:9002',
changeOrigin: true,
secure: false,
rewrite: (path) => path.replace(/^\/views/, ''),
},
'/locales.json':{
target: 'http://localhost:9001',
target: 'http://localhost:9002',
changeOrigin: true,
secure: false,
rewrite: (path) => path.replace(/^\/views/, ''),
},
'/locales':{
target: 'http://localhost:9001',
target: 'http://localhost:9002',
changeOrigin: true,
secure: false,
rewrite: (path) => path.replace(/^\/views/, ''),

View file

@ -4,7 +4,7 @@
4. Run `pnpm i`
5. Run `pnpm run build:etherpad`
6. Run `pnpm run prod`
7. Visit `http://localhost:9001` in your browser.
7. Visit `http://localhost:9002` in your browser.
后台中文设置,找到文件