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:
| Community | Commercial | |
|---|---|---|
| Server image | ghcr.io/scanopy/scanopy/server:latest | ghcr.io/scanopy/scanopy/server-commercial:latest |
| License key | Not used | SCANOPY_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.yml2. 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-hereDocker 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 -dThe 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, initialized on first start with nothing to configure. It immediately scans your local network: Layer 2 and Layer 3 host discovery, port and service detection, and container discovery through the mounted socket.
To run daemons elsewhere instead, remove the daemon service from the compose file and clear SCANOPY_INTEGRATED_DAEMON_URL on the server service, then point standalone daemons at your server — see Setting Up Daemons.
Recommended: configure SMTP
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
- Server Configuration — Configure server settings
- Configuring Single Sign-On (OIDC) — Set up enterprise authentication
- Quick Start — Deploy your first daemon