Hello,
Yes, it is possible to configure Helical Insight Docker setup to use an external PostgreSQL database instead of the default containerized one.
Below are the steps to achieve this:
1. Update docker-compose.yml
In this setup:
- The internal PostgreSQL container will be used only for scheduler DB (hischeduledata)
- The main repository DB (hiee ) will point to your external PostgreSQL
Keep the postgres service as is, but no changes are needed for external DB here.
2. Update application-context.xml
Path:
<HI_HOME>/hi/hi-ee/WEB-INF/classes/application-context.xml
### Find existing datasource config:
<bean id="dataSource" class="com.zaxxer.hikari.HikariDataSource" destroy-method="close">
<property name="username" value="hiuser"/>
<property name="password" value="hiuser"/>
<property name="driverClassName" value="org.postgresql.Driver"/>
<property name="jdbcUrl" value="jdbc:postgresql://postgres:5432/hiee"/>
<property name="connectionTimeout" value="180000"/>
</bean>
### Update to external DB:
<bean id="dataSource" class="com.zaxxer.hikari.HikariDataSource" destroy-method="close">
<property name="username" value="DBUSERNAME"/>
<property name="password" value="DBPASSWORD"/>
<property name="driverClassName" value="org.postgresql.Driver"/>
<property name="jdbcUrl" value="jdbc:postgresql://YOURHOST:5432/hiee"/>
<property name="connectionTimeout" value="180000"/>
</bean>
3. Update persistence.xml
Path:
<HI_HOME>/hi/hi-ee/WEB-INF/classes/META-INF/persistence.xml
### Existing config:
<property name="jakarta.persistence.jdbc.driver" value="org.postgresql.Driver" />
<property name="jakarta.persistence.jdbc.url" value="jdbc:postgresql://postgres:5432/hiee"/>
<property name="jakarta.persistence.jdbc.user" value="hiuser" />
<property name="jakarta.persistence.jdbc.password" value="hiuser" />
### Update to external DB:
<property name="jakarta.persistence.jdbc.driver" value="org.postgresql.Driver" />
<property name="jakarta.persistence.jdbc.url" value="jdbc:postgresql://YOURHOST:5432/hiee"/>
<property name="jakarta.persistence.jdbc.user" value="DBUSERNAME" />
<property name="jakarta.persistence.jdbc.password" value="DBPASSWORD" />
Important Notes
- Ensure the
hiee database is already created on your external PostgreSQL server
- Replace:
-
YOURHOST → your DB server IP/hostname
-
DBUSERNAME / DBPASSWORD → actual credentials
- Make sure Docker container can access external DB (network/firewall open)
4. Start Containers
docker-compose up –d
Thank You,
Helical Insight.