> ## Documentation Index
> Fetch the complete documentation index at: https://docs.instapods.com/llms.txt
> Use this file to discover all available pages before exploring further.

# FAQ

> Frequently asked questions about InstaPods.

## General

> **What is a pod?**
>
> A pod is a persistent Linux container running on InstaPods infrastructure. Think of it as a lightweight virtual server with its own filesystem, SSH access, and public URL. Unlike Docker containers, pods are persistent — all data survives restarts.

> **How long does it take to create a pod?**
>
> Pods are created in 1–2 seconds using pre-built images. If the warm pool is enabled in your region, creation can be nearly instant.

> **Can I run multiple apps in one pod?**
>
> Technically yes — a pod is a full Linux container, so you can run multiple processes. However, each pod is designed around a single preset (Static, PHP, Node.js, or Python). For multiple apps, we recommend separate pods.

> **Are pods ephemeral like Docker containers?**
>
> No. Pods are persistent containers — all files, installed packages, and configurations survive stop/start cycles. Your data is preserved unless you explicitly delete the pod.

> **What Linux distribution do pods use?**
>
> All pods run Ubuntu 24.04 LTS (Noble Numbat).

> **How large a file can visitors upload to my app?**
>
> 512 MB per request. The proxy in front of every pod enforces that, so an upload larger than it is refused with a `413` before it ever reaches your app - your app's own limits apply on top.
>
> This is about requests to *your* app. Getting files into a pod through InstaPods is separate: the API accepts **100 MB per request**, so that's the ceiling for a single [`instapods files upload`](/ssh-and-files/file-management). [`files sync`](/cli/files) is not limited by it - it splits a directory into batches that fit and sends them in sequence. SSH and SFTP have no limit but your pod's disk.

## SSH & Access

> **How do I connect to my pod via SSH?**
>
> Each pod has a dedicated SSH port. Find it on the pod detail page or run `instapods pods get my-app`. Then connect:
>
> ```bash theme={null}
> ssh instapod@nbg1-1.instapods.app -p YOUR_PORT
> ```
>
> Or use the CLI shortcut: `instapods ssh my-app`

> **Can I use my own SSH key?**
>
> Yes. Add your public key at pod creation (`--ssh-key` flag), via the dashboard SSH tab, or with the CLI:
>
> ```bash theme={null}
> instapods ssh-keys add my-app
> ```

> **What user do I connect as?**
>
> Always connect as the `instapod` user. This is the non-root user that owns your application files.

## Services & Databases

> **Why can't I install services on the Launch plan?**
>
> Database services (MySQL, PostgreSQL, Redis) require additional memory and CPU. The Launch plan's resources (512 MB RAM, 1 vCPU) are too limited for reliable database operation. Upgrade to the Build plan or higher.

> **Can I access my database from outside the pod?**
>
> No. Database services listen on `localhost` only and are not accessible from the internet. This is a security measure. To access your database remotely, use SSH port forwarding:
>
> ```bash theme={null}
> ssh -L 3306:localhost:3306 instapod@host -p PORT
> ```

> **How do I back up my database?**
>
> SSH into your pod and use the database's native dump tool:
>
> ```bash theme={null}
> # MySQL
> mysqldump -u instapod -p instapod > backup.sql
>
> # PostgreSQL
> pg_dump -U instapod instapod > backup.sql
> ```
>
> Then download the dump file using SCP or the CLI.

## Billing

> **Is there a free trial?**
>
> Yes, in one place. If you connect the [InstaPods connector](/mcp/overview) to an AI assistant and ask it to deploy your code before you've added a card, you can be granted a **free trial pod**: a real Launch pod on a live HTTPS URL, deleted automatically after 90 minutes unless you keep it. Adding a payment method claims it - the pod keeps its name, URL and files, and nothing is charged that day. One per person, and 1-Click Apps aren't included. See [Free Trial Pod](/mcp/trial).
>
> Everywhere else - the dashboard, the CLI, the API - a payment method is required before your first pod.

> **What happens if my payment fails?**
>
> Your subscription enters a "past due" state with a 7-day grace period. During this time, existing pods keep running but you can't create new ones. After 7 days, pods are suspended. Pay the invoice to reactivate.
>
> Suspended pods are not kept indefinitely. At 28 days suspended you get a final notice naming the pods and the date, and 7 days after that they are deleted permanently. See the [full timeline](/dashboard/billing#if-it-stays-unpaid-the-pods-are-deleted).

> **Can I change plans?**
>
> Yes, upgrade or downgrade anytime. Resource changes (CPU, memory, disk) take effect immediately. Billing is prorated — you're charged for the time spent on each plan.

> **Do stopped pods cost money?**
>
> Currently, billing is per-plan (flat monthly rate), not per-usage. A stopped pod still counts toward your subscription. Delete the pod if you no longer need it.

> **How do I cancel my subscription?**
>
> Go to **Billing** → Danger Zone → **Cancel subscription**. Only the team owner can cancel, because it ends billing for the whole team.
>
> Delete every pod on the team first — the dashboard lists any that are still in the way and links to them. Stopping a pod is not enough: a stopped pod is still charged at its full plan rate, and only deleting it ends the charge.
>
> Cancelling stops billing immediately and you are not invoiced for the part-month already used. Your account, team, invoice history and any remaining credits stay exactly as they are, so there is nothing to re-sign-up for — deploying a pod again starts a new subscription automatically.

> **How do I close my account?**
>
> Delete it yourself from the account menu → **Account** → Danger Zone. It destroys every pod you own and cancels any subscription, permanently. Settle any unpaid invoice first. See [Account Settings](/dashboard/account-settings#deleting-your-account).

## Custom Domains

> **How many custom domains can I add?**
>
> Up to 5 custom domains per pod.

> **Do I get SSL for custom domains?**
>
> Yes. After DNS verification, an SSL certificate is automatically provisioned via Let's Encrypt.

> **Can I use a root domain (not a subdomain)?**
>
> Yes, if your DNS provider supports CNAME flattening (most modern providers do, including Cloudflare). Otherwise, use a subdomain like `app.example.com`.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.