Skip to main content

No project description provided

Project description

r-shepard

Coverage Status

Simple, self-hosted solution for collaborative (not real-time) R computing leveraging podman, RStudio, and Tailscale.

Built with Django and HTMX.

Develop

First start the development environment:

devenv up # starts redis, celery worker and celery beat
run-tests # runs the tests

Then start the Django development server:

python manage.py runserver # This could also be done from your IDE / debugging environment

Installation instructions (Ubuntu 22.04).

Requirements

  • Install podman (used for running RStudio containers)
sudo apt install podman`
  • Install Tailscale (used for secure access to the RStudio containers):
curl -fsSL https://pkgs.tailscale.com/stable/ubuntu/jammy.noarmor.gpg | sudo tee /usr/share/keyrings/tailscale-archive-keyring.gpg >/dev/null
curl -fsSL https://pkgs.tailscale.com/stable/ubuntu/jammy.tailscale-keyring.list | sudo tee /etc/apt/sources.list.d/tailscale.list
sudo apt-get update
sudo apt-get install tailscale
  • Install git (needed for auto-commit functionality)
sudo apt install git
  • Install redis-server (needed for celery which is used for scheduling the auto-commit tasks)
sudo apt install redis-server

Django app

pip install r-shepard

Minimum Viable Product

  • Add installation instructions for Ubuntu 22.04
  • gitwatch integration Rolled my own solution. Need to document and integrate it into the UI.
  • Publish on PyPi
  • Add views for project creation Django admin is enough for now.
  • Test R Project/Package management inside the container (e.g. renv)
  • Add Volume management
  • Setup Frontend framework (e.g. Bootstrap, PicoCSS)
  • Setup 2FA
  • Add Tailscale Serve integration
  • Add basic container management via podman
  • Add basic views for projects and container management
  • Add Tailscale Funnel integration Not needed right now
  • Make it possible to assign users to projects (only superusers should be able to create projects and assign users to them) Not needed right now

Potential Future Features

  • LDAP integration
  • container-specific and user-specific auto-commits

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

r_shepard-0.1.3.tar.gz (53.3 kB view hashes)

Uploaded Source

Built Distribution

r_shepard-0.1.3-py3-none-any.whl (64.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page