# WebSocket/Docker issue | Settings for Neo4j Docker Compose with Causal Cluster?

**URL:** <https://community.neo4j.com/t/websocket-docker-issue-settings-for-neo4j-docker-compose-with-causal-cluster/46174>\
**Category:** Newbie Questions\
**Tags:** docker, cluster\
**Created:** [October 21, 2021, 2:47am UTC](https://community.neo4j.com/t/websocket-docker-issue-settings-for-neo4j-docker-compose-with-causal-cluster/46174 "2021-10-21T02:47:57Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![tsjota](https://sea1.discourse-cdn.com/flex021/user_avatar/community.neo4j.com/tsjota/32/7447_2.png) [@tsjota](https://community.neo4j.com/u/tsjota)\
**Post date:** [October 21, 2021, 2:47am UTC](https://community.neo4j.com/t/websocket-docker-issue-settings-for-neo4j-docker-compose-with-causal-cluster/46174/1 "2021-10-21T02:47:57Z")

</div>

Hi, I just need a pointer on what settings avoid this error, so I can use Neo4j browser in a cluster.

"ServiceUnavailable: WebSocket connection failure. Due to security constraints in your web browser, the reason for the failure is not available to this Neo4j Driver. Please use your browsers development console to determine the root cause of the failure. Common reasons include the database being unavailable, using the wrong connection URL or temporary network problems. If you have enabled encryption, ensure your browser is configured to trust the certificate Neo4j is configured to use. WebSocket `readyState` is: 3"

Here is my docker-compose.yml;

version: '3'

networks:  
lan:

services:

core1:  
image: neo4j:4.3.6-enterprise  
volumes:  
- ./core1/conf:/conf  
- ./core1/data:/data  
- ./core1/import:/import  
- ./core1/logs:/logs  
- ./core1/plugins:/plugins  
networks:  
- lan  
ports:  
- 1474:7474  
- 1687:7687  
- 7473:7473  
environment:  
- NEO4J\_ACCEPT\_LICENSE\_AGREEMENT=yes  
- NEO4J\_dbms\_memory\_pagecache\_size=10M  
- NEO4J\_dbms\_memory\_heap\_initial\_\_size=10M  
- NEO4J\_AUTH=neo4j/neo  
- NEO4J\_dbms\_mode=CORE  
- NEO4J\_dbms\_connector\_bolt\_enabled=true  
- NEO4J\_dbms\_connector\_bolt\_tls\_level=REQUIRED  
- NEO4J\_dbms\_connector\_bolt\_listen\_address=0.0.0.0:7687  
- NEO4J\_dbms\_connector\_http\_enabled=true  
- NEO4J\_dbms\_connector\_http\_listen\_address=0.0.0.0:7474  
- NEO4J\_dbms\_connector\_https\_enabled=true  
- NEO4J\_dbms\_connector\_https\_listen\_address=0.0.0.0:7473  
- NEO4J\_causalClustering\_discoveryAdvertisedAddress=core1:5000  
- NEO4J\_causalClustering\_transactionAdvertisedAddress=core1:6000  
- NEO4J\_causalClustering\_raftAdvertisedAddress=core1:7000  
- NEO4J\_causalClustering\_expectedCoreClusterSize=3  
- NEO4J\_causalClustering\_initialDiscoveryMembers=core1:5000,core2:5000,core3:5000  
- NEO4J\_causal\_\_clustering\_disable\_\_middleware\_\_logging=false

core2:  
image: neo4j:4.3.6-enterprise  
volumes:  
- ./core2/conf:/conf  
- ./core2/data:/data  
- ./core2/import:/import  
- ./core2/logs:/logs  
- ./core2/plugins:/plugins  
networks:  
- lan  
ports:  
- 2474:7474  
- 2687:7687  
- 7473:7473  
environment:  
- NEO4J\_ACCEPT\_LICENSE\_AGREEMENT=yes  
- NEO4J\_dbms\_memory\_pagecache\_size=10M  
- NEO4J\_dbms\_memory\_heap\_initial\_\_size=10M  
- NEO4J\_AUTH=neo4j/neo  
- NEO4J\_dbms\_mode=CORE  
- NEO4J\_dbms\_connector\_bolt\_enabled=true  
- NEO4J\_dbms\_connector\_bolt\_tls\_level=REQUIRED  
- NEO4J\_dbms\_connector\_bolt\_listen\_address=0.0.0.0:7687  
- NEO4J\_dbms\_connector\_http\_enabled=true  
- NEO4J\_dbms\_connector\_http\_listen\_address=0.0.0.0:7474  
- NEO4J\_dbms\_connector\_https\_enabled=true  
- NEO4J\_dbms\_connector\_https\_listen\_address=0.0.0.0:7473  
- NEO4J\_causalClustering\_discoveryAdvertisedAddress=core2:5000  
- NEO4J\_causalClustering\_transactionAdvertisedAddress=core2:6000  
- NEO4J\_causalClustering\_raftAdvertisedAddress=core2:7000  
- NEO4J\_causalClustering\_expectedCoreClusterSize=3  
- NEO4J\_causalClustering\_initialDiscoveryMembers=core1:5000,core2:5000,core3:5000  
- NEO4J\_causalClustering\_refuseToBeLeader=true

core3:  
image: neo4j:4.3.6-enterprise  
volumes:  
- ./core3/conf:/conf  
- ./core3/data:/data  
- ./core3/import:/import  
- ./core3/logs:/logs  
- ./core3/plugins:/plugins  
networks:  
- lan  
ports:  
- 3474:7474  
- 3687:7687  
- 7473:7473  
environment:  
- NEO4J\_ACCEPT\_LICENSE\_AGREEMENT=yes  
- NEO4J\_dbms\_memory\_pagecache\_size=10M  
- NEO4J\_dbms\_memory\_heap\_initial\_\_size=10M  
- NEO4J\_AUTH=neo4j/neo  
- NEO4J\_dbms\_mode=CORE  
- NEO4J\_dbms\_connector\_bolt\_enabled=true  
- NEO4J\_dbms\_connector\_bolt\_tls\_level=REQUIRED  
- NEO4J\_dbms\_connector\_bolt\_listen\_address=0.0.0.0:7687  
- NEO4J\_dbms\_connector\_http\_enabled=true  
- NEO4J\_dbms\_connector\_http\_listen\_address=0.0.0.0:7474  
- NEO4J\_dbms\_connector\_https\_enabled=true  
- NEO4J\_dbms\_connector\_https\_listen\_address=0.0.0.0:7473  
- NEO4J\_causalClustering\_discoveryAdvertisedAddress=core3:5000  
- NEO4J\_causalClustering\_transactionAdvertisedAddress=core3:6000  
- NEO4J\_causalClustering\_raftAdvertisedAddress=core3:7000  
- NEO4J\_causalClustering\_expectedCoreClusterSize=3  
- NEO4J\_causalClustering\_initialDiscoveryMembers=core1:5000,core2:5000,core3:5000  
- NEO4J\_causalClustering\_refuseToBeLeader=true  
- NEO4J\_dbms\_backup\_enabled=true  
- NEO4J\_dbms\_backup\_address=0.0.0.0:6362

readreplica1:  
image: neo4j:4.3.6-enterprise  
volumes:  
- ./readreplica1/conf:/conf  
- ./readreplica1/data:/data  
- ./readreplica1/import:/import  
- ./readreplica1/logs:/logs  
- ./readreplica1/plugins:/plugins  
networks:  
- lan  
ports:  
- 4474:7474  
- 4687:7687  
- 7473:7473  
environment:  
- NEO4J\_ACCEPT\_LICENSE\_AGREEMENT=yes  
- NEO4J\_dbms\_memory\_pagecache\_size=10M  
- NEO4J\_dbms\_memory\_heap\_initial\_\_size=10M  
- NEO4J\_AUTH=neo4j/neo  
- NEO4J\_dbms\_mode=READ\_REPLICA  
- NEO4J\_dbms\_connector\_bolt\_enabled=true  
- NEO4J\_dbms\_connector\_bolt\_tls\_level=REQUIRED  
- NEO4J\_dbms\_connector\_bolt\_listen\_address=0.0.0.0:7687  
- NEO4J\_dbms\_connector\_http\_enabled=true  
- NEO4J\_dbms\_connector\_http\_listen\_address=0.0.0.0:7474  
- NEO4J\_dbms\_connector\_https\_enabled=true  
- NEO4J\_dbms\_connector\_https\_listen\_address=0.0.0.0:7473  
- NEO4J\_causalClustering\_discoveryAdvertisedAddress=readreplica1:5000  
- NEO4J\_causalClustering\_transactionAdvertisedAddress=readreplica1:6000  
- NEO4J\_causalClustering\_raftAdvertisedAddress=readreplica1:7000  
- NEO4J\_causalClustering\_initialDiscoveryMembers=core1:5000,core2:5000,core3:5000

---

<div class="post-metadata">

**Author:** ![tsjota](https://sea1.discourse-cdn.com/flex021/user_avatar/community.neo4j.com/tsjota/32/7447_2.png) [@tsjota](https://community.neo4j.com/u/tsjota)\
**Post date:** [October 23, 2021, 12:59am UTC](https://community.neo4j.com/t/websocket-docker-issue-settings-for-neo4j-docker-compose-with-causal-cluster/46174/2 "2021-10-23T00:59:52Z")

</div>

I finally got this Docker Neo4j cluster up and running. 🍻

After lots of trial and error 🙂, this is what I found to work:

**(1) docker-compose.yml**

version: '3'

networks:  
lan:

services:

core1:  
image: neo4j:4.3.6-enterprise  
volumes:  
- ./core1/conf:/conf  
- ./core1/data:/data  
- ./core1/import:/import  
- ./core1/logs:/logs  
- ./core1/plugins:/plugins  
networks:  
- lan  
ports:  
- 1474:7474  
- 1687:7687  
- 7473:7473  
environment:  
- NEO4J\_ACCEPT\_LICENSE\_AGREEMENT=yes  
- NEO4J\_dbms\_memory\_pagecache\_size=10M  
- NEO4J\_dbms\_memory\_heap\_initial\_\_size=10M  
- NEO4J\_AUTH=neo4j/neo  
- NEO4J\_dbms\_mode=CORE  
- NEO4J\_dbms\_connector\_bolt\_advertised\_\_address="localhost:7687"  
- NEO4J\_dbms\_connector\_http\_advertised\_\_address="localhost:7474"  
- NEO4J\_dbms\_connector\_https\_advertised\_\_address="localhost:7473"  
- NEO4J\_causalClustering\_discoveryAdvertisedAddress=core1:5000  
- NEO4J\_causalClustering\_transactionAdvertisedAddress=core1:6000  
- NEO4J\_causalClustering\_raftAdvertisedAddress=core1:7000  
- NEO4J\_causalClustering\_expectedCoreClusterSize=3  
- NEO4J\_causalClustering\_initialDiscoveryMembers=core1:5000,core2:5000,core3:5000  
- NEO4J\_causal\_\_clustering\_disable\_\_middleware\_\_logging=false

core2:  
image: neo4j:4.3.6-enterprise  
volumes:  
- ./core2/conf:/conf  
- ./core2/data:/data  
- ./core2/import:/import  
- ./core2/logs:/logs  
- ./core2/plugins:/plugins  
networks:  
- lan  
ports:  
- 2474:7474  
- 2687:7687  
- 7473:7473  
environment:  
- NEO4J\_ACCEPT\_LICENSE\_AGREEMENT=yes  
- NEO4J\_dbms\_memory\_pagecache\_size=10M  
- NEO4J\_dbms\_memory\_heap\_initial\_\_size=10M  
- NEO4J\_AUTH=neo4j/neo  
- NEO4J\_dbms\_mode=CORE  
- NEO4J\_dbms\_connector\_bolt\_advertised\_\_address="localhost:7687"  
- NEO4J\_dbms\_connector\_http\_advertised\_\_address="localhost:7474"  
- NEO4J\_dbms\_connector\_https\_advertised\_\_address="localhost:7473"  
- NEO4J\_causalClustering\_discoveryAdvertisedAddress=core2:5000  
- NEO4J\_causalClustering\_transactionAdvertisedAddress=core2:6000  
- NEO4J\_causalClustering\_raftAdvertisedAddress=core2:7000  
- NEO4J\_causalClustering\_expectedCoreClusterSize=3  
- NEO4J\_causalClustering\_initialDiscoveryMembers=core1:5000,core2:5000,core3:5000  
- NEO4J\_causalClustering\_refuseToBeLeader=true

core3:  
image: neo4j:4.3.6-enterprise  
volumes:  
- ./core3/conf:/conf  
- ./core3/data:/data  
- ./core3/import:/import  
- ./core3/logs:/logs  
- ./core3/plugins:/plugins  
networks:  
- lan  
ports:  
- 3474:7474  
- 3687:7687  
- 7473:7473  
environment:  
- NEO4J\_ACCEPT\_LICENSE\_AGREEMENT=yes  
- NEO4J\_dbms\_memory\_pagecache\_size=10M  
- NEO4J\_dbms\_memory\_heap\_initial\_\_size=10M  
- NEO4J\_AUTH=neo4j/neo  
- NEO4J\_dbms\_mode=CORE  
- NEO4J\_dbms\_connector\_bolt\_advertised\_\_address="localhost:7687"  
- NEO4J\_dbms\_connector\_http\_advertised\_\_address="localhost:7474"  
- NEO4J\_dbms\_connector\_https\_advertised\_\_address="localhost:7473"  
- NEO4J\_causalClustering\_discoveryAdvertisedAddress=core3:5000  
- NEO4J\_causalClustering\_transactionAdvertisedAddress=core3:6000  
- NEO4J\_causalClustering\_raftAdvertisedAddress=core3:7000  
- NEO4J\_causalClustering\_expectedCoreClusterSize=3  
- NEO4J\_causalClustering\_initialDiscoveryMembers=core1:5000,core2:5000,core3:5000  
- NEO4J\_causalClustering\_refuseToBeLeader=true

readreplica1:  
image: neo4j:4.3.6-enterprise  
volumes:  
- ./readreplica1/conf:/conf  
- ./readreplica1/data:/data  
- ./readreplica1/import:/import  
- ./readreplica1/logs:/logs  
- ./readreplica1/plugins:/plugins  
networks:  
- lan  
ports:  
- 4474:7474  
- 4687:7687  
- 7473:7473  
environment:  
- NEO4J\_ACCEPT\_LICENSE\_AGREEMENT=yes  
- NEO4J\_dbms\_memory\_pagecache\_size=10M  
- NEO4J\_dbms\_memory\_heap\_initial\_\_size=10M  
- NEO4J\_AUTH=neo4j/neo  
- NEO4J\_dbms\_mode=READ\_REPLICA  
- NEO4J\_dbms\_connector\_bolt\_advertised\_\_address="localhost:7687"  
- NEO4J\_dbms\_connector\_http\_advertised\_\_address="localhost:7474"  
- NEO4J\_dbms\_connector\_https\_advertised\_\_address="localhost:7473"  
- NEO4J\_causalClustering\_discoveryAdvertisedAddress=readreplica1:5000  
- NEO4J\_causalClustering\_transactionAdvertisedAddress=readreplica1:6000  
- NEO4J\_causalClustering\_raftAdvertisedAddress=readreplica1:7000  
- NEO4J\_causalClustering\_initialDiscoveryMembers=core1:5000,core2:5000,core3:5000

**Then finally:**

1. browser:  
0.0.0.0:1474

2. log in through:  
neo4j://0.0.0.0:1687
