---
title: Deployment Spec Reference
description: Paperspace allows you to tailor your deployment via configuration or spec definitions.
product: Paperspace
url: https://docs.digitalocean.com/products/paperspace/deployments/reference/deployment-spec/
last_updated: "2023-12-14"
---

> **For AI agents:** The documentation index is at [https://docs.digitalocean.com/llms.txt](https://docs.digitalocean.com/llms.txt). Markdown versions of pages use the same URL with `index.html.md` in place of the HTML page (for example, append `index.html.md` to the directory path instead of opening the HTML document).

# Deployment Spec Reference

Paperspace Deployments are containers-as-a-service that allow you to run container images and serve machine learning models using a high-performance, low-latency service with a RESTful API.

A deployment configuration or spec represents the desired state of your deployment. You can view or update the deployment spec using the [Paperspace console](https://console.paperspace.com) or [CLI](https://docs.digitalocean.com/reference/paperspace/gradient/index.html.md).

```yaml
apiVersion: v1 # required, defaults to v1
  name: my cool deployment # the name of your deployment. This must be unique within your project.
  image: paperspace/app-fixture:0.1.3
  enabled: true # Toggle to enable or disable the app
  containerRegistry: my-registry # (optional) name of the container registry to use for the app.

  command: # command to run on startup
    - /bin/sh
    - '-c'
    - |
      while true
      do
        sleep .01
      done

  resources:
    ports:
      - 8000
    replicas: 2 # amount of static replicas for your app. We recommend 2 to ensure high availability.
    machineType: A100-80G
    autoscaling:
      enabled: true # toggle for enabling/disabling autoscaling
      maxReplicas: 5 # max replicas for autoscaling
      metrics:
        - metric: cpu
          summary: average
          value: 50 # 50% cpu utilization across all replicas
        - metric: memory
          summary: average
          value: 22 # 22% memory utilization across all replicas
        - metric: requestDuration
          summary: average
          value: 2 # 2 second request duration for the endpoint

  integrations: # List of integrations. Max is 5.
    - type: git-lfs # git-lfs integration type
      name: falcon # unique name of the integration
      path: /models/ # the a unique path on the filesystem to mount the integration. In this spec, model files will be located at /models/falcon
      url: https://huggingface.co/tiiuae/falcon-7b # hugging face model url for cloning

    - type: s3 # s3 integration type
      name: my-s3-integration
      path: /some/s3/mount/path
      url: s3://my-integration-bucket/
      region: us-east-1
      accessKeyId: AKIAVWO7J5OJSCWRJ3HJ
      secretAccessKey: secret:secretAccessKey # stored as a project or team secret. Naming is arbitrary.

  healthChecks: # health checks allow you to define a set of probes to check the health of your app
    readiness:
      path: /
      port: 8000 # healthcheck port.
      initialDelaySeconds: 5
      periodSeconds: 5
      timeoutSeconds: 5
      failureThreshold: 5
      headers: # (optional) list of headers to pass to the readiness probe
        - name: Authorization
          value: some-token
    liveness:
      ...
    startup:
      ...

  basicAuthKey: secret:my_paperspace_secret # setting up a protected endpoint to restrict access for unauthorized users

  env: # container environment variables
    - name: some-env
      value: some-value
    - name: secret-env
      value: secret:mySecretEnv # stored as a project or team secret. Naming is arbitrary.
```

## Common Configuration Actions

These are actions you can take by updating the deployment spec either through the console or the CLI/SDK.

1. **Start and stop the Deployment:** Set `enabled` to `true` (on) or `false` (off) and resubmit the spec
2. **Update the number of replicas:** Change `replicas` to the desired number of replicas and resubmit the spec
3. **Change the machine type or image:** Update the `machineType` and/or `image` respectively and resubmit the spec