
Companion
Open source Node.js server that handles OAuth and streams files from remote sources such as Google Drive and Dropbox into uploads made with Uppy.
uppy.io/docs/companion/repositorydocs
Companion is the server half of the Uppy file uploader. It is a Node.js server that holds the OAuth connections to remote file sources such as Google Drive and Dropbox, and it streams the files it fetches to an upload destination. The Uppy client sends its remote-file requests to Companion, and Companion does not keep the files. It runs as a standalone server or as middleware mounted in an existing Express application, and the documentation covers both modes. The package is published on npm as @uppy/companion and is built from the Uppy monorepo, which Transloadit maintains.
Worth knowing
Companion runs as its own long-running Node.js process, so the host has to keep it running. Several instances can share a Redis server, and the docs describe that setup.
Transloadit also runs a hosted Companion, which requires a Transloadit plan. On the hosted service, the Google Drive provider does not work with the shared OAuth app, so it needs the operator’s own Google OAuth app. Windows is not a supported platform.
Sources
- 2026-11-03: links, Categories, Runtime, Minimum runtime, Install with, Runs as, License model
uppy.io/docs/companion/ - 2026-11-03: links
github.com/transloadit/uppy - 2026-11-03: Maintainer, Headquarters
transloadit.com/imprint/ - 2026-11-03: Categories, Install with
github.com/transloadit/uppy/blob/main/packages/%40uppy/companion/README.md - 2026-11-03: Written in, License
api.github.com/repos/transloadit/uppy - 2026-11-03: Install with
github.com/transloadit/uppy/blob/main/packages/%40uppy/companion/KUBERNETES.md - 2026-11-03: Current major version, Last release
registry.npmjs.org/@uppy/companion/latest - 2026-11-03: First release
api.github.com/repos/transloadit/uppy/commits/v0.0.2 - 2026-11-03: npm downloads a week
api.npmjs.org/downloads/range/2026-10-26:2026-11-01/@uppy/companion