Opt-inFederatedAddresses stay private

Grapevine

Find a server. Or be found.

The Grapevine is Concord's opt-in server directory. A hub lists the servers that register with it, and hubs connect to share their listings. Anyone can run one.

01 · How it works

Heard it through the Grapevine.

Listing a server is a choice, never a default. And a listing never shows where a server lives: you only get its address once you've asked to join.

  1. 01

    A server opts in

    The installer asks, or its owner turns on [grapevine] in concord-server.toml. It registers with a hub, reports how many people are online, and re-registers by itself if the hub restarts.

  2. 02

    Hubs share

    Each hub lists the servers registered with it, and hubs connect to share their listings. Anyone can run a hub; the official one is grapevine.concordchat.cc.

  3. 03

    You browse

    Press Ctrl+G on Concord's login screen, or go to Settings → Manage Servers → B. Names, descriptions, categories, tags and who's online.

  4. 04

    You join

    Pick a server and press A. The hub asks the server to accept a single-use token, and only then gives you its address.

02 · Live hubs

On the vine, right now.

Every hub the official Grapevine knows about, checked live. Want the servers instead? See who's listed →

Checking the Grapevine…

Checking the Grapevine…

03 · Run a hub

Grow your own vine.

A hub is one small program, concord-hub. Run it for your friends, your club or your town, and connect it to the official one so your listings travel.

The easy way

Run the one-line installer and pick a hub in the form. It writes the settings, starts the hub in the background (from boot or when you sign in), checks it's up, and can connect it to the official hub.

curl -fsSL https://github.com/JMThomas00/Concord/releases/latest/download/install.sh | sh
curl -fsSL https://github.com/JMThomas00/Concord/releases/latest/download/install.sh | sh
irm https://github.com/JMThomas00/Concord/releases/latest/download/install.ps1 | iex

By hand

The first run of concord-hub walks through a setup wizard.

concord-hub
--setup
run the setup wizard again
--dashboard
live stats, the server list and an activity log
--debug
verbose logging

Docker works too: the Concord repo's docker-compose.yml runs the server and hub. The official hub runs that way, behind a Cloudflare Tunnel.

04 · List a server

Let people find you.

The installer asks when it sets up a server. To do it by hand, add a [grapevine] block to concord-server.toml and restart the server.

[grapevine]                       # optional: list it on a hub
enabled = true
hub_url = "https://grapevine.concordchat.cc"
public_host = "chat.example.com"  # the address people use to reach it
public_port = 8080                # 443 means it's reached over https
description = "Board games and bad puns"
category = "Gaming"
tags = ["Gaming", "Tabletop"]

What a listing shows

shown
name, description, category, tags, members, who's online
never shown
the host and port
to join
a single-use token, then the address
staying listed
the server checks in and re-registers if the hub restarts

Running a server for the first time? Start here →

concordroot@concord: ~/grapevinetty · utf-8connected

man grapevine

GRAPEVINE(7)Concord Manual

NAME

grapevine — Concord's opt-in, federated server directory

DESCRIPTION

A hub lists the servers that register with it, and hubs connect to share their listings. Anyone can run one. Listings never show a server's address: joining asks the server to accept a single-use token first, and only then does the hub hand over the address.

BROWSE

Ctrl+G
on the login screen
Settings → Manage Servers → B
from inside Concord
A
join the selected server

OFFICIAL HUB

https://grapevine.concordchat.cc

# Ctrl+G on the login screen

curl -s grapevine.concordchat.cc/v1/hubs

checking…

» · cd /servers for the servers they list

concord-hub --help

(first run)
setup wizard
--setup
run the wizard again
--dashboard
live stats, server list, activity log
--debug
verbose logging

## the easy way — pick "a hub" in the form

curl -fsSL https://github.com/JMThomas00/Concord/releases/latest/download/install.sh | sh
irm https://github.com/JMThomas00/Concord/releases/latest/download/install.ps1 | iex   # Windows

it starts the hub in the background and can connect it to the official one. Docker: docker-compose.yml in the Concord repo.

cat concord-server.toml

[grapevine]                       # optional: list it on a hub
enabled     = true
hub_url     = "https://grapevine.concordchat.cc"
public_host = "chat.example.com"  # the address people use
public_port = 8080                # 443 means https
description = "Board games and bad puns"
category    = "Gaming"
tags        = ["Gaming", "Tabletop"]

listings: name, description, category, tags and counts. never the host or port.

TERMINAL/grapevinetheme: dracula / command · t theme · ` mode