Upload to remote server

There are several options to upload images on a remote server, we will review the 3 main possibilities:

Private server

You might have access to a private server, the first step should be to contact your SysAdmin to enquire about your internal policies. You can also have a look at this tutorial on How To Configure SSH Key-Based Authentication on a Linux Server.

Once you've setup the server you can connect easily and upload your images using the scp command in bash. If your images are located in the /home/myname/images/ in your local computer and you want to upload them to /home/media/all_images/ on the remote server then you can use the command below.

scp -P 333 -r /home/myname/images/ yourusername@yourservername:/home/media/all_images/

The -r option means that you want to transfer the complete directory, -P 333 is the port number to use and yourusername/yourservername should be provided to you by your SysAdmin.

You will find a comprehensive tutorial on scp at Linux Academy.

Google Cloud Platform

If you have a GCP account then the first step will be to install gsutil, Google Services Command Line Interface. Simply refer to the Google official tutorial.

Install Google Services CLI
$ curl https://sdk.cloud.google.com | bash
$ exec -l $SHELL
$ gcloud init

You are now ready to transfer images to Google Cloud. The transfer is composed of two steps:

  • Upload the images to the platform.

  • Make them public so that Deepomatic Studio can download them.

Upload images to GCP and make them public
$ gsutil -m cp -r /home/myname/images/ gs://yourbucketname/all_images/
$ gsutil -m acl set -R -a public-read gs://yourbucketname/all_images/

The -m option in the gsutil commands ensure that the operations are parallelized, accelerating processing time depending on your machine, but it may consume a significant amount of network bandwidth.

Amazon Web Services S3

If you use AWS S3 instead of GCP you might want to have a look at the Amazon Installion Guide and also the Amazon Configuration Guide.

Install Amazon Web Services CLI
$ pip install awscli --upgrade --user
$ aws configure
Upload images to AWS s3 and make them public
$ aws s3 sync /home/myname/images/ yourbucketname/all_images/ --acl public-read

Note that both the uploading and making file public is done in one command.