All Projects → uptake → cran-server

uptake / cran-server

Licence: BSD-3-Clause license
Self-hosted R package repository

Programming Languages

python
139335 projects - #7 most used programming language
javascript
184084 projects - #8 most used programming language
HTML
75241 projects
shell
77523 projects
CSS
56736 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to cran-server

wp-cloud-deploy
WPCloudDeploy is a WordPress plugin that allows you to easily deploy and manage your own dedicated high-performance WordPress servers and sites at any cloud server provider.
Stars: ✭ 28 (+64.71%)
Mutual labels:  self-hosted
squeaknode
Peer-to-peer status feed 📜 with posts unlocked by Lightning ⚡
Stars: ✭ 29 (+70.59%)
Mutual labels:  self-hosted
hexon
Let's hexo online.
Stars: ✭ 28 (+64.71%)
Mutual labels:  self-hosted
fork
A simple, self hosted, low level programming language.
Stars: ✭ 69 (+305.88%)
Mutual labels:  self-hosted
pmh-tutorial
Source code and data for the tutorial: "Getting started with particle Metropolis-Hastings for inference in nonlinear models"
Stars: ✭ 23 (+35.29%)
Mutual labels:  cran-r
shaarli ynh
Shaarli package for YunoHost
Stars: ✭ 20 (+17.65%)
Mutual labels:  self-hosted
alternative-frontends
🔐🌐 Privacy-respecting web frontends for popular services
Stars: ✭ 821 (+4729.41%)
Mutual labels:  self-hosted
ansible-github actions runner
Ansible Role to deploy GitHub Actions self-hosted runner
Stars: ✭ 76 (+347.06%)
Mutual labels:  self-hosted
janitor
Availability monitoring and alerting for IOT devices
Stars: ✭ 55 (+223.53%)
Mutual labels:  self-hosted
SheetAble
Self-hosted music sheet organizing software
Stars: ✭ 107 (+529.41%)
Mutual labels:  self-hosted
locory
A private/selfhosted location history solution
Stars: ✭ 46 (+170.59%)
Mutual labels:  self-hosted
fugu
Fugu is simple, privacy-friendly, open-source and self-hostable product analytics. 🐡
Stars: ✭ 74 (+335.29%)
Mutual labels:  self-hosted
minio-rclone-webdav-server
A @rclone served WebDAV server with @minio as the s3 storage backend docker example
Stars: ✭ 17 (+0%)
Mutual labels:  self-hosted
Tachidesk-Server
A rewrite of Tachiyomi for the Desktop
Stars: ✭ 1,052 (+6088.24%)
Mutual labels:  self-hosted
Maily-Form
Forms on any website
Stars: ✭ 29 (+70.59%)
Mutual labels:  self-hosted
bumper
A standalone and self-hosted implementation of the central server used by Ecovacs vacuum robots.
Stars: ✭ 179 (+952.94%)
Mutual labels:  self-hosted
devliver
Your private self hosted composer repository with user management
Stars: ✭ 50 (+194.12%)
Mutual labels:  self-hosted
codesunaba
A simple ClojureScript code sandbox in your browser.
Stars: ✭ 18 (+5.88%)
Mutual labels:  self-hosted
swetrix-js
The JavaScript analytics client for Swetrix Analytics
Stars: ✭ 28 (+64.71%)
Mutual labels:  self-hosted
astro
An open, extensible, dashboard for all of your homelab services.
Stars: ✭ 25 (+47.06%)
Mutual labels:  self-hosted

cran-server

This repository has been archived. This means it is no longer actively maintained (no further PRs or issues will be considered) but remains read-only for all users. See issue #77 for details on why this is archived. Contact [email protected] if need be.

A self hosted CRAN-like R package repository.

demo-gif

Quick Start

  1. Build the docker image
git clone https://github.com/UptakeOpenSource/cran-server
cd cran-server
docker build -t cran-server .
  1. Run the docker image
docker run --name cran --rm -d -p 8080:80 cran-server
  1. Visit in your browser
# On Mac
open http://localhost:8080

You're all set!

Features

  • Ready: supports AWS S3 and file system storage out of the box
  • Extensible: we made it really easy to support other storage backends
  • Web UI: allows you to see and search published packages

Installation

cran-server requires Python 3.5 or greater.

From source

git clone https://github.com/UptakeOpenSource/cran-server
cd cran-server
pip install .

Usage

Posting packages to cran-server

You can release a package to cran-server using a POST request.

# bash
tarball=<PATH-TO-TARBALL>
curl -X POST -F file=@$tarball http://localhost:8080

Installing packages from cran-server from R

Use the repos argument when using install.packages from R. For example, when running locally:

install.packages('uptasticsearch', repos = 'http://localhost:8080')

Configuration

Package storage

By default, cran-server uses file system storage, but in a production environment in most cases S3 or another object store is desirable. cran-server supports AWS S3 out of the box. The recommended way to set configuration options is using a .env file.

# .env
STORAGE_BACKEND='aws'
AWS_ACCESS_KEY_ID=<YOUR_AWS_ACCESS_KEY_ID_HERE>
AWS_SECRET_ACCESS_KEY=<YOUR_AWS_SECRET_ACCESS_KEY_HERE>
AWS_DEFAULT_REGION=<YOUR_PREFERED_REGION_HERE>
AWS_DEFAULT_BUCKET=<YOUR_PREFERRED_DEFAULT_BUCKET_HERE>

The environment file can then be sourced when running from docker:

docker run --name cran --rm -d -p 8080:80 --env-file=.env cran-server
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].