All Projects β†’ tyluRp β†’ pirate

tyluRp / pirate

Licence: MIT License
πŸ΄β€β˜ οΈ A personal platform for R programming

Programming Languages

Dockerfile
14818 projects
shell
77523 projects
r
7636 projects
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to pirate

Rtutor
Creating interactive R Problem Sets. Automatic hints and solution checks. (Shiny or RStudio)
Stars: ✭ 141 (+291.67%)
Mutual labels:  shiny, rstats
workshops-setup cloud analytics machine
Tips and Tricks to setup a cloud machine for Analytics and Data Science with R, RStudio and Shiny Servers, Python and JupyterLab
Stars: ✭ 12 (-66.67%)
Mutual labels:  shiny, rstats
Colourpicker
🎨 A colour picker tool for Shiny and for selecting colours in plots (in R)
Stars: ✭ 144 (+300%)
Mutual labels:  shiny, rstats
Shinyapps links
A collection of Shiny applications (links shared on Twitter)
Stars: ✭ 109 (+202.78%)
Mutual labels:  shiny, rstats
docker-box
A lightweight docker application platform for single servers.
Stars: ✭ 62 (+72.22%)
Mutual labels:  docker-swarm, traefik
Cicerone
πŸ›οΈ Give tours of your Shiny apps
Stars: ✭ 131 (+263.89%)
Mutual labels:  shiny, rstats
Plotly
An interactive graphing library for R
Stars: ✭ 2,096 (+5722.22%)
Mutual labels:  shiny, rstats
Datofutbol
Dato FΓΊtbol repository
Stars: ✭ 23 (-36.11%)
Mutual labels:  shiny, rstats
trafficjam
A Docker firewall for your reverse proxy network
Stars: ✭ 79 (+119.44%)
Mutual labels:  docker-swarm, traefik
traefik-ondemand-service
Traefik ondemand service for the traefik ondemand plugin
Stars: ✭ 35 (-2.78%)
Mutual labels:  docker-swarm, traefik
Anicon
Animated icons for R markdown and Shiny apps
Stars: ✭ 109 (+202.78%)
Mutual labels:  shiny, rstats
r-ladies-ML-1
⭐ Files for my R-Ladies ML workshop - Supervised Learning 101 ⭐
Stars: ✭ 35 (-2.78%)
Mutual labels:  shiny, rstats
Shinycustomloader
Add a custom loader for R shiny
Stars: ✭ 97 (+169.44%)
Mutual labels:  shiny, rstats
Shinyfiles
A shiny extension for server side file access
Stars: ✭ 133 (+269.44%)
Mutual labels:  shiny, rstats
Sever
πŸ”ͺGood-looking problems: customise your Shiny disconnected screen and error messages
Stars: ✭ 60 (+66.67%)
Mutual labels:  shiny, rstats
Shinyalert
πŸ—―οΈ Easily create pretty popup messages (modals) in Shiny
Stars: ✭ 148 (+311.11%)
Mutual labels:  shiny, rstats
Highcharter
R wrapper for highcharts
Stars: ✭ 583 (+1519.44%)
Mutual labels:  shiny, rstats
Shinyappdemo
A demo shiny app inside a package
Stars: ✭ 23 (-36.11%)
Mutual labels:  shiny, rstats
Shinycssloaders
βŒ› Add loading animations to a Shiny output while it's recalculating
Stars: ✭ 248 (+588.89%)
Mutual labels:  shiny, rstats
traefik-ondemand-plugin
Traefik plugin to scale containers on demand
Stars: ✭ 149 (+313.89%)
Mutual labels:  docker-swarm, traefik

pirate

GitHub release (latest by date) Lifecycle: maturing

A personal platform for R programming.

"Sea Of Thieves" by @lacerenza_design

What

This is a platform for R programmers, powered by traefik and docker, and designed to work on a Raspberry Pi cluster. With this platform, you can deploy shiny apps, plumber APIs, monitoring tools and more.

Primary motivation is to load balance shiny applications with traefik to support concurrent usage. Some other things have been added simply because it's fun to self host (e.g. cran mirror) or could be useful for shiny applications (e.g. plumber api).

Usage

Instructions are provided in each folder, start with traefik and then deploy any of the other services you're interested in.

Note that this platform uses bind mounts to communicate files between the host and container. This means that set up typically involves:

  1. Creating a diretory on your host e.g. mkdir shiny-dir
  2. Creating an environment variable prior to deploying e.g. export SHINY_DIR=shiny-dir
  3. Deploying the stack docker stack deploy -c shiny.yml shiny

Features

  • Support concurrent shiny sessions with traefik load balancer
  • Develop at rstudio.example.com and deploy at apps.example.com/appname
  • Collect server load metrics at prometheus.example.com
  • Visualize server load metrics at grafana.example.com
  • Alert excessive server load with alertmanager.example.com
  • Deploy a postgres database at db.example.com
  • Deploy a homepage at example.com
  • Deploy a blog at blog.example.com
  • Deploy a plumber api at api.example.com
  • Host a CRAN mirror at cran.example.com
  • Mirror your git repositories at git.example.com
  • Host a S3 like storage system at minio.example.com

As a demonstration, here are a couple of these features in action, deployed from my Raspberry Pi cluster:

Environment

Below are some details on the hardware/software this platform is currently running on:

  • Raspberry Pi 4 Model B 8GB (3 total, 1 main, 2 workers)
  • Ubuntu 20.10 'Groovy Gorilla'
  • USB boot (as opposed to booting from a microSD card)
  • Everything powered over ethernet with the official PoE hats
  • 1 network switch with PoE
  • A 3TB WD Passport (external hard drive) which is plugged into one of the workers

You can find some rough notes on my set up here: https://github.com/tyluRp/rpi-cluster

Network

The network stuff, like making my cluster available to the internet, is out of scope for this repo. I followed the following guide to get started: https://engineerworkshop.com/blog/connecting-your-raspberry-pi-web-server-to-the-internet/

If you are interested in the platform and want to host it on something like AWS, Digital Ocean, or Azure, this is totally possible (and most likely easier).

Acknowledgements

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].