Install¶
The Jobson project builds distributions (unix, debian) of jobson
that include the Jobson’s core libraries, documentation, UI assets,
etc.
Debian OSes (Ubuntu, Mint, etc.)¶
The jobson
build produces a .deb
file that can be installed
directly:
wget https://github.com/adamkewley/jobson/releases/download/1.0.13/jobson_1.0.13_all.deb dpkg -i jobson_1.0.13_all.deb # contains dependencies on (e.g.) java apt-get -f install # resolves dependencies
OSX/Linux (any)¶
The jobson
project produces a tarball containing all assets needed
to run jobson on a unix-like OS.
Note: You must have java
(8+) installed on your system in order to run jobson
wget https://github.com/adamkewley/jobson/releases/download/1.0.13/jobson-nix-1.0.13.tar.gz tar xvf jobson-nix-1.0.13.tar.gz # optional: add to ~/.bashrc export PATH=$PATH:/location/of/unpacked/tarball/bin
Docker¶
The jobson
project builds a Docker image that pre-integrates jobson
and jobson-ui
(with nginx
) together.
By default, it will create a demo workspace at /home/jobson/ inside the container and listen on port 80:
docker run --name default-container -p 80:80 adamkewley/jobson:1.0.13
It’s recommended that you host the workspace outside the container, so that you can backup job data, upgrade the image, etc. The easiest way to do this is to copy the default workspace out of the container and create a new container with a volume mount:
HOST_PORT=9090 # copy out the container's workspace docker run --name tmp-jobson-container -d adamkewley/jobson:1.0.13 docker cp tmp-jobson-container:/home/jobson /host/path/jobson docker container rm -f tmp-jobson-container # boot a container that uses the out-of-container workspace docker run --name jobson-container -p ${HOST_PORT}:80 -v /host/path/jobson:/home/jobson:rw -d adamkewley/jobson:1.0.13
This will boot a docker container that listens on HOST_PORT
, which you can browse to.
Inheriting the jobson
Docker Image¶
Running jobson
in a Docker container might be challenging if the
applications jobson
runs have other dependencies (e.g. python
,
c++
). One way to get around this is to create a specialized Docker
image that inherits from the jobson
docker image. Below is an
example
posted by NickEngland for running
Docker containers inside the Jobson container (because, why not):
FROM adamkewley/jobson:latest
RUN apt update && \
apt-get -y install apt-transport-https \
ca-certificates \
curl \
gnupg2 \
software-properties-common && \
curl -fsSL https://download.docker.com/linux/$(. /etc/os-release; echo "$ID")/gpg > /tmp/dkey; apt-key add /tmp/dkey && \
add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/$(. /etc/os-release; echo "$ID") \
$(lsb_release -cs) \
stable" && \
apt-get update && \
apt-get -y install docker-ce
RUN usermod -aG docker jobson
Windows¶
The jobson
project does not officially build or support
windows. However, unofficial reports do state that it works on windows
if you manually run the jobson-x.x.x.jar
file:
Download and install
java
Download jobson unix tarball from releases
Unpack somewhere (e.g. in
DIR
)Run the jobson CLI with
java -jar DIR/share/jobson/java/jobson-x.x.x.jar