Skip to content

Setup

In this space you will find documents, files and guides for the installation and operation of Open Pryv.io.

Since v2, Open Pryv.io is distributed as a single repository and Docker image — pryv/open-pryv.io — under the BSD-3-Clause license. The API server, registration, MFA, high-frequency series and preview services all run from the same binary, driven by bin/master.js.

Related components:

  • open-pryv.io: Main API server (core + register + mail + MFA + HFS + previews)
  • dev-migrate-v1-v2: Toolkit to migrate user data from Open Pryv.io 1.x to v2

If you already run Open Pryv.io 1.x and want to move your users to v2:

  1. Install a fresh v2 core following the platform setup guide.
  2. Use dev-migrate-v1-v2 to export your v1 MongoDB into a v2-compatible backup directory.
  3. Import that backup into the v2 install with node bin/backup.js --restore /path/to/backup — see the backup guide.

See the toolkit’s README for the current source/target support matrix.

The following repositories powered the v1 multi-container topology and are kept online as historical references only — v2 deployments should not use them:

If you are migrating a v1 register service, the historical register migration guide is still online — but in v2 the register role is built into the core binary, so use core migration instead.

  • Functional Requirement Specification: pryv.github.io/functional-specifications

    Functional specifications for the Pryv.io middleware system: the capabilities and functions that the system must be capable of performing.

  • Tests Results: tests

    Result of tests suite on open-pryv.io for the latest Open Pryv.io version.

  • Pryv.io configuration files: HTML

    Configuration files to install Open Pryv.io.

  • Pryv.io platform setup guide: HTML

  • Infrastructure procurement (Previously “Deployment design guide”): HTML

    This document describes how to deploy a Pryv.io platform as well as essential information to help you decide on your infrastructure and sizing needs. You will also find information about how to operate your Pryv.io platform.

  • Generate SSL certificate: HTML

    This document describes how to obtain a wildcard SSL certificate for your running Pryv.io platform using Let’s Encrypt.

  • Installation validation: HTML

    This document describes the steps to validate that a Pryv.io platform is up and running after deployment.

  • System monitoring: HTML

    This document describes the steps to perform regular healthchecks on a running Pryv.io platform.

  • System streams: HTML

    This document describes how to setup and configure your platform’s system streams.

  • DNS configuration: HTML

    This document describes how to add entries in your Pryv.io associated domain DNS zone.

  • Emails configuration: HTML

    This document describes how to configure the sending of Pryv.io emails for welcoming new users or resetting lost passwords.

  • Audit configuration: HTML

    This document describes how to setup audit capabilities for your Pryv.io platform.

  • Core migration: HTML

    This document describes how to migrate a Pryv.io core service to a different machine.

  • Single-node to Cluster upgrade: HTML

    This document describes how to upgrade a Pryv.io single-node installation to a cluster one.

  • User deletion

    In v2 (open-pryv.io), user deletion is an in-process API call: DELETE /users/:username (method id auth.delete). It removes the user’s events, streams, attachments, high-frequency series and audit log in one operation. Authenticate either with the user’s own personal token or with the platform adminAccessKey. See the system API reference. The v1 pryv-cli delete-user Docker tool is not used in v2 — there is no separate CLI container.

  • How to backup: HTML

    This document describes how to perform a backup of your Pryv.io platform and how to restore it.

  • MFA configuration: HTML

    This document describes how to enable and configure multi-factor authentication on top of the Pryv.io login.

  • OAuth2 app authorization: HTML

    This document describes the OAuth2 authorization-code flow (RFC 6749 + PKCE), when to choose it over the Pryv-native access-request polling flow, and how multi-core clients follow the apiEndpoint token-response extension.

  • Adapter routes (a sidecar under /adapter/<name>/): HTML

    This document describes how to serve a sidecar (an API facade, an agent gateway or any resource server for a core’s accounts) under the core’s own public URL, without a reverse proxy in front.

  • Observability: HTML

    This document describes the optional telemetry layer — what it emits and what it cannot emit, how to point it at any OTLP backend (including a collector you host yourself), and how to enable, tune the reporting interval, rotate credentials and disable it.

  • Rate limiting and DoS protection: HTML

    This document gives a reference nginx and fail2ban setup that throttles login, registration, access requests and per-token API traffic, with limits per workload profile and a load test to verify them.

  • Aliases and username changes: HTML

    This document describes the settings of access aliases and username changes, how the extra names route and survive a backup, what an alias does not hide, and the one-time repairs after upgrading from 2.0.0-rc.65 or earlier.

  • External ids: HTML

    This document describes how services link a third-party record id (an EHR patient id, for example) to exactly one account, platform-wide, without the platform seeing the id: namespaces, blinding, claim and lookup, the privacy boundary and the operator tools.

  • Account auto-deletion: HTML

    This document describes how accounts are deleted at a date their holder chose or after a period without use: the optional operator preset, reminder mails and minimum notice, the deletion sweep and its safeguards, the settings and the mail templates.

You can get in touch with Pryv’s support at Open Pryv - Issues and question