Etherpad in Docker Version

Hi, I’m running jitsi with the docker version. It all works great except I can’t really get etherpad running. I’m not sure what I’m missing.
I have enabled the ETHERPAD_URL_BASE in .env

ETHERPAD_URL_BASE=http://etherpad.meet.jitsi:9001

Is there something else that needs to be done except running docker-compose -f docker-compose.yml -f etherpad.yml up?

Do I need to add something to TOOLBAR_BUTTONS in interface_config.js? I have tried adding etherpad to the array but no success.
Not sure what I’m missing and reading through github issues, other posts and can’t seem to find the issue.

Hi,

i have exactly the same issue, any update here :slight_smile: ?

Hi,

exactly my problem too.
I tried with
ETHERPAD_URL_BASE=http://etherpad.meet.jitsi:9001
an ETHERPAD_URL_BASE=http://etherpad.mydomain.com:9001
(I registered the Domain to the public IP)
I can see, that the Etherpad Docker starts but no Integration in the Video Conference.
Also strange:
When I try to telnet localhost 9001 I get “connection refused”
Best regards,
Marcel

I had the same problem. Somehow this gets not written into the config file.

Open jitsi-meet-cfg/web/config.js and search for etherpad_base: there you need to enter the base URL again. It defaults to /etherpad/p/ for some reason.

Oh and keep the /p/-part at the end.

1 Like

Edit the file etherpad.yaml and add the ports section. This will expose 9001 to your localhost.

version: '3'

services:
    # Etherpad: real-time collaborative document editing
    etherpad:
        image: jitsi/etherpad
        ports:
            - 127.0.0.1:9001:9001
        networks:
            meet.jitsi:
                aliases:
                    - etherpad.meet.jitsi
1 Like

Hi Stonerl,

thanks a lot for you help, the second part, getting etherpad to listen to 9001 works perfectly.
But the first part:

Open jitsi-meet-cfg/web/config.js and search for etherpad_base: there you need to enter the base URL again. It defaults to /etherpad/p/ for some reason.

Does not work for me.
If I edit it, jitsi stops working.
Coud you post the Syntax for it please?
Like:
etherpad_base: ‘/http://etherpad.mydomain.de/p/’,
Thanks a lot and best regards,
Marcel

EDIT:
It now works, thank a lot again!:
Syntax:
etherpad_base: ‘https://etherpad.mydomain.de/p/’,

You’re very welcome.

Hi @netbloks and @stonerl,

Thanks for sharing info for this issue.
I followed your steps, and finally etherpad menu (open shared document) show up in my server.

But i have another problem, after click open shared documents and took a while, it failed to open shared documents with the following error:

here is the content of my etherpad.yml files:
version: ‘3’

services:
# Etherpad: real-time collaborative document editing
etherpad:
image: jitsi/etherpad:latest
ports:
- 127.0.0.1:9001:9001
restart: ${RESTART_POLICY}
networks:
meet.jitsi:
aliases:
- etherpad.meet.jitsi

and my config.js settings:
etherpad_base: ‘https://etherpad.mydomain.org/p/’,

Is there any steps that i’ve missed? Could anyone give some suggestion.

Thanks

@Access_Lab Sorry for the late response.

Are you sure that your etherpad instance is accessible via the domain? Since you use the docker image the domain should look like this: https://<jitsi-base-domain>:9001/etherpad/p/

Hi,

Thanks for your reply, it’s working now

I need some help here. Are you available ?

Sorry for the late reply. How can I help you?

Solved it. Here, I used this method. Might be useful for others.

*** Enabling etherpad ***

Add the following settings before starting the docker containers

  1. Add the following configuration in the file ~/.jitsi-meet-cfg/web/nginx/meet.conf

location /etherpad/ {
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection ‘upgrade’;
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;

proxy_pass http://etherpad.meet.jitsi:9001/;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_buffering off;
proxy_set_header Host meet.jitsi;

}

  1. Add etherpad_base in the file ~/.jitsi-meet-cfg/web/config.js

etherpad_base: ‘https:///etherpad/p/’,

  1. In the .env file, uncomment

#ETHERPAD_URL_BASE=http://etherpad.meet.jitsi:9001

You don’t need the workarounds mentioned previously. There’s just an extra necessary that’s not well documented.

See commit 62f2d11cab2399ad4.

The steps are:

  1. uncomment ETHERPAD_BASE_URL (and keep the default value http://etherpad.meet.jitsi:9001)
  2. uncomment PUBLIC_URL and set it to https://host:port of the jitsi frontend (e.g. https://localhost:8443 ).

If these two variables are properly defined, the frontend loads an iframe
from PUBLIC_URL/etherpad so there are no cross-origin policy violations
(See https://github.com/jitsi/docker-jitsi-meet/blob/2a0120de8b4/web/rootfs/etc/cont-init.d/10-config#L105-L109).

And nginx is configured to take all requests to /etherpad/ and proxy them
to ETHERPAD_BASE_URL, using the internal docker network (hence the
etherpad.meet.jitsi:9001 address).
(See https://github.com/jitsi/docker-jitsi-meet/blob/2a0120de8b4/web/rootfs/defaults/meet.conf#L52L66)

All these guides get this wrong in some way:

https://jitsi.github.io/handbook/docs/devops-guide/devops-guide-docker
https:github.com/jitsi/jitsi-meet/wiki/Etherpad-addition-example
https://community.jitsi.org/t/configuring-etherpad-with-jitsimeet-installed-using-an-ip-address/16690

EDIT:
if you edit the .env file, remember you have to delete the configuration directory ~/.jitsi-meet-cfg (or under root homedir if you run with sudo) in order to regenerate the configuration files.