diff --git a/docs/nix_dev_env.md b/docs/nix_dev_env.md --- a/docs/nix_dev_env.md +++ b/docs/nix_dev_env.md @@ -136,6 +136,7 @@ ## Production workflows - [Services deployment](./nix_services_deployment.md) + - [Keyserver](./nix_services_deployment.md#keyserver) - [Tunnelbroker](./nix_services_deployment.md#tunnelbroker) ## Using alternate shells with Nix diff --git a/docs/nix_services_deployment.md b/docs/nix_services_deployment.md --- a/docs/nix_services_deployment.md +++ b/docs/nix_services_deployment.md @@ -1,5 +1,39 @@ # Services Deployment +## Keyserver + +Deploying the keyserver requires configuring it, building its Docker image, and deploying that image with Docker Compose. + +### Configuration + +In order for the keyserver to interact with other services and tools, the following must be added to `keyserver/.env`: + +``` +# Mandatory +COMM_DATABASE_DATABASE=comm +COMM_DATABASE_USER= +COMM_DATABASE_PASSWORD= +COMM_JSONCONFIG_secrets_user_credentials='{"username":"","password":""}' +# Production instance +COMM_JSONCONFIG_secrets_identity_service_config="{\"identitySocketAddr\":\"https://identity.commtechnologies.org:50054\"}" + +# Required for ETH Login +COMM_JSONCONFIG_secrets_alchemy='{"key":""}' +COMM_JSONCONFIG_secrets_walletconnect='{"key":""}' + +# Optional +COMM_JSONCONFIG_secrets_geoip_license='{"key":""}' +``` + +### Deploying Keyserver + +Once configured, the keyserver can be deployed by simply running: + +``` +cd keyserver +./bash/dc.sh up --build +``` + ## Tunnelbroker Deploying Tunnelbroker consists of building its Docker image and deploying that image as a Docker container.