Skip to main content

Containerized deployment

Run the command below to download the Docker Compose file:

curl -o docker-compose.yml https://gitea.jlinc.io/jlinc-labs/jlinc-server/raw/branch/main/docker-compose-dex.yml

Set up a secure secret​

First, generate a random secure secret to be used in the configuration:

openssl rand -hex 64
d5be680c693a4838ef2e030ce8773fc175552795cb3ecbcbb752a218d304d98018a643d54c41ee06cb4b5a990cf4d88155656d62874dd0dd22c2756e577ac69b

Copy the returned number (not the sample above) and insert it into the downloaded docker-compose.yml, replacing the placeholder SECURE_SECRET:

# Secure secret for memory store, generate with `openssl rand -hex 64`
SECURE_SECRET: d5be680c693a4838ef2e030ce8773fc175552795cb3ecbcbb752a218d304d98018a643d54c41ee06cb4b5a990cf4d88155656d62874dd0dd22c2756e577ac69b

Choose your application modules​

There are two application modules that can be configured in the APP_MODULES variable.

ModuleDescription
coreThe core module provides cryptographic signing, entity/DID management, agreement and event processing, and creation and delivery of audit records to an Archiver service with validation services.
archiveThe archive module provides secure storage of zero-knowledge third-party audit records.

For systems with highly confidential data, the recommended setup for a JLINC implementation is:

  • Self-hosted JLINC Server running the core application module for local cryptographic signing and storage of confidential data
  • Use of our cloud hosted solution for archiving zero-knowledge third-party audit records to support any secure auditing requirements your business may have

Setup authentication​

There are three authentication modules that can be configured in the AUTH_MODULES variable to allow for login into the JLINC Server.

ModuleDescription
oidcAny OpenID Connect compatible login system, including FedID.
githubLogin with your GitHub account.
googleLogin with your Google account.

Each module contains separate configuration options documented directly in the compose file.

The docker-compose.yml comes pre-configured to use OIDC with Dex for authentication. Dex has the added benefit of also handling upstream authentication with a variety of providers. The default username and password configured in Dex is:

  • Username: testuser@jlinc-test.com
  • Password: password

Start the services​

You can now use the standard Docker Compose commands to bring up your services.

docker compose up