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

# Deploy to Google Cloud

> Deploy InteraOne to Compute Engine with Docker Compose, VPC firewall rules, persistent disks, DNS, and operations.

Use a general-purpose Compute Engine Linux VM for the full multi-container Compose stack. Google's one-container VM workflows are not a direct fit: current guidance recommends `docker run`/cloud-init and notes the older container startup agent is deprecated. See [Containers on Compute Engine](https://cloud.google.com/compute/docs/containers).

<Steps>
  <Step title="Create the VM and disk">
    Use a supported Linux image, encrypted persistent disk, static external IP if your DNS design needs one, and an instance service account with minimal permissions.
  </Step>

  <Step title="Apply VPC firewall rules">
    Allow public `80`/`443`; restrict SSH through IAP or trusted sources. Keep data and internal service ports private. Google documents that VPC ingress is blocked by default outside explicitly allowed rules.
  </Step>

  <Step title="Install Docker and deploy">
    Install Docker Engine plus Compose, clone a reviewed InteraOne release, create `docker/.env`, and follow [production installation](/self-hosting/installation).
  </Step>

  <Step title="Configure Cloud DNS">
    Point web, API, CDN, and restricted logs records to the VM so Caddy can obtain certificates.
  </Step>

  <Step title="Operate">
    Schedule disk snapshots and application-level backups, ship logs/metrics, and alert on VM, disk, container, queue, and endpoint health.
  </Step>
</Steps>

<Warning>
  A disk snapshot alone may capture databases mid-write. Pair infrastructure snapshots with tested, application-consistent backups and restore procedures.
</Warning>
