Skip to content

Commit ffee7d2

Browse files
authored
Issue #8113 : Document Hop Web Docker persistence and upgrades (#8122)
Explain which folders to persist outside apache/hop-web, how to configure HOP_CONFIG_FOLDER, and how auth and project access survive image upgrades.
1 parent b7b8d6b commit ffee7d2

9 files changed

Lines changed: 421 additions & 7 deletions

File tree

docs/hop-dev-manual/modules/ROOT/pages/hopweb/developer-guide.adoc

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,11 @@ The main configuration of Hop is done through a single configuration file called
114114
It is possible to set pass this standard Hop environment variable `HOP_CONFIG_FOLDER` to the docker container.
115115
You can point it to a mounted volume for example:
116116

117-
`docker run -p 8080:8080 -v /host/path/to/config:/config -e HOP_CONFIG_FOLDER=/config hop-web`
117+
`docker run -p 8080:8080 -v /host/path/to/config:/hop/config -e HOP_CONFIG_FOLDER=/hop/config hop-web`
118+
119+
Prefer a dedicated path such as `/hop/config` rather than `/config`.
120+
The Hop Web image uses `/config` for an optional Tomcat `tomcat-users.xml` / `web.xml` overlay.
118121

119122
In the same way you can set the standard variable `HOP_AUDIT_FOLDER` to store GUI auditing and logging information.
123+
124+
For the operator-facing volume layout, Compose example, and upgrade procedure, see xref:tech-manual::hop-web-docker.adoc[Hop Web in Docker: persistence and upgrades].

docs/hop-tech-manual/modules/ROOT/nav.adoc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ under the License.
1616
////
1717
* xref:getting-started.adoc[Getting started]
1818
* xref:docker-container.adoc[Docker container]
19+
* xref:hop-web-docker.adoc[Hop Web in Docker]
1920
* xref:disable-ui-elements.adoc[Disable UI elements]
2021
* xref:hop-vs-kettle/index.adoc[Kettle/PDI and Hop]
2122
** xref:hop-vs-kettle/hop-vs-kettle.adoc[Hop vs Kettle]

docs/hop-tech-manual/modules/ROOT/pages/docker-container.adoc

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,9 @@ It's a **Hop Docker image** supporting both **short-lived** and **long-lived** s
3131
A short-lived setup executes a pipeline or workflow and stops right after.
3232
A long-lived setup starts a Hop server and waits for work.
3333

34+
This page describes `apache/hop` (hop-run and Hop Server).
35+
For the Hop Web GUI image (`apache/hop-web`), including which folders to persist across upgrades, see xref:hop-web-docker.adoc[Hop Web in Docker: persistence and upgrades].
36+
3437
== Operating system
3538

3639
The docker container runs a minimal Linux system called https://hub.docker.com/_/alpine[Alpine].
@@ -48,6 +51,7 @@ The Linux user used to execute in the container is `hop` and the group is `hop`
4851
|```/files```
4952
| This volume has read-write permissions for Linux user `hop`.
5053
You can use it for example to mount a folder that contains the **hop and project config** as well as the **workflows and pipelines**.
54+
Do not persist project files only under `/opt/hop`; that tree is replaced when you pull a new image.
5155

5256
|```/home/hop```
5357
| The initial working directory location of the docker container.
@@ -70,6 +74,18 @@ Use one of: `None`, `Error`, `Minimal`, `Basic`, `Detailed`, `Debug` or `Rowleve
7074
|`/opt/hop/hop.err.log`
7175
| The file path to the Hop log file.
7276

77+
|```HOP_CONFIG_FOLDER```
78+
|
79+
| Folder that contains `hop-config.json` (project and environment registrations, GUI settings).
80+
Leave unset to use the image default (`config/` under the Hop install).
81+
Point this at a mounted volume if the configuration must survive replacing the container.
82+
See xref:hop-web-docker.adoc[Hop Web in Docker] for the Hop Web layout; the same variable applies here.
83+
84+
|```HOP_AUDIT_FOLDER```
85+
|
86+
| Folder for GUI / execution audit data.
87+
Point this at a mounted volume to keep it across container recreation.
88+
7389
|```HOP_PROJECT_NAME```
7490
|
7591
| Name of the Hop project to create in the container.
@@ -392,6 +408,7 @@ In this example, a project is created in the container and exposed in the Hop Py
392408

393409
NOTE: The option to run commands is available from Hop version 2.18.
394410

411+
[[DownloadingJDBCDrivers]]
395412
== Downloading JDBC drivers
396413

397414
Apache Hop ships the JDBC drivers it is allowed to redistribute (PostgreSQL, MS SQL Server, Snowflake, ...). Drivers with a restricted license - Oracle, MySQL, MariaDB, IBM DB2 and others - are *not* bundled and have to be added to the `lib/jdbc` folder yourself.

0 commit comments

Comments
 (0)