remoteStorage HTTP API, based on Sinatra
Go to file
Basti 92b3b14107
continuous-integration/drone/push Build is passing Details
Remove obsolete script
2024-03-05 17:43:41 +01:00
lib Add TODO note 2024-03-05 16:59:37 +01:00
spec Remove purdytest, update Minitest class name 2023-10-26 16:17:52 +02:00
.drone.yml Set up Drone CI, remove Actions configs 2024-03-05 14:26:49 +01:00
.gitignore Add ENV vars to config file, switch to ERB template 2023-10-26 16:17:49 +02:00
Dockerfile Switch Docker image back to Ruby 3.1 2023-11-16 11:45:07 +01:00
Gemfile Update Gemfile 2024-03-05 17:38:35 +01:00
Gemfile.lock Switch to AWS V4 signatures 2023-11-15 19:05:21 +01:00
LICENSE.txt Add license info 2012-04-08 23:26:40 +02:00
README.md Update README 2024-03-05 17:38:55 +01:00
Rakefile Initial commit 2012-02-27 16:32:12 +01:00
config.ru Fix filename 2012-02-29 14:08:27 +01:00
config.yml.erb.example Update example config 2023-11-16 12:39:46 +01:00
liquor-cabinet.gemspec Remove airbrake from dependencies in the gemspec 2015-05-29 18:29:25 +02:00
liquor-cabinet.rb Expose Content-Type header 2023-11-16 11:39:33 +01:00
migrate_storage_size_from_metadata.rb Add a migration runner to be able to run the script on all users... 2016-12-15 16:28:19 +01:00

README.md

Build Status

Liquor Cabinet

Liquor Cabinet is where Frank stores all his stuff. It's a remoteStorage HTTP API, based on Sinatra. The metadata and OAuth tokens are stored in Redis, and documents/files can be stored in anything that supports the S3 object storage API.

Liquor Cabinet only implements the storage API part of the remoteStorage protocol, but does not include the Webfinger and OAuth parts. It is meant to be added to existing systems and user accounts, so you will have to add your own OAuth dialog for remoteStorage authorizations and persist the tokens in Redis.

There is an open-source accounts management app by the Kosmos project, which comes with a built-in remoteStorage dashboard and is compatible with Liquor Cabinet.

If you have any questions about this program, please post to the RS forums, and we'll gladly answer them.

System requirements

Setup

  1. Check the config.yml.erb.example file. Either copy it to config.yml.erb and use the enviroment variables it contains, or create/deploy your own config YAML file with custom values.
  2. Install dependencies: bundle install

Development

Running the test suite:

bundle exec rake test

Running the app:

bundle exec rainbows

Deployment

TODO document options

Contributing

We love pull requests. If you want to submit a patch:

  • Fork the project.
  • Make your feature addition or bug fix.
  • Write specs for it. This is important so nobody breaks it in a future version.
  • Push to your fork and send a pull request.