Skip to main content Skip to complementary content

Installing Syncope with an external Tomcat

Deploy Apache Syncope on Apache Tomcat for managing users and groups in Talend ESB.

About this task

Information noteImportant: From Talend 8.0 R2026-06, Syncope is no longer packaged in the ESB installer. Syncope must be installed from the public Apache Syncope project resources. The supported stack is Apache Syncope 4.1, Java 21, and Apache Tomcat 10.

Due to schema changes between major versions, you cannot migrate Syncope 2.x to 4.x. You must re-create users, groups, roles, connector instances, and resources. You can also export them using the Syncope 2 REST API and import using the Syncope 4 REST API, or the administration console.

Installing Syncope 4

Before you begin

Download and install the latest 10.x Tomcat release version from the Apache Tomcat site.

About this task

Follow this procedure when you are using Talend 8.0 R2026-06 or later versions.

Information noteTip: A Docker Compose-based installation is also available for non-production setups. See the Apache Syncope Docker documentation.

Procedure

  1. If Tomcat is running, stop it.
  2. Activate Java 21.
  3. In apache-tomcat-xxx/bin, open or create a file called setenv.sh and add or modify the value of JAVA_OPTS as follows:
    JAVA_OPTS="-DCATALINA_HOME=$CATALINA_HOME -DCATALINA_BASE=$CATALINA_BASE"
  4. Download the PostgreSQL JDBC driver (postgresql-xx.jar) from PostgreSQL JDBC Driver and place it in apache-tomcat-xxx/lib/.
  5. Start a PostgreSQL instance (example using Docker):
    docker run --name syncope-db \
      -e POSTGRES_PASSWORD=syncope \
      -e POSTGRES_USER=syncope \
      -e POSTGRES_DB=syncope \
      -p 5432:5432 -d postgres
    Alternatively use an existing PostgreSQL server and create a dedicated database and user.
  6. Build the Syncope 4.1 WAR files from the Maven archetype as described in the Apache Syncope documentation. The required WAR files are: syncope.war, syncope-console.war, syncope-enduser.war.
  7. Unpack syncope.war and append the following to WEB-INF/classes/core.properties:
    keymaster.username=anonymous
    keymaster.password=anonymousKey
    keymaster.address=http://localhost:8080/syncope/rest/keymaster
  8. Unpack syncope-console.war and append the following to WEB-INF/classes/console.properties:
    keymaster.username=anonymous
    keymaster.password=anonymousKey
    keymaster.address=http://localhost:8080/syncope/rest/keymaster
  9. Copy the unpacked syncope and syncope-console directories, and the syncope-enduser.war to apache-tomcat-xxx/webapps/.
  10. Optional: To change the default port, update the connector port value in apache-tomcat-xxx/conf/server.xml.
  11. Optional: To improve security, change the default admin password by editing the adminPassword parameter in syncope/WEB-INF/classes/security.properties.
  12. Start Tomcat.

Results

You can now access the Apache Syncope Console.

Installing Syncope 2

Availability-noteDeprecated
The following procedure describes how to install Syncope 2 with an external Tomcat instance. Syncope 2 is no longer packaged with Talend ESB and is deprecated. Use this procedure only if you are maintaining an existing Syncope 2 installation.

Before you begin

Download and install the latest 9.0.x Tomcat release version from the Apache Tomcat site.

About this task

Information noteNote: Follow this procedure when you are using Talend 8.0 R2026-05 or earlier versions.

Procedure

  1. If Tomcat is running, stop it.
  2. In apache-tomcat-xxx/bin, open or create a file called setenv.sh and add or modify the value of JAVA_OPTS as follows:
    JAVA_OPTS="-DCATALINA_HOME=$CATALINA_HOME -DCATALINA_BASE=$CATALINA_BASE"
    Information noteNote: Apache Syncope supports Java 21.

    The JAVA_HOME or JRE_HOME environment variables (depending on the Java distribution used) are not strictly required, but recommended to be set.

  3. Go to Talend-ESB-V8.0.1.RXXXX-XX-RT/container/system/com/h2database/h2/2.2.220, copy the h2-2.2.220.jar file and paste it in the apache-tomcat-xxx/lib folder.
  4. Copy the add-ons/syncope/ files located in the ESB installation files and paste them in the apache-tomcat-xxx/webapps folder of your Tomcat.
  5. Unzip the following files:
    • syncope-console.war
    • syncope-enduser.war

    You do not need to unzip syncope.war nor sts.war.

  6. Open the following files and update the port value to 9080:
    • syncope-enduser/WEB-INF/classes/enduser.properties
    • syncope-console/WEB-INF/classes/console.properties
  7. Align the Tomcat port value: in the apache-tomcat-xxx/conf folder, open server.xml and change the connector port value to 9080.
  8. Optional: To improve security, change the default credentials of the default Apache Syncope user account by editing the adminPassword parameter in the syncope/WEB-INF/classes/security.properties file.
    For more information, see Apache Syncope documentation
  9. Start Tomcat.

Results

You can access the Apache Syncope Console with the following URL: http://localhost:9080/syncope-console/.

Did this page help you?

If you find any issues with this page or its content – a typo, a missing step, or a technical error – please let us know!