Skip to content

Deployment Options

Choose the deployment method that fits your infrastructure and team.

Decision Guide

FactorDockerHerokuKubernetesBare Metal
Setup timeMinutesMinutesHoursHours
Ops overheadLowMinimalMediumHigh
ScalingManualAutoAutoManual
SSL/TLSReverse proxyBuilt-inIngressManual
CostInfrastructurePlatform feeInfrastructureInfrastructure
Best forSmall teams, on-premQuick start, prototypingLarge orgs, multi-tenantFull control, air-gapped

Quick Recommendations

Just trying Vulcan? Start with Docker — single command to run.

Production for a small team? Docker with a reverse proxy (nginx/traefik) for SSL.

Managed platform? Heroku handles infrastructure, SSL, and backups.

Enterprise / multi-tenant? Kubernetes with Helm chart for scaling and isolation.

Air-gapped / classified network? Bare Metal for full control without container dependencies.

Common Requirements (All Deployments)

Every production deployment needs:

  1. SecretsSECRET_KEY_BASE, CIPHER_PASSWORD, CIPHER_SALT (generate with openssl rand -hex 64)
  2. PostgreSQL 18 — dedicated database with secure password
  3. Authentication — at least one provider (OIDC recommended, LDAP, or local login)
  4. SSL/TLS — HTTPS for all production traffic

See Configuration for the full "What You Must Provide" checklist.

Authentication Setup

All deployment methods support the same authentication providers:

  • OIDC/Okta — recommended for production (Okta, Azure AD, Keycloak, Auth0)
  • LDAP — Active Directory / OpenLDAP integration
  • GitHub OAuth — lightweight OAuth for development teams
  • Local login — email/password (enabled by default, disable for production)

Part of the MITRE Security Automation Framework (SAF)