# Getting Started

This guide walks you through deploying your first QScan instance and verifying it is operational.

## Prerequisites

Before deploying QScan, ensure you have:

* A **registration token** from [app.qpoint.io](https://app.qpoint.io) (Settings -> API Tokens)
* **S3-compatible object storage** configured and accessible (AWS S3, GCS, MinIO, or Qpoint's managed storage)
* **Network access** to the Pulse API (`api-pulse.qpoint.io` on TCP 443) and your S3 endpoint
* A **container runtime** (Docker, Kubernetes, or Cloud Run)

## Quick Start with Docker

Pull and run the QScan container with your registration token:

{% code overflow="wrap" %}

```bash
docker run -d \
  --name qscan \
  -e REGISTRATION_TOKEN=your-registration-token \
  -e METRICS_PORT=8080 \
  -e LOG_LEVEL=info \
  -p 8080:8080 \
  --memory=12g \
  --cpus=2 \
  us-docker.pkg.dev/qpoint-edge/public/qscan:latest
```

{% endcode %}

{% hint style="info" %}
When using Qpoint's managed S3 storage (the default), you do not need to configure S3 credentials separately. The registration token is used as the S3 access key automatically.
{% endhint %}

If you are using your own S3-compatible storage, add the S3 configuration:

{% code overflow="wrap" %}

```bash
docker run -d \
  --name qscan \
  -e REGISTRATION_TOKEN=your-registration-token \
  -e S3_ENDPOINT_URL=https://s3.amazonaws.com \
  -e S3_BUCKET_NAME=your-bucket \
  -e S3_REGION_NAME=us-east-1 \
  -e AWS_ACCESS_KEY_ID=your-access-key \
  -e AWS_SECRET_ACCESS_KEY=your-secret-key \
  -e METRICS_PORT=8080 \
  -e LOG_LEVEL=info \
  -p 8080:8080 \
  --memory=12g \
  --cpus=2 \
  us-docker.pkg.dev/qpoint-edge/public/qscan:latest
```

{% endcode %}

## Verify Operation

**Check the metrics endpoint:**

```bash
curl http://localhost:8080/
```

A successful response indicates the QScan process is running and the metrics server is healthy.

**Check the logs:**

```bash
docker logs qscan
```

You should see log messages indicating that QScan has loaded its ML models and begun polling Pulse for scan jobs. Initial model loading takes 1-2 minutes depending on your hardware.

## Next Steps

* [System Requirements](https://docs.qpoint.io/getting-started/qscan/system-requirements) -- hardware and network specifications
* [Installation](https://docs.qpoint.io/getting-started/qscan/installation) -- detailed deployment guides for Docker, Kubernetes, and Cloud Run
* [Configuration](https://docs.qpoint.io/getting-started/qscan/configuration) -- environment variables and tuning options
