This repository provides a Dockerfile and Helm Chart of the EU eIDAS-Node Software. The eIDAS-Node Docker Image is published via Docker Hub.
By executing the following command the eIDAS-Node Image can be built.
$ docker build -t ecsec/eidas-node .The following build arguments are supported (and can be used with --build-arg):
| Build Argument | Description | Default |
|---|---|---|
| ALPINE_VERSION | Version of the Alpine Image that is used for downloading, extracting and preparing the eIDAS-Node software. | 3.22 |
| EIDAS_NODE_VERSION | Version of the eIDAS-Node software that will be used in the resulting image. | 3.0.0 |
| WILDFLY_VERSION | Version of the WildFly Application Server that will be used in the resulting image. | 35.0.1.Final-jdk17 |
| EIDAS_NODE_URL | Defines the entire URL that is pointing to the ZIP-Archive of the eIDAS-Node Software. | https://ec.europa.eu/cefdigital/artifact/repository/eid/eu/eIDAS-node/${EIDAS_NODE_VERSION}/eIDAS-node-${EIDAS_NODE_VERSION}.zip |
Before you can run the eIDAS-Node via Docker, you have to prepare your eIDAS-Node configuration. A configuration must be present, otherwise you might receive startup errors.
For an initial start you can use the default settings that are provided in the eIDAS-Node release archive (which can be downloaded from here. You have to extract the content in the archive and there should be the config directories wildfly and keystore. Those directories provide some default settings for the eIDAS-Node software.
Those settings must be mounted to the Docker Container. The most essential mount paths are the following:
| Mount Path | Description |
|---|---|
| /config/eidas | This is the default directory where your eIDAS-Node configuration files are stored (Can be overwritten via an env variable). |
| /config/keystore | This is the default directory where your keystores are stored. |
| /opt/jboss/wildfly/standalone/configuration/standalone.xml | Your WildFly configuration which can be overwritten by a customized one. |
In addition, the following environment variables can be overwritten at runtime (by using --env):
| Environment Variable | Description | Default |
|---|---|---|
| EIDAS_CONFIG_REPOSITORY | The directory where your eIDAS-Node configuration files are stored. | /config/eidas |
| SPECIFIC_CONNECTOR_CONFIG_REPOSITORY | The directory where your specific connector configuration files are stored. | /config/eidas/specificConnector |
| SPECIFIC_PROXY_SERVICE_CONFIG_REPOSITORY | The directory where your specific proxy service configuration files are stored. | /config/eidas/specificProxyService |
| JAVA_OPTS_CUSTOM | Can be used to overwrite JVM arguments. | -Xmx512m |
Starting the eIDAS-Node Docker container with some default settings can look like this:
$ docker run \
-p 8080:8080 \
--mount type=bind,source=<PATH_TO_EIDAS_NODE_CONFIG_FOLDER>/wildfly,target=/config/eidas \
--mount type=bind,source=<PATH_TO_EIDAS_NODE_CONFIG_FOLDER>/keystore,target=/config/keystore \
ecsec/eidas-node$ helm repo add ecsec https://mvn.ecsec.de/repository/helm-public/
$ helm repo update
$ helm upgrade --install ${RELEASE_NAME} -n ${NAMESPACE} --version ${VERSION} ecsec/eidas-nodeYou can list all available eIDAS-Node helm charts by using the following command:
$ helm search repo eidas-node -l --develFor more details about the helm chart and its configuration, see here.
The sources in this repository are made available under the Apache License Version 2.0. Find a copy of the license terms in the LICENSE file.
The built docker container contains further software that may use different licenses. Consider inspecting the following projects to obtain a complete list of licenses.
- Alpine Linux (https://www.alpinelinux.org/)
- WildFly Docker Image (https://github.com/jboss-dockerfiles/wildfly)
- eIDAS-Node Integration Package (https://ec.europa.eu/cefdigital/wiki/display/CEFDIGITAL/eIDAS-Node+Integration+Package)