App settings
Every setting on an app's Settings page.
An app's Settings page has three groups. Most settings can differ between production and preview, and changes apply from the next deployment, not to the running one.
Source & build
| Setting | Description |
|---|---|
| Repository | The connected GitHub repository. You can disconnect it here. |
| Image | For apps that run a container image: the image reference new deployments use. See Container images. |
| Root directory | The folder the app is built from, such as services/api. Defaults to ., the repository root. |
| Dockerfile | Automatic builds without a Dockerfile. Otherwise the Dockerfile to use, relative to the root directory. See Dockerfile builds. |
| Build command | Replaces the detected build command, such as pnpm build --filter api. Only used without a Dockerfile. |
| Watch paths | Glob patterns. Pushes that change no matching file are skipped. See GitHub. |
| Auto deploy | Whether pushes deploy automatically, set separately for production and preview. |
The build settings only appear for apps with a repository.
Runtime settings
| Setting | Description |
|---|---|
| Regions | Where the app runs. At least one is required. |
| Instances | The minimum and maximum number of instances per region. |
| CPU | The CPU each instance can use, from 1/4 vCPU to 16 vCPU. |
| Memory | Memory per instance, from 256 MiB to 32 GiB. |
| Storage | A disk per instance, mounted at /data. |
| Healthcheck | An HTTP endpoint Teral calls to check that an instance is healthy. |
| Port | The port your app listens on, 8080 by default. Your app also receives it as PORT. |
| Command | Replaces the image's start command. |
How regions, instances, resources, storage and health checks behave is described in Scaling and resources. The largest values you can pick depend on your plan.
Command
The command replaces both the image's ENTRYPOINT and its CMD. Teral splits it at spaces and doesn't support quotes, so node dist/server.js --port 3000 becomes four arguments. Leave it empty to use the image's own command.
Advanced configurations
| Setting | Description |
|---|---|
| Custom domains | Your own domains for this app. See Custom domains. |
| Upstream protocol | How Teral talks to your app: HTTP/1.1 (default) or HTTP/2 (h2c). |
Upstream protocol
Clients always reach Teral over HTTPS. The upstream protocol is the protocol between Teral and your app inside the platform. Choose HTTP/2 (h2c) only if your app accepts HTTP/2 without TLS, for example a gRPC server. Most apps should stay on HTTP/1.1.
Delete an app
The Delete app section at the bottom removes the app with all its deployments, domains and variables. This can't be undone.