Customizing the Environment

You can customize your tale environment by declaring any software dependencies in a set of simple text files. These are used to build a Docker image that is used to run your code.

The text file formats are based on formats supported by repo2docker and, where possible, follow package installation conventions of each language (e.g., requirements.txt for Python, DESCRIPTION for R). In other cases, simple formats are defined (e.g., apt.txt, toolboxes.txt). For more information, see the the repo2docker configuration files documentation.

Base environment

The base environment is always an Ubuntu “Long Term Support” (LTS) version.

Install Linux packages (via apt)

The apt.txt file contains a list of packages that can be installed via apt-get. Entries may have an optional version (e.g., for use with apt-get install <package name>=<version>)

For example:


For more information, see Install packages with apt-get (repo2docker)



MATLAB support is part of the Whole Tale repo2docker extension.

MATLAB toolboxes must be declared in a toolboxes.txt file. Each line contains a valid MATLAB product for the selected version.

For a complete list of available packages for each supported version, see

For example the following toolboxes.txt wold install the Financial and Statistics and Machine Learning toolboxes.


See our MATLAB example



STATA support is part of the Whole Tale repo2docker extension.

STATA packages must be declared in a file. Each line contains a valid installation command.

For example the following uses ssc to install packages:

ssc install estout
ssc install boottest
ssc install hnblogit


R packages may be specified in a DESCRIPTION file or install.R.

For install.R, each line is an install.packages() statement for a given package:


To configure a specific version, we recommend configuring an MRAN date using the runtime.txt file:


This file contains the MRAN date containing the versions of packages specified in install.R.

Alternatively, you ca use the install_version function in place of install.packages in your install.R file.

install_version("ggplot2", version = "0.9.1")

For more information see:


Python packages can be specified using requirements.txt, Pipfile/Pipfile.lock, or Conda environment.yml.

Example requirements.txt:


See also:

Environment Variables

In addition to using the start file below, you can specify custom environment variables using the advanced settings.


Non-standard packages can be installed (or arbitrary commands run) using a postBuild script. The start script can be used to run arbitrary code before th user session starts.


The start file is currently not supported in RStudio environments.

See also: