I entered and ran the following command to deploy the confluence cluster on docker.
docker run -d --name="confluence" \
-p 8090:8090 -p 8091:8091 --network=host \
-v /atlassian/confluence:/var/atlassian/application-data/confluence \
-v /atlassian/shared-home/confluence:/atlassian/shared-home/confluence \
-v /atlassian/confluence-custom/etc/seraph-config.xml.j2:/opt/atlassian/etc/seraph-config.xml.j2 \
-e CONFLUENCE_SHARED_HOME=/atlassian/shared-home/confluence \
-e JVM_MINIMUM_MEMORY=1024m \
-e JVM_MAXIMUM_MEMORY=2048m \
-e ATL_PROXY_NAME=eocis.com \
-e ATL_PROXY_PORT=443 \
-e ATL_TOMCAT_SCHEME=https \
-e ATL_TOMCAT_CONTEXTPATH="/wiki" \
-e ATL_CLUSTER_TYPE=tcp_ip \
-e ATL_CLUSTER_NAME=confluence \
-e ATL_PRODUCT_HOME_SHARED=/atlassian/shared-home/confluence \
-e ATL_CLUSTER_TTL=1 \
-e ATL_CLUSTER_PEERS=10.1.128.10,10.1.129.10 \
-e TZ=Asia/Seoul \
-e JVM_SUPPORT_RECOMMENDED_ARGS=-Dconfluence.cluster.node.name="worker-1" \
atlassian/confluence:7.19.5-jdk11
And then I encountered a warn, the contents of which are as follows.
Functions related to synchrony are not normal.
2023-09-12 12:40:10,687 WARN [synchrony-interop-executor:thread-1] [plugins.synchrony.bootstrap.DefaultSynchronyMonitor] lambda$pollHeartbeat$1 Rescheduled heartbeat check failed.
io.atlassian.util.concurrent.TimedOutException: Timed out after: 30009336411 NANOSECONDS
at com.atlassian.confluence.plugins.synchrony.bootstrap.DefaultSynchronyMonitor.lambda$pollHeartbeat$0(DefaultSynchronyMonitor.java:140)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)
2023-09-12 12:40:10,688 WARN [synchrony-interop-executor:thread-1] [plugins.synchrony.config.DefaultSynchronyConfigurationManager] enableSharedDrafts [Collab editing plugin] Enabling Shared Drafts
2023-09-12 12:40:10,691 INFO [synchrony-interop-executor:thread-7] [plugins.synchrony.bootstrap.DefaultSynchronyProcessManager] startupSynchrony Starting Synchrony and enabling Collaborative Editing
2023-09-12 12:40:10,954 INFO [synchrony-interop-executor:thread-7] [plugins.synchrony.bootstrap.SynchronyEnvironmentBuilder] isSynchronyProxyEnabled proxy port present: true
2023-09-12 12:40:11,126 INFO [synchrony-interop-executor:thread-7] [plugins.synchrony.bootstrap.SynchronyProcessBuilder] debugPrintEnvironment Synchrony working dir: /var/atlassian/application-data/confluence
2023-09-12 12:40:11,127 INFO [synchrony-interop-executor:thread-7] [plugins.synchrony.bootstrap.SynchronyProcessBuilder] debugPrintEnvironment Synchrony command line: /opt/java/openjdk/bin/java -classpath /opt /atlassian/confluence/temp/5.0.3.jar:/opt/atlassian/confluence/confluence/WEB-INF/lib/postgresql-42.5.0.jar -Xss2048k -Xmx2g synchrony.core sql
2023-09-12 12:40:11,135 INFO [synchrony-interop-executor:thread-7] [plugins.synchrony.bootstrap.DefaultSynchronyProcessManager] updateSynchronyConfiguration Synchrony External Base URL: https://eocis.com/synchrony,https:/ /eocis.com/wiki/synchrony-proxy
2023-09-12 12:40:11,136 INFO [synchrony-interop-executor:thread-7] [plugins.synchrony.bootstrap.DefaultSynchronyProcessManager] updateSynchronyConfiguration Synchrony External Service URL: https://eocis.com/synchrony/v1
2023-09-12 12:40:11,136 INFO [synchrony-interop-executor:thread-7] [plugins.synchrony.bootstrap.DefaultSynchronyProcessManager] updateSynchronyConfiguration Synchrony Internal Service URL: http://127.0.0.1:8091/synchrony/v1
The apache config is as follows.
<VirtualHost *:80>
DocumentRoot "/var/www/html"
ServerName eocis.com
RewriteEngine On
Redirect "/" "https://eocis.com/"
RemoteIPHeaderX-Forwarded-For
</VirtualHost>
<VirtualHost *:443>
ServerName eocis.com
ProxyRequests Off
RewriteEngine On
ProxyVia Off
RemoteIPHeaderX-Forwarded-For
<Proxy *>
Require all granted
</Proxy>
#LoadbalancerMonitoringPage
<Location/balancer-manager>
SetHandler balancer-manager
Require all granted
</Location>
#LoadbalancerSetup
#Crowd
<Proxy balancer://crowdcluster>
#CrowdNODE 1
BalancerMember http://localhost:8095/crowd route=node1
#LoadbalancerSettings
ProxySet lbmethod=byrequests
ProxySet stickysession=JSESSIONID
</Proxy>
ProxyPass /crowdbalancer://crowdcluster
ProxyPassReverse /crowdbalancer://crowdcluster
#Confluence
Header add Set-Cookie "ROUTEID=.%{BALANCER_WORKER_ROUTE}e; path=/wiki" env=BALANCER_ROUTE_CHANGED
<Proxy balancer://confluencecluster>
#Confluence NODE 1
BalancerMember http://10.1.128.10:8090/wiki route=node1
Header add Set-Cookie "ROUTEID=.%{BALANCER_WORKER_ROUTE}e; path=/wiki" env=BALANCER_ROUTE_CHANGED
<Proxy balancer://confluencecluster>
#Confluence NODE 1
BalancerMember http://10.1.128.10:8090/wiki route=node1
# Confluence NODE 2
BalancerMember http://10.1.129.10:8090/wiki route=node2
# Loadbalancer Settings
ProxySet lbmethod=byrequests
ProxySet stickysession=ROUTEID
</Proxy>
ProxyPass /wiki balancer://confluencecluster
ProxyPassReverse /wiki balancer://confluencecluster
Can I get about the problems and improvements?