Skip to content

Quick Start

This guide gets a Consortium server and client running with their default configuration. For anything beyond the defaults, follow the links to the relevant sections.

Start the server

From the project root, start the server:

uv run consortium.py server
docker compose up -d

The server runs in the background. Check that it is ready with docker compose ps and follow its output with docker compose logs -f server.

This binds the server to the default socket address 0.0.0.0:9999. The server ships with three default user accounts (admin, operator, and spectator), each using its own name as the password.

Warning

Change the default user accounts before deploying the server to prevent unauthorized access. See User Accounts.

To change the bind address, user accounts, roles, or logging, see the Server Usage section.

Start the client

With the server running, start the client from the project root in a separate terminal:

uv run consortium.py client
docker compose run --rm client

docker compose up never starts the client: it needs an interactive terminal, which only docker compose run provides.

Important

A containerized client only sees the directories mounted into it. Downloads without -o and relative upload paths use workspace/ on the host, and files written anywhere else in the container are lost when the client exits. See Running the Client in Docker.

The client reads data/client/client_config.json and connects to 127.0.0.1:9999 as admin by default. Once connected, you land in the Home interpreter and can begin operating against the server.

[+] Successfully logged into server 127.0.0.1:9999 as 'admin'.

If the client cannot reach the server at startup, it opens in disconnected mode, where you can connect manually with the session connect command. See Managing Client Sessions.

To point the client at a different server or user account, see the Client Usage section.

Where to go next

  • Server Usage: configure the server's address, accounts, roles, and logging.
  • Client Usage: learn the interpreters, commands, and workflow for operating against a server.