---
layout: docs
page_title: Running a Server
description: |-
  The recommended way to install the server is using the waypoint install command. This command will install a server into Docker, Kubernetes, AWS ECS, or Nomad, bootstrap the server, and configure your local CLI to access that server. It is a single command to get up and running with Waypoint.
---

# Waypoint Server Installation

The recommended way to install the server is using the
[`waypoint install`](/commands/install) command.
This command will install a server into Docker, Kubernetes, AWS ECS, or Nomad,
bootstrap the server, and configure your local CLI to access that server.
It is a single command to get up and running with Waypoint.

You can also run and configure the server manually using the
[`waypoint server run`](/commands/server-run) command. This is meant for more advanced
users who want to run Waypoint in a platform that the `install` command doesn't support.

It is possible to fine-tune the configuration of the server when using the `waypoint install` command.
To further customize the server installation, you may pass advanced flag options
specified in the documentation for the [`waypoint server run`](/commands/server-run)
command. To set these values, include a `--` after the full argument list for
`install`, followed by these advanced flag options. As an example, to set the
server log level to trace and disable the UI, you can use the below command.

```shell-session
  waypoint install -platform=docker -accept-tos -- -vvv -disable-ui
```

-> **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).

## Upgrading

For details on upgrading the server, please see the
[general Waypoint upgrade documentation](/docs/upgrading).

## Easy Installation

We provide an opinionated install method for users who wish to get
off the ground quickly on certain server platforms with [waypoint install](/docs/server/install).

For more details on what this command provides, as well as any supported server
platform caveats, please check out the documentation for `waypoint install`.

## Manually Running the Server

`waypoint install` is built to help you setup a Waypoint server, but
we understand there are going to be many cases where you'll want to run
Waypoint manually. To run a Waypoint server manually, you'll use the
[`waypoint server run` command](/commands/server-run).

**The instructions below are only if you're manually running a server
with `waypoint server run`.**

### Start the Server

First, start the server:

```shell-session
$ waypoint server run -db=data.db -accept-tos

» Server configuration:

             DB Path: data.db
        gRPC Address: 127.0.0.1:9701
        HTTP Address: 127.0.0.1:9702
       Auth Required: yes
  Browser UI Enabled: yes
         URL Service: api.waypoint.run:443 (account: token)

...
```

The `waypoint server run` command takes a variety of flags for configuration.
See the CLI help output for more information.

-> If you're manually running the server, we will assume that you know how
to use a scheduler such as Nomad or service manager such as systemd to
run this command in a production environment.

### Bootstrap the Server

If this is your first time starting the server against the configured
database path, then you will be required to bootstrap the server to
retrieve the initial auth token.

The `waypoint server run` output should contain instructions on how to do
this, including a CLI command you can copy and paste. The output should
look like the following:

```shell-session
$ waypoint server run -accept-tos
...

» Server requires bootstrapping!

  New servers must be bootstrapped to retrieve the initial auth token for
  connections. To bootstrap this server, run the following command in your
  terminal once the server is up and running.

    waypoint server bootstrap -server-addr=127.0.0.1:9701 -server-tls-skip-verify

  This command will bootstrap the server and setup a CLI context.
```

Copy and paste that command to bootstrap:

```shell-session
$ waypoint server bootstrap -server-addr=127.0.0.1:9701 -server-tls-skip-verify
```

This will output the bootstrap token but more importantly this will configure
a [CLI context](/docs/server/auth#cli) automatically. You can now verify
the connection using `waypoint context verify`.

### Ready!

At this point, the running server is ready for use!
