---
layout: commands
page_title: 'Commands: Server install'
sidebar_title: 'server install'
description: 'Install the Waypoint server to Kubernetes, Nomad, ECS, or Docker'
---

# Waypoint Server install

Command: `waypoint server install`

Install the Waypoint server to Kubernetes, Nomad, ECS, or Docker

@include "commands/server-install_desc.mdx"

## Usage

Usage: `waypoint server install [options]`

Alias: `waypoint install`

Installs a Waypoint server to an existing platform. The platform should be
specified as kubernetes, nomad, ecs, or docker.

This will also install a single Waypoint runner by default. This enables
remote operations out of the box, such as polling a Git repository. This can
be disabled by specifying "-runner=false".

By default, this will also automatically create a new default CLI context
(see "waypoint context") so the CLI will be configured to use the newly
installed server.

This command will require you to accept the Waypoint Terms of Service
and Privacy Policy for the Waypoint URL service by specifying the "-accept-tos"
flag. This only applies to the Waypoint URL service. You may disable the
URL service by manually running the server. If you disable the URL service,
you do not need to accept any terms.

To further customize the server installation, you may pass advanced flag options
specified in the documentation for the '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, the command would be:

    waypoint install -platform=docker -accept-tos -- -vvv -disable-ui

#### Global Options

- `-plain` - Plain output: no colors, no animation. The default is false.
- `-app=<string>` (`-a`) - App to target. Certain commands require a single app target for Waypoint configurations with multiple apps. If you have a single app, then this can be ignored.
- `-project=<string>` (`-p`) - Project to target.
- `-workspace=<string>` (`-w`) - Workspace to operate in.

#### Command Options

- `-accept-tos` - Pass to accept the Terms of Service and Privacy Policy to use the Waypoint URL Service. This is required if the URL service is enabled and you're using the HashiCorp-provided URL service rather than self-hosting. See the privacy policy at https://hashicorp.com/privacy and the ToS at https://waypointproject.io/terms. The default is false.
- `-context-create=<string>` - Create a context with connection information for this installation. The default value if not set will be 'install-' and then be suffixed with a timestamp at the time the command is executed.
- `-context-set-default` - Set the newly installed server as the default CLI context. The default is true.
- `-platform=<string>` - Platform to install the Waypoint server into.

#### docker Options

- `-docker-server-image=<string>` - Docker image for the Waypoint server. The default is hashicorp/waypoint:latest.
- `-docker-odr-image=<string>` - Docker image for the Waypoint On-Demand Runners. This will default to the server image with the name (not label) suffixed with '-odr'.

#### ecs Options

- `-ecs-cluster=<string>` - Configures the Cluster to install into. The default is waypoint-server.
- `-ecs-region=<string>` - Configures which AWS region to install into.
- `-ecs-subnets=<string>` - Subnets to install server into.
- `-ecs-execution-role-name=<string>` - Configures the IAM Execution role name to use. The default is waypoint-server-execution-role.
- `-ecs-server-image=<string>` - Docker image for the Waypoint server. The default is hashicorp/waypoint:latest.
- `-ecs-cpu=<string>` - Configures the requested CPU amount for the Waypoint server task in ECS. The default is 512.
- `-ecs-mem=<string>` - Configures the requested memory amount for the Waypoint server task in ECS. The default is 1024.
- `-ecs-task-role-name=<string>` - IAM Execution Role to assign to the on-demand runner. If this is blank, an IAM role will be created automatically with the default permissions. The default is waypoint-runner.
- `-ecs-odr-image=<string>` - Docker image for the Waypoint On-Demand Runners. This will default to the server image with the name (not label) suffixed with '-odr'.
- `-ecs-odr-mem=<string>` - Configures the requested memory amount for the Waypoint On-Demand runner in ECS. The default is 2048.
- `-ecs-odr-cpu=<string>` - Configures the requested CPU amount for the Waypoint On-Demand runner in ECS. The default is 512.

#### kubernetes Options

- `-k8s-config-path=<string>` - Path to the kubeconfig file to use.
- `-k8s-advertise-internal` - Advertise the internal service address rather than the external. This is useful if all your deployments will be able to access the private service address. This will default to false but will be automatically set to true if the external host is detected to be localhost. The default is false.
- `-k8s-annotate-service=<key=value>` - Annotations for the Service generated.
- `-k8s-context=<string>` - The Kubernetes context to install the Waypoint server to. If left unset, Waypoint will use the current Kubernetes context.
- `-k8s-helm-version=<string>` - The version of the Helm chart to use for the Waypoint runner install. The required version number format is: 'vX.Y.Z'.
- `-k8s-cpu-request=<string>` - Configures the requested CPU amount for the Waypoint server in Kubernetes. The default is 0.
- `-k8s-mem-request=<string>` - Configures the requested memory amount for the Waypoint server in Kubernetes. The default is 0.
- `-k8s-cpu-limit=<string>` - Configures the CPU limit for the Waypoint server in Kubernetes. The default is 0.
- `-k8s-mem-limit=<string>` - Configures the memory limit for the Waypoint server in Kubernetes. The default is 0.
- `-k8s-namespace=<string>` - Namespace to install the Waypoint server into for Kubernetes. The default is default.
- `-k8s-pull-policy=<string>` - Set the pull policy for the Waypoint server image.
- `-k8s-pull-secret=<string>` - Secret to use to access the Waypoint server image on Kubernetes.
- `-k8s-secret-file=<string>` - Use the Kubernetes Secret in the given path to access the Waypoint server image.
- `-k8s-server-image=<string>` - Docker image for the Waypoint server. The default is hashicorp/waypoint:latest.
- `-k8s-odr-image=<string>` - Docker image for the Waypoint On-Demand Runners.
- `-k8s-runner-service-account=<string>` - Service account to assign to the on-demand runner. If this is blank, a service account will be created automatically with the correct permissions. The default is waypoint-runner.
- `-k8s-runner-service-account-init` - Create the service account if it does not exist. The default is true.
- `-k8s-storageclassname=<string>` - Name of the StorageClass required by the volume claim to install the Waypoint server image to.
- `-k8s-storage-request=<string>` - Configures the requested persistent volume size for the Waypoint server in Kubernetes. The default is 1Gi.

#### nomad Options

- `-nomad-annotate-service=<key=value>` - Annotations for the Service generated.
- `-nomad-auth-soft-fail` - Don't fail the Nomad task on an auth failure obtaining server image container. Attempt to continue without auth. The default is false.
- `-nomad-dc=<string>` - Datacenters to install to for Nomad. The default is dc1.
- `-nomad-host=<string>` - Hostname of the Nomad server to use, like for launching on-demand tasks. The default is http://localhost:4646.
- `-nomad-namespace=<string>` - Namespace to install the Waypoint server into for Nomad. The default is default.
- `-nomad-odr-image=<string>` - Docker image for the on-demand runners. If not specified, it defaults to the server image name + '-odr' (i.e. 'hashicorp/waypoint-odr:latest').
- `-nomad-policy-override` - Override the Nomad sentinel policy for enterprise Nomad. The default is false.
- `-nomad-region=<string>` - Region to install to for Nomad. The default is global.
- `-nomad-server-cpu=<string>` - CPU required to run this task in MHz. The default is 200.
- `-nomad-server-memory=<string>` - MB of Memory to allocate to the Server job task. The default is 600.
- `-nomad-runner-cpu=<string>` - CPU required to run this task in MHz. The default is 200.
- `-nomad-runner-memory=<string>` - MB of Memory to allocate to the runner job task. The default is 600.
- `-nomad-runner-host-volume=<string>` - Name of the host volume to use for the Waypoint runner.
- `-nomad-runner-csi-volume-provider=<string>` - Name of the CSI volume provider to use for the Waypoint runner.
- `-nomad-runner-csi-volume=<string>` - The name of the volume to initialize for the Waypoint runner within the CSI provider.
- `-nomad-runner-csi-volume-capacity-min=<int>` - Waypoint runner Nomad CSI volume capacity minimum, in bytes. The default is 1073741824.
- `-nomad-runner-csi-volume-capacity-max=<int>` - Waypoint runner Nomad CSI volume capacity maximum, in bytes. The default is 2147483648.
- `-nomad-server-image=<string>` - Docker image for the Waypoint server. The default is hashicorp/waypoint:latest.
- `-nomad-service-provider=<string>` - Create service for Waypoint UI and Server in Consul. One possible value from: consul, nomad, none. The default is consul.
- `-nomad-service-ui-tags=<string>` - Tags for the Waypoint UI service. The default is waypoint.
- `-nomad-service-backend-tags=<string>` - Tags for the Waypoint backend service. The default is waypoint.
- `-nomad-consul-service` - Create service for Waypoint UI and Server in Consul. The default is true.
- `-nomad-consul-service-hostname=<string>` - If set, will use this hostname for Consul DNS rather than the default, i.e. "waypoint-server.service.consul".
- `-nomad-consul-service-ui-tags=<string>` - Tags for the Waypoint UI service generated in Consul.
- `-nomad-consul-service-backend-tags=<string>` - Tags for the Waypoint backend service generated in Consul. The 'first' tag will be used when crafting the Consul DNS hostname for accessing Waypoint.
- `-nomad-consul-datacenter=<string>` - The datacenter where Consul is located. The default is dc1.
- `-nomad-consul-domain=<string>` - The domain where Consul is located. The default is consul.
- `-nomad-consul-token=<string>` - If set, the passed Consul token is stored in the job before sending to the Nomad servers. Overrides the CONSUL_HTTP_TOKEN environment variable if set.
- `-nomad-host-volume=<string>` - Nomad host volume name to use for the Waypoint server, required for volume type 'host'.
- `-nomad-csi-volume-provider=<string>` - Nomad CSI volume provider, required for volume type 'csi'.
- `-nomad-csi-volume-capacity-min=<int>` - Nomad CSI volume capacity minimum, in bytes. The default is 1073741824.
- `-nomad-csi-volume-capacity-max=<int>` - Nomad CSI volume capacity maximum, in bytes. The default is 2147483648.
- `-nomad-csi-fs=<string>` - Nomad CSI volume mount option file system. The default is xfs.
- `-nomad-csi-secrets=<key=value>` - Secrets to provide for the CSI volume.
- `-nomad-csi-parameters=<key=value>` - Parameters passed directly to the CSI plugin to configure the volume.
- `-nomad-csi-plugin-id=<string>` - The ID of the CSI plugin that manages the volume, required for volume type 'csi'.
- `-nomad-csi-external-id=<string>` - The ID of the physical volume from the Nomad storage provider.
- `-nomad-csi-topologies=<key=value>` - Locations from which the Nomad Volume will be accessible.
- `-nomad-csi-volume=<string>` - The name of the volume to initialize for Waypoint server within the CSI provider. The default is waypoint-server.

@include "commands/server-install_more.mdx"
