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
docker pull ghcr.io/pranavanba/rocker-sage:main
- Replace
<container-name>
with the desired name of your container -p
binds port8787
of the host machine to port8787
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
- Forward the port published by your
docker run
command (e.g."localPortNumber":["8787"], "portNumber":["8787"]
) - Navigate to
localhost:8787
in your browser
- Navigate to
localhost:8787
in your browser (container port is already exposed by-p
indocker run ...
)
This Dockerfile is based on the rocker/tidyverse
image and includes various useful system utilities, development tools, and libraries as noted below.
git
: Version control systemcurl
: Command-line tool for transferring data with URLsssh
: Secure Shell protocol for secure remote accessnano
: Text editor for the command lineless
: Pager program for viewing text filesunzip
: Utility for extracting compressed archive files
python3
: Python 3 interpreterpython3-pip
: Python package managerpython3-venv
: Python virtual environment modulelibssl-dev
: Development files for OpenSSLlibcurl4-openssl-dev
: Development files for libcurllibpng-dev
: Development files for libpnglibglpk-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 librarylibbz2-dev
: Development files for the libbz2 librarygroff
: GNU troff text formatting system
Tidyverse
: Tidyverse packages are included from therocker/tidyverse
base imagereticulate
: Use Python in Rsynapser
: Interface to Synapsesynapserutils
: Utility functions built on top ofsynapser
synapseclient
: Client for Synapsevirtualenv
: Create a python virtual environment
- 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