FAQ

Last updated

Deploying

What languages and stacks are supported? Anything that runs in a Linux container. The zip flow detects Python, Node.js and prebuilt .NET automatically; everything else works with a Dockerfile.

Do I need a Dockerfile? For git-push deploys, yes — at the repository root, named exactly Dockerfile. Uploading a zip doesn't need one.

How do I deploy an update? Push again. With git, push to deploy. With Docker, push a new image and apply it. The container is replaced with the new version.

Can I test a build without deploying? Yes — push to the build branch instead of deploy. The image is built and your running app is left alone.

Why wasn't my Dockerfile found? It must be at the root of what you pushed, with that exact name. Subfolders and suffixed names aren't detected.

Running

Does my app sleep when idle? No. Apps are not stopped because they are idle. A running app keeps running whether it is busy or not, and costs the same either way, because billing follows what you allocate.

Can I run multiple instances? No. An app is a single container, so you scale by increasing CPU and RAM rather than by adding instances.

What restarts my app? Deploys, and any configuration change — environment variables, ports, volumes, config files, run command, CPU/RAM preset. Also crashes, which are restarted automatically.

How long does my app get to shut down? About a second between the stop signal and being killed. Long graceful-shutdown routines won't finish, so keep work short and repeatable.

Why does my app show as running when it's broken? The status reflects the container, not your code. There are no health checks — see Observability.

Networking

Is HTTPS included? Yes, automatically, on a platform subdomain. Nothing to buy or renew.

Can I use my own domain? Not currently.

Can I run non-HTTP services? Yes — bind a TCP or UDP port. The public port number is generated rather than chosen.

Is there private networking between my apps? No. Every port binding is public, so app-to-app traffic uses credentials rather than network isolation.

Why doesn't my URL respond even though the app is running? Almost always because the app is listening on 127.0.0.1. Bind 0.0.0.0.

Data

Where does my data need to live? On a volume. Anything else is discarded when the container is recreated, silently.

Can two apps share a volume? No. A volume belongs to one application.

Is there a managed database? No. Run one as its own app, use SQLite on a volume, or connect to a hosted database elsewhere.

Are my volumes backed up? No. Arrange your own backups and store them off the platform.

Billing

How am I charged? Per minute, on the CPU, RAM and disk you allocate: $1.90 per vCPU-month, $1.95 per GB RAM-month, and $0.25 per GB disk-month. See pricing.

Does running more apps cost more? No. Resources are aggregated across applications; the count isn't a billing unit.

Why did all my apps stop at once? Either your balance ran out, or your total volume size exceeded the account disk limit — that one stops every app until you free space.

Is there a free allowance in the price calculation? No. All allocated CPU, RAM, and disk are billed at the published unit rates, prorated per minute.

Can hosting limits cap my OpenAI or other API bill? No. That spending is between your app and that provider — set a limit there.

Configuration

Are environment variables available during the build? No. The build receives neither environment variables nor build arguments, which is why NEXT_PUBLIC_* and VITE_* values come out empty unless you build in CI.

Where do secrets go? Environment variables on the app. Not in source, not in the Dockerfile, and never behind a client-side prefix.

Why does my run command fail with a strange argument error? Your command is appended to the image's ENTRYPOINT rather than replacing it. See Set the run command.

Access

Can I share an app with a teammate? No. Applications have a single owner — collaborate through your repository and deploy from CI.

How do I get support? Contact support from the panel. Notifications and important account emails go to the address on your account, so keep it current.