Skip to main content Link Search Menu Expand Document (external link)

Configuration Guide for Synapse

This guide provides step-by-step instructions for connecting DocIntel to a production deployment of Vertex Synapse.

Install Synapse

Install Synapse on your system by following the instructions on the Synapse Documentation website.

Add and provision a user

Report to the official documentation for Synapse for additional details. This section only highlights the key steps.

You can add a new user by running the following command, inside the Cortex container

python -m synapse.tools.moduser --add --admin true docintel

For example,

docker exec -it synapse-cortex python -m synapse.tools.moduser --add --admin true docintel

Then, generate a one-time use URL for our newly created user. In the context of the AHA container, you can run the following command

python -m synapse.tools.aha.provision.user docintel

That is, for example,

docker exec -it synapse-aha python -m synapse.tools.aha.provision.user docintel

You should see an output similar to

one-time use URL: ssl://aha.<yournetwork>:27272/<guid>?certhash=<sha256>

Enroll the user

On the host hosting the DocIntel instance and under the user used to run the Docker container, enroll the user with the one-time use URL generated before. This will download and setup the appropriate user certificates to connect to your instance.

python -m synapse.tools.aha.enroll ssl://aha.<yournetwork>:27272/<guid>?certhash=<sha256>

You can now check that the user certificate is indeed available in the .syn folders in the user’s home.

$ ls -la ~/.syn

Update Docker configurations

The configuration for the Docker containers connecting to your Synapse instance should be updated to mount the root and user certificates. For example, for the web application, your Docker file should be similar to the following one.

webapp:
  image: "docintelapp/webapp"
  container_name: docintel-dev-webapp
  ports:
    - 5005:80
  volumes:
    - _DOCINTEL_CONFIG_:/config
    - _DOCINTEL_DATA_/files/:/files
    - _DOCINTEL_DATA_/lock/:/lock
    - _DOCINTEL_DATA_/modules/:/modules
    - /root/.syn:/.syn
  depends_on:
    - solr
    - synapse
    - postgresql
    - rabbitmq

When using SystemD services, your service file should be similar to the following one.

...
ExecStart=/usr/bin/docker run --rm --name %n \
  --network $DOCINTEL_NETWORK \
  -p 5005:80 \
  -v $DOCINTEL_CONFIG:/config
  -v $DOCINTEL_DATA/files/:/files
  -v $DOCINTEL_DATA/lock/:/lock
  -v $DOCINTEL_DATA/modules/:/modules
  -v /root/.syn:/.syn
  docintelapp/webapp 
...

You need to update all the services configuration.

Update DocIntel configuration

The file appsettings.json needs to be updated in order to connect to the Synapse deployment.

"Synapse": {
  "URL": "ssl://docintel@00.cortex.<yournetwork>:27492"
},

Currently, DocIntel do not support aha:// urls. You have to use an ssl:// url.