Skip to content

Docker image with up-to-date versions of R, RStudio, tidyverse packages, Synapser, and other packages commonly used by Sage Bionetworks

License

Notifications You must be signed in to change notification settings

pranavanba/rocker-sage

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rocker-sage

Create and publish a Docker image

Docker image with R, RStudio, tidyverse packages, Synapser, and other packages commonly used by Sage Bionetworks.

See the full list of included tools, utilities, and libraries below

Usage

1. Pull the docker image

docker pull ghcr.io/pranavanba/rocker-sage:main

2. Run a container using the image

  • Replace <container-name> with the desired name of your container
  • -p binds port 8787 of the host machine to port 8787 of the container (feel free to change the ports as needed)
  • PASSWORD is a password you set for logging in to your RStudio Server
  • Environment variables
    • $SYNAPSE_AUTH_TOKEN: Synapse Personal Access Token used to connect a Synapse account to synapse clients (R, Python, CLI); refer to the instructions here to learn how to provision a personal access token for a Synapse account
    • $AWS_SYNAPSE_TOKEN: Auth token used for connecting to AWS products provisioned in the Sage Service Catalog via AWS SSM from a local terminal; refer to the instructions here
  • Use --rm if you want the container to automatically remove upon exiting
docker run --name <container-name> -d -p 8787:8787 -e PASSWORD=password -e SYNAPSE_AUTH_TOKEN=$SYNAPSE_AUTH_TOKEN -e AWS_SYNAPSE_TOKEN=$AWS_SYNAPSE_TOKEN ghcr.io/pranavanba/rocker-sage:main

3. Connect to the RStudio Server

If running from inside an EC2 instance, VM, etc.

  1. Forward the port published by your docker run command (e.g. "localPortNumber":["8787"], "portNumber":["8787"])
  2. Navigate to localhost:8787 in your browser

If running on your local machine

  1. Navigate to localhost:8787 in your browser (container port is already exposed by -p in docker run ...)

Features

This Dockerfile is based on the rocker/tidyverse image and includes various useful system utilities, development tools, and libraries as noted below.

System Utilities

  • git: Version control system
  • curl: Command-line tool for transferring data with URLs
  • ssh: Secure Shell protocol for secure remote access
  • nano: Text editor for the command line
  • less: Pager program for viewing text files
  • unzip: Utility for extracting compressed archive files

Development Tools

  • python3: Python 3 interpreter
  • python3-pip: Python package manager
  • python3-venv: Python virtual environment module
  • libssl-dev: Development files for OpenSSL
  • libcurl4-openssl-dev: Development files for libcurl
  • libpng-dev: Development files for libpng
  • libglpk-dev: Development files for the GNU Linear Programming Kit (GLPK)
  • libxt-dev: Development files for X Toolkit (Xt)
  • liblzma-dev: Development files for the liblzma library
  • libbz2-dev: Development files for the libbz2 library
  • groff: GNU troff text formatting system

R Packages

  • Tidyverse: Tidyverse packages are included from the rocker/tidyverse base image
  • reticulate: Use Python in R
  • synapser: Interface to Synapse
  • synapserutils: Utility functions built on top of synapser

Python Packages

  • synapseclient: Client for Synapse
  • virtualenv: Create a python virtual environment

Additional Components

  • AWS CLI: AWS Command Line Interface for interacting with AWS services
  • AWS Session Manager Plugin: A plugin for AWS CLI for session management on AWS instances
  • AWS Config File: AWS configuration file (config) for AWS CLI setup
  • Synapse Credentials Setup: Includes a shell script (synapse_creds.sh) for configuring Synapse credentials

About

Docker image with up-to-date versions of R, RStudio, tidyverse packages, Synapser, and other packages commonly used by Sage Bionetworks

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages