ScanopyScanopy

Deploying the Commercial Edition

Run Scanopy's commercial server build with a license key, the integrated daemon, and email.

Interested in running the commercial edition? Reach out to [email protected] to get a license key. You can review what the commercial self-hosted edition includes on the pricing page.

The commercial edition of Scanopy is a license-gated server build for customers on a commercial plan. This guide covers only what differs from the standard self-hosted install — see Installing Scanopy (Self-Hosted) for requirements, verifying the install, and accessing the UI.

What's different

The commercial deployment is identical to the community deployment except for two things on the server service:

CommunityCommercial
Server imageghcr.io/scanopy/scanopy/server:latestghcr.io/scanopy/scanopy/server-commercial:latest
License keyNot usedSCANOPY_LICENSE_KEY is required

Without a valid license key, the commercial server starts in a locked state. The bundled docker-compose.commercial.yml fails fast at startup if SCANOPY_LICENSE_KEY is unset, so you'll see a clear error rather than a silently locked server.

1. Download the compose file

curl -O https://raw.githubusercontent.com/scanopy/scanopy/refs/heads/main/docker-compose.commercial.yml

2. Set your license key

Your license key comes with your commercial plan. If you don't have one, contact [email protected].

Create a .env file next to the compose file:

SCANOPY_LICENSE_KEY=your-license-key-here

Docker Compose loads .env automatically. Alternatively, export SCANOPY_LICENSE_KEY in your shell before starting.

3. Start Scanopy

docker compose -f docker-compose.commercial.yml up -d

The rest of the flow — verifying the containers are running and accessing the UI — is the same as the standard install.

The integrated daemon

The compose stack includes an integrated daemon that runs alongside the server. The server auto-initializes it on first start, and it immediately begins scanning your local network: Layer 2 and Layer 3 host discovery, port and service detection, and Docker container discovery via the mounted Docker socket.

You don't need to configure anything for the integrated daemon to work. If you'd rather not run a daemon in the same stack as the server — for example, you plan to run dedicated daemons elsewhere — remove the daemon service from the compose file and clear the SCANOPY_INTEGRATED_DAEMON_URL environment variable on the server service.

You can then point one or more standalone daemons at your server. See Setting Up Daemons or the Quick Start for deploying a daemon.

Scanopy uses email for account recovery, security notifications, and operational alerts. SMTP is optional — the app is fully usable without it (when no email service is configured, new accounts are auto-verified, so users can register and sign in normally) — but we recommend configuring it for any multi-user deployment.

Works without SMTP

  • Registration and sign-in work normally.
  • You can still invite teammates: the invite screen generates a shareable link you copy and send yourself. SMTP only adds the convenience of having Scanopy email the invite for you.

Requires SMTP

  • Password reset — recovery is email-only. Without SMTP, a user who forgets their password has no self-service way back in, so this is the main reason to set it up.
  • Security notifications — alerts when a password or email address changes, or an SSO provider is linked or unlinked.
  • Operational alerts — warnings when a daemon becomes unreachable or is placed on standby, plus per-scan discovery summaries.

SMTP is configured with a few environment variables on the server service. See SMTP Configuration in the server configuration reference for the full list and an example.

Next steps

On this page