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.
| Module | Description |
|---|---|
core | The 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. |
archive | The 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.
| Module | Description |
|---|---|
oidc | Any OpenID Connect compatible login system, including FedID. |
github | Login with your GitHub account. |
google | Login 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