ndexr Documentation

Author

Freddy Drennan

Published

April 16, 2026

What is ndexr?

ndexr is a cloud infrastructure management platform built on R and Shiny. It gives you a browser-based console for provisioning, managing, and monitoring AWS resources — EC2 instances, Route 53 domains, security groups, key files, and more — without leaving R.

How it works

The platform runs on a single server. Incoming web traffic hits NGINX, which terminates TLS and routes requests to the right backend. The R/Shiny application runs as multiple workers behind an NGINX upstream load balancer. Infrastructure is managed with Docker Compose and Make.

Internet → NGINX (:443) → Shiny workers (:9001-9010)
                        → RStudio (:8787)
                        → Glances (:61208)
                        → Portainer (:7000)
                        → Static files (/images, /css, /errors)

When you use the console to launch a server, ndexr calls the AWS API on your behalf using credentials you provide. It provisions an EC2 instance, assigns an Elastic IP, configures DNS in Route 53, sets up NGINX with TLS (via Certbot), and deploys a Docker Compose stack with your Shiny application already load-balanced.

What you get

A server launched through ndexr comes with:

  • Ubuntu with Docker and Docker Compose pre-installed
  • NGINX configured with your domain, HTTPS via Let’s Encrypt, and a load-balanced upstream for your Shiny app
  • RStudio Server accessible at /rstudio/, IP-restricted by default
  • Glances (system monitor) at /glances/
  • Portainer (Docker UI) at /portainer/
  • Make targets to build, scale, and tear down your application

Who this is for

ndexr is for R developers who want to own their deployment pipeline. If you’ve outgrown shinyapps.io and want the flexibility of your own server without the overhead of learning DevOps from scratch, ndexr handles the infrastructure plumbing so you can focus on your application.

You manage your own AWS costs. ndexr gives you the tools to provision and control resources — what you run and for how long is up to you.

This documentation

This guide walks through the concepts and tools that power ndexr, from the ground up:

  1. Introduction to ndexr — Getting started with the console, connecting AWS, launching your first server
  2. Networking — IP addresses, ports, DNS, security groups
  3. Scaling — How load balancing and async code handle multiple users
  4. Ubuntu — Server setup fundamentals
  5. SSH — Secure access to your servers
  6. NGINX — Traffic routing, TLS, virtual hosting
  7. Docker — Containers and Docker Compose for application isolation
  8. Make — Build automation for your deployment workflow
  9. Shiny — Application architecture, modules, and the ndexr project template

Links: