Skip to content

Getting Started

Kyle Hanson edited this page Feb 18, 2022 · 2 revisions

Docker script

CrissCross comes distributed as a script which launches docker container for the CrissCross server.

curl https://raw.githubusercontent.com/SoCal-Software-Labs/CrissCross/main/launch_crisscross_server.sh -o ./launch_criss_cross.sh
chmod +x ./launch_criss_cross.sh

And finally execute the command to launch the database and server to connect to the overlay. By default CrissCross will store data in ./data and will look for cluster configurations in ./clusters of the directory you launch the script in.

./launch_criss_cross.sh

Options

The following environment variables are available to set:

  • DATA_DIR - What folder should you save the database in ($(pwd)/data)
  • CLUSTER_DIR - What folder should crisscross look for clusters ($(pwd)/clusters)
  • INTERNAL_TCP_PORT - What port to connect to from a client (11111)
  • EXTERNAL_TCP_PORT - What port other nodes will connect to (22222)
  • EXTERNAL_UDP_PORT - What port to listen for DHT UDP messages (33333)
  • EXTERNAL_IP - What IP to broadcast to the external network for them to connect to
  • STORAGE_BACKEND - Storage (default: sled://./data, can be: redis://<CONN_STR>)
  • LOCAL_AUTH - Auth for local clients in format: <username>:<password> ("user:pass123")
  • BOOTSTRAP_NODES - What initial nodes to use for the initial connection (udp://<node_id>@<ip>:<port>)
  • BOOTSTRAP_CLUSTER - Name of cluster to use for the initial connection (should be default cluster or in CLUSTER_DIR)

Bash Client / Python Library

Install the command-line client with pip:

$ pip install crisscross-py
$ crisscross -h

Clone this wiki locally