Skip to content

grimbough/code.bioconductor.org

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tools for browsing the Bioconductor code repository

This repository details the source behind https://code.bioconductor.org

The site is hosted on a Kubernetes instance managed by the European Molecular Biology Laboratory. It comprises of four Docker containers that provide various parts of the site. Each of these is found in the sub-folders of this repository:

Pre-built container images can be found on Docker Hub.

Running containers locally

Environment variables defining paths for mounting folders inside the containers.

  • LOCAL_* refers to the directories on the host machine.
  • CONTAINER_* are the mount points inside the containers, where the applications are expecting to find files.
LOCAL_REPO_DIR=/tmp/docker/repos
LOCAL_ZOEKT_IDX_DIR=/tmp/docker/zoekt

## don't customise these for now
CONTAINER_REPO_DIR=/var/git
CONTAINER_ZOEKT_IDX_DIR=/var/zoekt

Initialise or update the collection of BioC package git repositories. If ${LOCAL_REPO_DIR} is empty it will clone all repositories from the Bioconductor git server. If ${LOCAL_REPO_DIR} contains one or more directories it will only clone packages or update existing repositories that have change since the last update. After packages have been cloned or updated it will create Zoekt index files for the affected repositories.

Can be passed the following arguments:

  • --all If ${LOCAL_REPO_DIR} is not empty, this will try to update all existing packages and clone any not currently present.
  • --clean Delete everything found in ${LOCAL_REPO_DIR} and re-download.
  • --npkgs=N If ${LOCAL_REPO_DIR} is empty, or --clean has been supplied, only download the first N packages found in the manifest.
  • --extra_pkgs= Provide a vector of specific package names to include in the checkout. Some escaping of quotes is required e.g. --extra_pkgs="c(\"rhdf5\", \"biomaRt\")".
docker run -it \
  --env GIT_REPOS_DIR=${CONTAINER_REPO_DIR} \
  --env CONTAINER_ZOEKT_IDX_DIR=${CONTAINER_ZOEKT_IDX_DIR} \
  --mount type=bind,source=${LOCAL_REPO_DIR},target=${CONTAINER_REPO_DIR} \
  --mount type=bind,source=${LOCAL_ZOEKT_IDX_DIR},target=${CONTAINER_ZOEKT_IDX_DIR} \
  grimbough/code.bioc-mirror-updater

Launch the docker containers for the gitlist and zoekt webservers.

docker run -p 8888:8080 -d --name zoekt-webserver --rm=true \
  --mount type=bind,source=${LOCAL_REPO_DIR},target=${CONTAINER_REPO_DIR} \
  --mount type=bind,source=${LOCAL_ZOEKT_IDX_DIR},target=${CONTAINER_ZOEKT_IDX_DIR} \
  grimbough/code.bioc-zoekt-webserver

docker run -p 8889:8080 -d --name gitlist-webserver --rm=true \
  --mount type=bind,source=${LOCAL_REPO_DIR},target=${CONTAINER_REPO_DIR} \
  grimbough/code.bioc-gitlist