node package manager



Uppy logo — a superman puppy in a pink suit

Build Status

Uppy-server 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. See here for full documentation


npm install uppy-server


Uppy-server 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-server')
var app = express()
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/'

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 varaibles are set before runnning/using uppy-server as a standalone server. See.

$ uppy-server

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

See full documentation