Powered by Zoomin Software. For more details please contactZoomin

Install Semaphore on Linux

Plan your Semaphore installation

  • Last Updated: May 13, 2026
  • 4 minute read
    • Semaphore
    • Documentation

Architecture planning and partitioning for Semaphore

When designing architecture for Semaphore, one of the most important considerations is resource usage of the Semaphore components. The demand components have on resources largely determine how the components are partitioned and the required specifications of their servers. It's worth noting that resource demand can be influenced by a number of factors, such as the number of documents processed and how often documents are created or modified. These factors should be considered when planning your architecture.

The following is the resource usage by component for a typical implementation:

  • Semaphore Studio: Large amounts of RAM but low CPU (on average)

  • Classification and Language Service (CLS): RAM and CPU activity is generally very high. As a result of the high resource demand, we recommend that you isolate this component as much as possible from other components.

  • Semantic Enhancement Service (SES): Only used as requested by users so only uses resources as needed, however, performance is critical as this is, generally, the interface by which users other than Information Scientists directly access the Semaphore information.

Semaphore components can be installed on separate servers (See Network firewall configuration for firewall considerations). By installing on multiple servers, the architecture can be designed in such a way to ensure that component execution does not interfere with other components installed on the same machine. For example, with three servers, an implementation for an average size implementation would take the following structure:

  • Server A: Hosts Semaphore Studio, including Knowledge Model Management with the Publisher

  • Server B: Hosts Semantic Enhancement Server

  • Server C: Hosts Classification Server

This design ensures that the high activity of Classification Server does not interfere with the serving of Semantic Enhancement Server information. Maintaining the performance of the Semantic Enhancement Server is critical because its information is delivered to the end user.

A few things to note when designing the architecture for your Semaphore implementation:

  • For implementations that handle large numbers of documents, deploying the Classification Server on multiple servers is highly recommended.

  • Although using load balancers is possible for a number of Semaphore components, they should not be used for Semaphore Studio or any of its sub-components, as the connection by clients to this application must be persisted.

  • Progress Semaphore can assist in the design of any architecture required for a particular implementation. Contact Progress for more information.

Linux services created and used by Semaphore

During installation, the following services are created on the target server:

  • semaphore: A service that controls Semaphore Studio, KMM, and DA.

  • semaphore-ai: The AI Model Builder sub-component of the Studio component.

  • semaphore-alert: The Alerting Service sub-component of the Studio component.

  • semaphore-cm: The Concepts Server Manager sub-component of the Studio component.

  • semaphore-concepts: The Concepts Server.

  • semaphore-cs: The Classification Service.

  • semaphore-da: The Document Analyzer sub-component of the Studio component.

  • semaphore-kmm: The Knowledge Model Manager and Knowledge Review Tool sub-component of the Studio component.

  • semaphore-pr: The Precision and Recall Server.

  • semaphore-rm: The Rulenet Manager sub-component of the Studio component.

  • semaphore-rs: The Reconciliation Server.

  • semaphore-ses: The Semantic Enhancement Service.

  • semaphore-sm: The SES Manager sub-component of the Studio component.

  • semaphore-studio: The front end to the Semaphore User Interface.

You can start or stop these services, as with all Linux services, using the following commands below.

  • To start the service:
    systemctl start \<service-name>
    
  • To stop the service:
    systemctl stop <service-name>
    
  • To check the status of the service:
    systemctl status <service-name>
    

Network firewall configuration

Any network configuration and firewall software should allow communication between the relevant external systems (for example, a CMS you may be using) and the Semaphore installation server. The following are the default TCP/IP ports used by the Semaphore components (note that all port numbers are configurable):

TCP/IP Port Communication Access Semaphore Application Explanation
5058 Inter-Product or External Classification Server Requests for classification are submitted to this port (e.g., from a CMS or other integration). Also used by Semaphore Publisher when publishing model information.
5059 Inter-Product Classification Server Administration access and test interface.
5080 External Studio The Semaphore Studio user interface.
5081 Local Studio (Document Analyzer) The port that Semaphore Studio uses to access the Document Analyzer sub-component.
5082 Local Studio (Knowledge Model Management) The port that Semaphore Studio uses to access the Knowledge Model Management subcomponent.
5083 Local Studio (Rulenet Manager) The port that Semaphore Studio uses to access the Rulenet Manager sub-component.
5084 Local Studio (SES Manager) The port that Semaphore Studio uses to access the Semantic Enhancement Server Manager sub-component.
5085 Local Studio (Concepts Server Manager) The port that Semaphore Studio uses to access the Concepts Server Manager sub-component.
5086 Local Studio (Alerting Server) The port that Semaphore Studio uses to access the Alerting Server sub-component.
5090 Inter-Product and External Reconciliation Server This is an optional component.
5091 External Classification Precision and Recall Tool This is an optional component.
5092 Inter-Product and External Concepts Server Requires MarkLogic.
5093 Inter-Product Text Mining Side-Panel The port that KMM uses to access the Text Mining side-panel widget. Requires MarkLogic.
8983 Inter-Product and External Semantic Enhancement Server Requests to return published model information are submitted to this port. Also used by the Semaphore Publisher product when publishing model information.

* Ports marked as Inter-Product, allow communication between Semaphore components; ports marked External provide services to external-facing applications, such as any product integrating with Semaphore; and ports marked Local are for sub-components within a single installed Semaphore component and on the same physical machine, so network/firewall configuration is not required.

Note: If Semaphore components are installed on multiple servers, then ensure that the relevant External or Inter-Product TCP/IP ports are open.

External triplestore products supported

Knowledge Model Management has built-in support that uses a Jena TDB triplestore, but it also supports the use of the following external triplestore products: Marklogic 8.04 (or later)

Next steps

Requirements

TitleResults for “How to create a CRG?”Also Available inAlert