There are several options to upload images on a remote server, we will review the 3 main possibilities:
Uploading to a private server through ssh
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/
-r option means that you want to transfer the complete directory,
-P 333 is the port number to use and
yourservername should be provided to you by your SysAdmin.
You will find a comprehensive tutorial on
scp at Linux Academy.
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.
$ 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.
$ gsutil -m cp -r /home/myname/images/ gs://yourbucketname/all_images/$ gsutil -m acl set -R -a public-read gs://yourbucketname/all_images/
$ pip install awscli --upgrade --user$ aws configure
$ 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.