---
layout: docs
page_title: Server
description: |-
  Waypoint utilizes a server to enable collaboration with other team members, storing operation history, and enabling functionality such as logs, exec, and more.
---

# Waypoint Server

Waypoint utilizes a server to enable collaboration with other team members,
storing operation history, and enabling functionality such as
logs, exec, and more.

We've made it as easy as possible to install and run a Waypoint server
using a single command: [`waypoint install`](/commands/install). This
automatically installs and configures the UI and local CLI to access the
server and lets you start working with Waypoint immediately.

-> **Note:** Only _one_ Waypoint server needs to be installed and run
for any group of people using Waypoint together. If you are a day-to-day
user of Waypoint with a group of people you may not need to install a server.
In this case, see the documentation on
[connecting to a server](/docs/server#connecting).

## Connecting

To use the `waypoint` CLI, you must configure connection information.

-> **Note:** If you ran `waypoint install` to setup a server, the install
command automatically configured the CLI for you to access the new server.

Waypoint uses something called a "context" to store server configuration
information. The Waypoint CLI can be configured with multiple contexts to
easily switch between multiple Waypoint servers (such as for work use, personal
use, testing, etc.).

To create a context, use the `waypoint context create` command. This takes
a set of flags to configure how to connect to the server. The example
below configures a context:

```shell-session
$ waypoint context create \
    -server-addr=localhost:9701 \
    -server-auth-token=abcd1234 \
    -server-tls \
    -set-default my-server
```

The `-set-default` flag will set this as the default connection information.
You can always switch contexts using `waypoint context use` or the
`WAYPOINT_CONTEXT` environment variable.

### Verifying the Connection

To verify your CLI is connecting properly, use the `waypoint context verify`
command. This will test that the default context can connect properly. It
will output both the context tested and a success message if successful.

```shell-session
$ waypoint context verify
Successfully connected to the server using the "my-server" context.
```

You can also specify a context name to test a specific context that isn't the default.
