# Installing FileMage Gateway on IBM Cloud
FileMage Gateway, an SFTP and FTP server backed by IBM Cloud Object Storage, is available on IBM Cloud as a virtual machine (VM) image. The VM image contains a fully configured installation of FileMage Gateway ready to be used on IBM Cloud.
When deploying a Linux image, SFTP is running on port 2222.
# Creating a Virtual Machine
We provide a virtual machine image of FileMage Gateway for IBM Cloud. No installation is required. You just need to create a virtual machine from the IBM Cloud Marketplace. This virtual machine image is fully functional upon launch and requires no additional configuration to use. However, you may need to make certain changes depending on your specific use case.
You can quickly find the FileMage Gateway catalog entry in the IBM Cloud console by typing filemage into the Search resources and offerings... search bar at the top of the page.
IBM Cloud uses IBM Cloud Schematics to provision catalog entries using Terraform. The FileMage Gateway Terraform templates for IBM Cloud are available at https://github.com/filemage/ibmcloud-schematics-filemage. For more information about IBM Cloud schematics see https://cloud.ibm.com/docs/schematics.
# Accessing FileMage Gateway for the First Time
After deploying the virtual machine make note of its IP address. The web portal will be available at
https://<server-ip>/. A self-signed certificate is used, which you will have to accept to bypass the browser warning. See Encryption and Certificates for instructions on how to install a signed certificate.
When logging in to the web portal for the first time, you must prove your ownership of the virtual machine by connecting as a system administrator user. From there you will be able to create your initial application administrator account. Once you have created an account, refresh the page to login to the application web portal.
- Connect to your Linux virtual machine using SSH with the username
ubuntuand the private key you specified when launching it.
- Run the command:
sudo filemage init
- Enter a email address for the administrator account.
- Enter a password for the administrator account.
- Refresh the page, or click Done.
# Default Ports
By default, the following ports are used. See Configuration Reference for information on how to change these ports.
|Web Portal||80, 443|
When HTTPS is enabled traffic on the HTTP port will be redirected to the HTTPS port.
To use SFTP in Linux on port 22
sshd must be reconfigured to use a different port.
Restrict Administrative Ports
It is strongly recommended that you restrict access to the web portal (80, 443) and SSH (22) to trusted IP ranges.
# IBM Cloud IAM Permissions
FileMage Gateway requires the following IAM roles to function:
- Content Reader
- Content Writer
- Object Writer
If you wish to configure a custom role with more granular permissions the actions in the table below are required.
|cloud-object-storage.bucket.get||List all the objects in a bucket.|
|cloud-object-storage.bucket.head||View bucket metadata.|
|cloud-object-storage.bucket.get_location||View the location and storage class of a bucket.|
|cloud-object-storage.object.get||View and download objects.|
|cloud-object-storage.object.head||Read an object's metadata.|
|cloud-object-storage.object.put||Write and upload objects.|
|cloud-object-storage.object.post_initiate_upload||Initiate multipart uploads.|
|cloud-object-storage.object.put_part||Upload an object part.|
|cloud-object-storage.object.copy_part||Copy (write) an object part.|
|cloud-object-storage.object.copy_part_get||Copy (read) an object part.|
|cloud-object-storage.object.post_complete_upload||Complete a multipart upload.|
|cloud-object-storage.object.copy||Copy (write) an object from one bucket to another.|
|cloud-object-storage.object.copy_get||Copy (read) an object from one bucket to another.|
|cloud-object-storage.object.delete||Delete an object.|
|cloud-object-storage.object.get_uploads||List parts of a multi-part object upload.|
|cloud-object-storage.object.delete_upload||Abort a multipart upload.|
|cloud-object-storage.object.post_multi_delete||Delete multiple objects.|