---
title: Variables Blossom Sets
url: "/docs/apps/provided-variables/"
canonical_url: https://docs.blossom88.com/docs/apps/provided-variables/
markdown_url: https://docs.blossom88.com/docs/apps/provided-variables.md
summary: PORT and your Service's own hostname, available from the first deploy
categories:
- applications
- deployment
---

# Variables Blossom Sets

Blossom gives every Container a few variables, so your App can configure
itself without settings you copy from the dashboard.

| Variable | Set for | Example |
|---|---|---|
| `PORT` | Services with a port | `3000` |
| `BLOSSOM_SERVICE_HOST` | Public Services | `shop-production-web-1a2b3c4d.g-x9y8.app.onblsm.dev` |
| `BLOSSOM_SERVICE_URL` | Public Services | `https://shop-production-web-1a2b3c4d.g-x9y8.app.onblsm.dev` |

Use the host where a framework checks the `Host` header, such as Rails
`config.hosts` or an MCP server's allowed hosts:

```ruby
config.hosts << ENV["BLOSSOM_SERVICE_HOST"] if ENV["BLOSSOM_SERVICE_HOST"]
```

Both are set from the very first deploy, before the URL starts serving. They
hold the Service's generated URL; add your custom domains yourself. A variable
you set with the same name wins.

## What You Get

Your App knows its own address on day one: no second deploy to paste the URL
back in. After `blossom service:regenerate_url`, the new values reach your
Containers on the next deploy.
