Unleash awesomeness. Private packages, team management tools, and powerful integrations. Get started with npm Orgs »

@uppy/companion

0.16.1 • Public • Published

Companion

Uppy logo — a superman puppy in a pink suit

Build Status

Companion is a server integration for Uppy file uploader.

It handles the server-to-server communication between your server and file storage providers such as Google Drive, Dropbox, Instagram, etc. Companion is not a target to upload files to. For this, use a https://tus.io server (if you want resumable) or your existing Apache/Nginx server (if you don't). See here for full documentation

Install

npm install @uppy/companion

Usage

companion may either be used as pluggable express app, which you plug to your already existing server, or it may simply be run as a standalone server:

Plug to already existing server

 
var express = require('express')
var bodyParser = require('body-parser')
var session = require('express-session')
var uppy = require('@uppy/companion')
 
var app = express()
app.use(bodyParser.json())
app.use(session({secret: 'some secrety secret'}))
...
// be sure to place this anywhere after app.use(bodyParser.json()) and app.use(session({...})
const options = {
  providerOptions: {
    google: {
      key: 'GOOGLE_KEY',
      secret: 'GOOGLE_SECRET'
    }
  },
  server: {
    host: 'localhost:3020',
    protocol: 'http',
  },
  filePath: '/path/to/folder/'
}
 
app.use(uppy.app(options))
 

To enable uppy socket for realtime feed to the client while upload is going on, you call the socket method like so.

...
var server = app.listen(PORT)
 
uppy.socket(server, options)
 

Run as standalone server

Please ensure that the required env variables are set before runnning/using companion as a standalone server. See.

$ companion

If you cloned the repo from gtihub and want to run it as a standalone server, you may also run the following command from within its directory

npm start

Run as a serverless function

Companion can be deployed as a serverless function to AWS Lambda or other cloud providers through serverless. Check this guide to get started.

After you have cloned the repo go inside examples/serverless:

cd examples/serverless

You can enter your API Keys inside the serverless.yml file:

INSTAGRAM_KEY: <YOUR_INSTAGRAM_KEY>
INSTAGRAM_SECRET: <YOUR_INSTAGRAM_SECRET>

When you are all set install the dependencies and deploy your function:

npm install && sls deploy

See full documentation

install

npm i @uppy/companion

Downloadsweekly downloads

840

version

0.16.1

license

ISC

homepage

github.com

repository

Gitgithub

last publish

collaborators

  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
Report a vulnerability