transloadit / uppy-server

[DEPRECATED] 'Uppy Server' was renamed to 'Companion' and lives inside the Uppy repo no
https://github.com/transloadit/uppy/tree/master/packages/%40uppy/companion
MIT License
114 stars 27 forks source link

Issue dockerizing uppy-server #101

Closed paligiannis closed 6 years ago

paligiannis commented 6 years ago

I tried to build the image with my configuration for docker. I successfully build the image either with "docker build ." within the cloned directory or with "docker-compose up". I run a container with the flag of --env-file providing all needed environment variables and this also runs successfully with no issues. I also that uppu server is up n running on Port 3020. Unfortunately, when I proceed to the client index.html file I tried to upload the files to a specific directory that is configured and I get error 404 ... Error of uploading the files.

kiloreux commented 6 years ago

Hey @paligiannis

Could you please share your configuration in a gist? And maybe check console for any possible errors (if any). That would help me debug this issue.

paligiannis commented 6 years ago

Thank you @kiloreux for replying. This is configuration file when I run the container.

  1. First I run " docker build . -t uppysrv"
  2. Then I create the container with the above configuration like so; docker container run -d --env-file env.docker -e UPPYSERVER_DATADIR="/mnt" uppysrv

Then everything works fine and also I have an running container like this https://server.uppy.io/ But when I use the index.html file it's giving me an error 404.

goto-bus-stop commented 6 years ago

The docker setup appears to be OK!

uppy.use(Uppy.Tus, { endpoint: 'http://localhost:3020/' })

The problem here is that Uppy Server is not an upload endpoint—it's used for fetching files from third party sources like Google Drive or Dropbox, and as a proxy for certain requests that can't be made from the browser (like signature generation when uploading to S3). This has been a point of confusion for many people so our messaging is to blame. We're renaming Uppy Server to Uppy Companion soon which will hopefully help make the relationship clearer.

You can use tusd or tus-node-server to upload files to.

paligiannis commented 6 years ago

@goto-bus-stop ... thank you for th reply. So, should I use a new container with tusd like this (https://dockr.ly/2O9WC3J) in order to set it up n running? Then I have to integrate uppy-server with the tusd container and then make the the index.html file hitting to the uppy-serer endpoint, right? Please correct me if wrong.

goto-bus-stop commented 6 years ago

The endpoint option in your Tus plugin configuration needs to be the URL to the tusd server.

The Uppy Server URL is only used for the AwsS3 plugin and the provider plugins (GoogleDrive, Instagram, Dropbox). If you use those plugins, you need to put the Uppy Server URL in the serverUrl option. If you don't use those plugins, you don't have to set up Uppy Server at all.

Eg if your tusd server is running on tus.myapp.com and Uppy Server is running on uppy.myapp.com, you could do something like:

const uppy = Uppy({ /* opts */ })
  .use(Tus, { endpoint: 'https://tus.myapp.com/files/' })
  .use(GoogleDrive, { serverUrl: 'https://uppy.myapp.com/' })