Github|...

Deploying

Deploy

Bash
spky cloud deploy

The deploy command performs these steps automatically:

  1. Validates your sp00ky.yml configuration
  2. Builds Docker images for each app (linux/amd64)
  3. Uploads images to Sp00ky Cloud (skips unchanged images)
  4. Provisions infrastructure (SurrealDB, Scheduler, SSP instances)
  5. Runs migrations against the cloud database
  6. Deploys your backend and frontend containers
  7. Configures DNS and SSL certificates

You’ll see real-time progress as each step completes.

Note

Run spky lint before deploying to catch config issues early.

Upgrading Infrastructure

To also upgrade SSP and Scheduler to the latest version:

Bash
spky cloud deploy --upgrade

Checking Status

Bash
spky cloud status

Shows the current deployment version, status, and all running VMs with their roles and versions.

Scaling

Scale your SSP instances horizontally:

Bash
# Scale to 3 SSP instances
spky cloud scale --ssp 3

You can also set the default SSP count in your sp00ky.yml:

yaml
deployment:
  sspCount: 2

Log Level

logLevel in sp00ky.yml sets RUST_LOG on the Scheduler and SSP containers. Default is info.

yaml
# Single value applies everywhere
logLevel: info

Use a { dev, cloud } map to differ per environment:

yaml
# Per-environment: chatty locally, quiet in production
logLevel:
  dev: trace
  cloud: info

The value is forwarded to tracing-subscriber, so target-specific directives work:

yaml
# Tracing-style target=level directives also work
logLevel: info,ssp=debug,scheduler=trace

Each spky cloud deploy sends the resolved cloud value to Sp00ky Cloud, which restarts the Scheduler and SSP containers with the new RUST_LOG. Use --upgrade if you also want fresh base images at the same time.

Note

At trace, the Scheduler logs every replica query and every record it ingests during bootstrap. Useful for diagnosing “why isn’t this row showing up?” — see Logs & Monitoring.