cptactionhank / docker-atlassian-confluence

Atlassian Confluence wrapped in a Docker image
https://cptactionhank.github.io/docker-atlassian-confluence
MIT License
404 stars 222 forks source link

v6.0.1 collaborative editing causes loading indicator to spin forever #38

Open firsttris opened 7 years ago

firsttris commented 7 years ago

Hello,

I'm running your confluence image.

updating to version 6.0.1. i experienced the following issue:

if i want to create or edit a page - the loading indicator (spinner) is running forever.

i could resolve this issue by deactivating the "Collaborative editing" feature: https://confluence.atlassian.com/doc/administering-collaborative-editing-858772086.html seems this issue is caused by the internal Synchrony proxy

is there a way to get "collaborative editing" feature to work correctly?

i already tried to add port 8091 to my container:

docker run \ --name="confluence" \ --restart=always \ -p 8090:8090 \ -p 8091:8091 \ -v /etc/localtime:/etc/localtime:ro \ -v /home/docker/confluence:/var/atlassian/confluence \ -d cptactionhank/atlassian-confluence:latest

regards Tristan

langdal commented 7 years ago

I experienced the same issue while running a copy of an existing installation in a test environment. Setting base url to reflect the test environment resolved the issue.

imasen commented 7 years ago

I think there should be an additional Expose for port 8091.

Ilya-Kuchaev commented 7 years ago

Any news here?

dsteinkopf commented 7 years ago

Maybe too obvious to mention: First workaround for this problem is to disable collaborative editing mode in confluence admin settings.

mattstein commented 7 years ago

FWIW I finally managed to get collaborative editing working after some trial and error. The Collaborative Editing settings showed that Synchrony was running, so I exposed port 8091 on the Docker container and ultimately added an nginx reverse proxy for synchrony based on the URLs that were failing:

location /synchrony-proxy {
    proxy_set_header X-Forwarded-Host $host;
    proxy_set_header X-Forwarded-Server $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_pass http://LOCAL_MACHINE_IP:8091/synchrony;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "Upgrade";
}

LOCAL_MACHINE_IP should be the IP address of the physical host on the local network.

carlchan commented 7 years ago

Thanks, got it working after adding -p 8091:8091 to the container start options, and adding the synchrony socket to haproxy.

Something like:

frontend confluence
  listen PUBLICIP:80
  acl is_synchrony path_beg /synchrony
  use_backend synchrony if is_synchrony
  default_backend confluence

backend confluence
  mode http
  option forwardfor
  server confluence INTERNALIP:8090

backend synchrony
  mode http
  option forwardfor
  server confluence INTERNALIP:8091

Confluence really should have an automatic fallback to non-collaborative editing if the socket can't be contacted, rather than failing rather ungracefully.