Run it with mounted plugins folder as volume. Remember to set JUSEPPE_BASE_URI env var
docker run --name juseppe -v /your/plugins/dir/:/juseppe/plugins/ -e JUSEPPE_BASE_URI=http://my.company.com -p 80:8080 lanwen/juseppe
Then it will be available on http://dockerhost:80/update-center.json
Certificate can be copied from json in format:
-----BEGIN CERTIFICATE-----
{json value of signature.certificates[0] (without quotes)}
-----END CERTIFICATE-----
WARN! Certificate regenerates in every new docker image!
Mount as volumes private key and cert:
docker run --name juseppe -v /your/private/key:/juseppe/cert/uc.key -v /your/cert/file:/juseppe/cert/uc.crt ... lanwen/juseppe
docker run --rm ... lanwen/juseppe generate
docker build -t juseppe:source .
With maven just run mvn package, and you will find jar in target/juseppe.jar
and point juseppe to use it with help of -Djuseppe.certificate=path/to/cert.crt and -Djuseppe.private.key=path/to/priv.key
openssl genrsa -out uc.key 2048 \
&& openssl req -nodes -x509 -new \
-key uc.key \
-out uc.crt \
-days 1056 \
-subj "/C=EN/ST=Update-Center/L=Juseppe/O=Juseppe"
java -jar juseppe.jar help
java -jar juseppe.jar generate
To run server with file watching in current directory (not the dir where jar located!)
java -jar juseppe.jar serve
Just add -w (or --watch) flag to update jsons on any plugin list changes
java -jar juseppe.jar -w serve or java -jar juseppe.jar -w generate
You can also change plugin dir location by specifying -p (or --plugins-directory) flag with location of directory where the plugins are
java -jar juseppe.jar -w -p /tmp/plugins serve
You can define system properties or environment vars to override default behaviour.
Complete list of vars can be found after juseppe env command.
-
JUSEPPE_CERT_PATH(juseppe.certificate)
path of certificate (must be used in pair with private key prop). Defaults to uc.crt -
JUSEPPE_PRIVATE_KEY_PATH(juseppe.private.key)
path of private key (must be used in pair with cert). Defaults to uc.key -
JUSEPPE_PLUGINS_DIR(juseppe.plugins.dir)
where the plugins are. Searches only*.hpiand*.jpi. Defaults to current working dir -
JUSEPPE_SAVE_TO_DIR(juseppe.saveto.dir)
where to save generated json file. Defaults to current working dir -
JUSEPPE_UC_JSON_NAME(juseppe.uc.json.name)
name of generated update center json file. Defaults toupdate-center.json -
JUSEPPE_RELEASE_HISTORY_JSON_NAME(juseppe.release.history.json.name)
name of generated release-history json file. Defaults torelease-history.json -
JUSEPPE_BASE_URI(juseppe.baseurl)
url to prepend for plugins download link in json. Defaults tohttp://localhost:8080 -
JUSEPPE_UPDATE_CENTER_ID(juseppe.update.center.id)
id of the update center. Must be unique inside of jenkins. Defaults tojuseppe -
JUSEPPE_BIND_PORT(juseppe.jetty.port)
port for juseppe file server. Defaults to8080 -
JUSEPPE_RECURSIVE_WATCH(juseppe.recursive.watch) watch for file changes recursively Defaults totrue
Example:
java -jar -Djuseppe.saveto.dir=/tmp/update/ juseppe.jar -w serve or JUSEPPE_SAVE_TO_DIR=/tmp/update/ java -jar juseppe.jar -w serve
Properties are overridden in order: default value -> env vars -> system properties -> direct cli arguments
Site can be added with help of: