> ## 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.

# Quickstart

> Get your app online in under 5 minutes.

Get a running pod with a public URL in just a few steps.

## Step 1: Create an Account

Go to [app.instapods.com/register](https://app.instapods.com/register) and sign up with your email address, or sign in with **GitHub** or **Google**.

## Step 2: Create a Pod

<Tabs>
  <Tab title="Dashboard">
    1. Click **Create Pod** from the dashboard
    2. Enter a name for your pod (e.g., `my-first-app`)
    3. Select a preset:
       * **Static** — HTML/CSS/JS served by nginx
       * **PHP** — PHP 8.2 / 8.3 / 8.4 with nginx and Composer
       * **Node.js** — Node.js 18 / 20 / 22 with npm
       * **Python** — Python 3.11 / 3.12 with pip and venv
    4. Choose a plan (Launch is fine to start)
    5. Click **Create**

    Your pod will be ready in 1-2 seconds.
  </Tab>

  <Tab title="CLI">
    ```bash theme={null}
    # Install the CLI
    curl -fsSL https://instapods.com/install.sh | sh

    # Login
    instapods login --email you@example.com

    # Deploy in one command (creates pod + uploads code + installs deps)
    instapods deploy my-first-app --local ./my-project
    ```

    The `deploy` command auto-detects your stack, creates the pod, syncs files, and reloads — all in one step. See [deploy docs](/cli/deploy) for details.
  </Tab>

  <Tab title="API">
    ```bash theme={null}
    curl -X POST https://app.instapods.com/api/pods \
      -H "Authorization: Bearer YOUR_TOKEN" \
      -H "Content-Type: application/json" \
      -d '{
        "name": "my-first-app",
        "preset": "nodejs",
        "plan": "launch"
      }'
    ```
  </Tab>
</Tabs>

## Step 3: Access Your Pod

Once created, your pod is accessible at:

```
https://my-first-app.nbg1-1.instapods.app
```

### Connect via SSH

```bash theme={null}
ssh instapod@nbg1-1.instapods.app -p YOUR_PORT
```

Each pod gets a unique SSH port (in range 2200-3200). Find yours on the pod detail page or via the CLI:

```bash theme={null}
instapods pods get my-first-app
```

## Step 4: Deploy Your Code

<Tabs>
  <Tab title="Git (Recommended)">
    ```bash theme={null}
    # Connect a GitHub repo and deploy
    instapods git connect my-first-app \
      --repo https://github.com/you/your-repo --deploy
    ```

    From now on, every push to `main` auto-deploys. See the [Git Deployment guide](/guides/git-deployment) for details.
  </Tab>

  <Tab title="CLI Upload">
    ```bash theme={null}
    # Upload a single file
    instapods files upload my-first-app ./index.html

    # Sync an entire directory
    instapods files sync my-first-app --local ./my-project

    # Reload to install deps and restart the service
    instapods pods reload my-first-app
    ```

    <Note>
      For Node.js and Python presets, you **must** run `pods reload` after uploading code. This installs dependencies (`npm install` / `pip install`) and restarts the app service.
    </Note>
  </Tab>

  <Tab title="SSH/SCP">
    ```bash theme={null}
    scp -P YOUR_PORT ./index.html instapod@nbg1-1.instapods.app:/home/instapod/app/
    ```

    Replace `YOUR_PORT` with your pod's SSH port (shown in `instapods pods get my-first-app`).
  </Tab>
</Tabs>

## Step 5: Add a Database (Optional)

Need a database? Install one with a single command:

```bash theme={null}
instapods services add my-first-app -s mysql -w
instapods services creds my-first-app -s mysql
```

Or use the dashboard — go to your pod's **Services** tab and click **Install**.

<Note>
  Database services require the Build plan (\$7/mo) or higher. If you're on Launch, upgrade from the billing page first.
</Note>

## Next Steps

<CardGroup cols={2}>
  <Card title="Learn Core Concepts" icon="book" href="/getting-started/concepts">
    Understand pods, presets, plans, and regions
  </Card>

  <Card title="Explore Presets" icon="layer-group" href="/presets/overview">
    See what each preset includes
  </Card>

  <Card title="Set Up Custom Domain" icon="globe" href="/dashboard/custom-domains">
    Point your own domain to your pod
  </Card>

  <Card title="Install the CLI" icon="terminal" href="/cli/installation">
    Automate your workflow
  </Card>
</CardGroup>
