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

# Waypoint Install

Command: `waypoint install`

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

@include "commands/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.
- `-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
- `-context-create=<string>` - Create a context with connection information for this installation. The default value will 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.
- `-platform=<string>` - Platform to install the Waypoint server into.

#### docker Options

- `-docker-server-image=<string>` - Docker image for the Waypoint server.
- `-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.
- `-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.
- `-ecs-server-image=<string>` - Docker image for the Waypoint server.
- `-ecs-cpu=<string>` - Configures the requested CPU amount for the Waypoint server task in ECS.
- `-ecs-mem=<string>` - Configures the requested memory amount for the Waypoint server task in ECS.
- `-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.
- `-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.
- `-ecs-odr-cpu=<string>` - Configures the requested CPU amount for the Waypoint On-Demand runner in ECS.

#### kubernetes Options

- `-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.
- `-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-cpu-request=<string>` - Configures the requested CPU amount for the Waypoint server in Kubernetes.
- `-k8s-mem-request=<string>` - Configures the requested memory amount for the Waypoint server in Kubernetes.
- `-k8s-cpu-limit=<string>` - Configures the CPU limit for the Waypoint server in Kubernetes.
- `-k8s-mem-limit=<string>` - Configures the memory limit for the Waypoint server in Kubernetes.
- `-k8s-namespace=<string>` - Namespace to install the Waypoint server into for Kubernetes.
- `-k8s-openshift` - Enables installing the Waypoint server on Kubernetes on Red Hat OpenShift. If set, auto-configures the installation.
- `-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.
- `-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.
- `-k8s-runner-service-account-init` - Create the service account if it does not exist.
- `-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.

#### 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.
- `-nomad-dc=<string>` - Datacenters to install to for Nomad.
- `-nomad-host=<string>` - Hostname of the Nomad server to use, like for launching on-demand tasks.
- `-nomad-namespace=<string>` - Namespace to install the Waypoint server into for Nomad.
- `-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.
- `-nomad-region=<string>` - Region to install to for Nomad.
- `-nomad-server-cpu=<string>` - CPU required to run this task in MHz.
- `-nomad-server-memory=<string>` - MB of Memory to allocate to the Server job task.
- `-nomad-runner-cpu=<string>` - CPU required to run this task in MHz.
- `-nomad-runner-memory=<string>` - MB of Memory to allocate to the runner job task.
- `-nomad-server-image=<string>` - Docker image for the Waypoint server.
- `-nomad-consul-service` - Create service for Waypoint UI and Server in Consul.
- `-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.
- `-nomad-consul-domain=<string>` - The domain where Consul is located.
- `-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, 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.
- `-nomad-csi-volume-capacity-max=<int>` - Nomad CSI volume capacity maximum, in bytes.
- `-nomad-csi-fs=<string>` - Nomad CSI volume mount option file system.
- `-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.

@include "commands/install_more.mdx"
