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*.hpi
and*.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: