# Installing Syncope with an external Tomcat

Available in...

* Data Fabric
* Data Services Platform
* ESB
* Qlik Talend Cloud Enterprise Edition
* Qlik Talend Cloud Premium Edition
* Real-Time Big Data Platform

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.

| Release | Syncope version | Java version | Tomcat version |
| --- | --- | --- | --- |
| Talend 8.0 R2026-05 and earlier | Syncope 2 | Java 8 | Tomcat 9 |
| Talend 8.0 R2026-06 and later | Syncope 4.1 | Java 21 | 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

Available in...

* Data Fabric
* Data Services Platform
* ESB
* Qlik Talend Cloud Enterprise Edition
* Qlik Talend Cloud Premium Edition
* Real-Time Big Data Platform

### Before you begin

Download and install the latest 10.x Tomcat release version from the [Apache Tomcat](http://tomcat.apache.org/download-70.cgi) 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](https://syncope.apache.org/docs/getting-started.html#docker).

### 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](https://jdbc.postgresql.org/download/) 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](https://syncope.apache.org/docs/getting-started.html#maven-project). 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
   ```

   The keymaster.password value must match the password you set during step 6.
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-note[Deprecated](https://help.talend.com/r/en-US/Cloud/labels-on-talend-help-center/availability-deprecated)

This content is deprecated.

Available in...

* Data Fabric
* Data Services Platform
* ESB
* Qlik Talend Cloud Enterprise Edition
* Qlik Talend Cloud Premium Edition
* Real-Time Big Data Platform

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](http://tomcat.apache.org/download-70.cgi) 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](https://syncope.apache.org/docs/reference-guide.html#set-admin-credentials)
9. Start Tomcat.

### Results

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