Instructions for getting SCKAN up and running.
The successful completion of the steps in this file should result in a window with welcome.org greeting you and giving you quick access to an interactive query interface.
SCKAN is distributed as two docker images.
- An image with the software needed to run queries tgbugs/musl:kg-release-user
- An image containing only the loaded databases tgbugs/sckan:latest
The underlying data and the tgbugs/sckan:latest
image are also archived on Zenodo.
The latest data release can be obtained from https://doi.org/10.5281/zenodo.5337441.
- Download and install docker for your platform.
- Download and install X11 for your platform.
Commands for specific operating systems are in the Examples section below.
xhost local:docker
open -a XQuartz
# XXX Go to XQuartz > Preferences > Security
# and enable Allow connections from network clients
# you may need to restart XQuartz after this
xhost +localhost
& 'C:\Program Files\VcXsrv\vcxsrv.exe' -multiwindow -clipboard -wgl :0
# obtain the latest release images from dockerhub
docker pull tgbugs/musl:kg-release-user
docker pull tgbugs/sckan:latest
# create a container that can be used to mount the SCKAN data release as a volume
docker create -v /var/lib/blazegraph -v /var/lib/scigraph --name sckan-data tgbugs/sckan:latest /bin/true
# run the image
## linux
docker run --volumes-from sckan-data -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=$DISPLAY -it tgbugs/musl:kg-release-user
## macos
docker run --volumes-from sckan-data -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=host.docker.internal:0 -it tgbugs/musl:kg-release-user
## windows
docker run --volumes-from sckan-data -e DISPLAY=host.docker.internal:0 -it tgbugs/musl:kg-release-user
See the Mounting the sckan folder from the host section of the reference to run when mounting host folders to save your work.
If you update to a new version of tgbugs/sckan
you will want to run
the following to update the sckan-data
container.
docker rm sckan-data
docker create -v /var/lib/blazegraph -v /var/lib/scigraph --name sckan-data tgbugs/sckan:latest /bin/true
Full workflows for various operating systems.
Note that these commands assume >=docker-20
so make sure your
package index is up to date.
sudo apt install docker docker.io # ubuntu mint etc.
sudo usermod -a -G docker ${USER}
# you may need to get a new login shell at this point
xhost local:docker
docker pull tgbugs/musl:kg-release-user
docker pull tgbugs/sckan:latest
docker rm sckan-data
docker create -v /var/lib/blazegraph -v /var/lib/scigraph --name sckan-data tgbugs/sckan:latest /bin/true
docker run \
--volumes-from sckan-data \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-e DISPLAY=$DISPLAY \
-it tgbugs/musl:kg-release-user
Using https://brew.sh/.
brew install virtualbox xquartz
brew install --cask docker
open -a Docker
# The docker command will not appear until you
# go to Applications and run Docker and accept
# the license agreements and grant permissions
# there are some system level persmissions that
# you will need to set for virtualbox
open -a XQuartz
# XXX Go to XQuartz > Preferences > Security
# and enable Allow connections from network clients
# you may need to restart XQuartz after this
xhost +localhost
docker pull tgbugs/musl:kg-release-user
docker pull tgbugs/sckan:latest
docker rm sckan-data
docker create -v /var/lib/blazegraph -v /var/lib/scigraph --name sckan-data tgbugs/sckan:latest /bin/true
docker run \
--volumes-from sckan-data \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-e DISPLAY=host.docker.internal:0 \
-it tgbugs/musl:kg-release-user
Using https://chocolatey.org/.
choco install wsl2 wsl-ubuntu-2004 vcxsrv docker-desktop docker
& 'C:\Program Files\VcXsrv\vcxsrv.exe' -multiwindow -clipboard -wgl :0
docker pull tgbugs/musl:kg-release-user
docker pull tgbugs/sckan:latest
docker rm sckan-data
docker create -v /var/lib/blazegraph -v /var/lib/scigraph --name sckan-data tgbugs/sckan:latest /bin/true
docker run `
--volumes-from sckan-data `
-e DISPLAY=host.docker.internal:0 `
-it tgbugs/musl:kg-release-user
If you try to launch vcxsrv.exe
more than once with the same display
number set you will encounter a fatal error.
Beyond the interactive query interface, these docker images can be run as standalone SciGraph and Blazegraph instances of SCKAN for use in a variety of applications.
For example to run a specific release as a standalone endpoint you can run the following.
docker pull tgbugs/sckan:data-2022-03-19T001639Z
docker create \
-v /var/lib/blazegraph \
-v /var/lib/scigraph \
--name sckan-data-2022-03-19 \
tgbugs/sckan:data-2022-03-19T001639Z \
/bin/true
docker run \
--detach \
--volumes-from sckan-data-2022-03-19 \
-p 9000:9000 \
-p 9999:9999 \
--entrypoint /etc/services.sh \
tgbugs/musl:kg-release-user
curl http://localhost:9000/scigraph/vocabulary/term/brain