A personal platform for R programming.

"Sea Of Thieves" by @lacerenza_design
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).
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:
mkdir shiny-direxport SHINY_DIR=shiny-dirdocker stack deploy -c shiny.yml shinyrstudio.example.com and deploy at apps.example.com/appnameprometheus.example.comgrafana.example.comalertmanager.example.comdb.example.comexample.comblog.example.comapi.example.comcran.example.comgit.example.comminio.example.comAs a demonstration, here are a couple of these features in action, deployed from my Raspberry Pi cluster:
Below are some details on the hardware/software this platform is currently running on:
You can find some rough notes on my set up here: https://github.com/tyluRp/rpi-cluster
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).
tiangolo/dockerswarm.rocks makes up most of this project. Many of the .yml files are based on the traefik.yml file found in this repo.stefanprodan/swarmprom makes up most of the monitoring stack with minor changes to work on ARM CPUs.Content type
Image
Digest
Size
10.8 MB
Last updated
over 5 years ago
docker pull tylurp/pirate-node-exporter