AGPL-3.0-onlyCI: typecheck + tests ↗One company per installation

Digital business cards for a company to host itself.

OpenCard serves shareable cards and gives your team an admin dashboard for designs, people, QR codes, leads, and backups. It runs on your server and your domain.

Inside the app

Actual screens from a disposable Docker install with sample data. Click to inspect at full size.

Architecture ↗
OpenCard dashboard showing two related brands, their locations, workspace tools, and card counts
Dashboard · brands, locations, and operations
Card editor with identity fields and a live wave-layout preview
Card editor · live preview while editing
Employee self-service page showing editable fields, profile photo upload, and the public card link
Employee view · edit only fields the admin permits
Backups page listing database and upload snapshots with workspace restore controls
Backups · database and uploads snapshots

What ships

Cards

Public card URLs, vCard downloads, QR images, printable ID badges, brand templates, and cardholder editing at /me with admin-controlled fields.

Operations

Lead capture, card and QR analytics, audit history, local snapshots, full database/upload backups, and optional S3-compatible offsite copies.

Integrations

Microsoft Entra OIDC, SAML, SCIM, CSV and directory import, API keys, webhooks, and CRM connections. Provider credentials are optional for core cards.

Scope and non-goals

OpenCard is free software you operate. It is not a hosted account at opencard.id.

  • One business per installation. Brands and locations live inside that business; this is not a multi-customer SaaS platform.
  • No billing or card quotas. The app does not require a license server or paid plan to create cards.
  • You run the infrastructure. HTTPS, updates, monitoring, and tested disaster recovery are the operator’s responsibility.
  • Integrations are opt-in. SSO, directory sync, CRM, email, and offsite storage need your own provider accounts and configuration.

Requirements

Docker with Compose v2. The supplied stack uses PostgreSQL 16 and Node.js 24. For internet access, configure a hostname and HTTPS reverse proxy; an optional Caddy profile is included.

No published RAM or architecture support matrix yet—test against your target machine before production use.

Project files