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.