Sign inSign up

masvio/transfer-agent

By masvio

Updated over 1 year ago

MASV Transfer Agent is a cross-platform service that manages file transfers to and from MASV network

Image
0

5.4K

masvio/transfer-agent repository overview

Note
The transfer-agent is no longer actively being maintained by MASV, but will continue to receive security patches until EoL on November 7th 2025.

It has been replaced by the masv-agent.

alt text MASV is a secure large file transfer solution, offering unparalleled flexibility for teams who send and receive massive files (up to 5TB in size each). MASV leverages AWS to achieve the fastest transfer speeds possible. MASV’s configurable automation and comprehensive workflows simplify fast file transfer to your cloud or local storage. MASV has completed a rigorous third-party evaluation to ensure compliance with the Trusted Partner Network (TPN), owned and managed by the Motion Picture Association (MPA) a leader in third-party entertainment industry assessments.

Try MASV for free https://massive.io/

Transfer Agent

Image provided by massive.io

MASV Transfer Agent (transfer-agent for short) is a cross-platform service that manages file transfers to and from MASV network. Interaction with the service is performed via REST API calls. It supports uploading and downloading multiple packages simultaneously, while abstracting away filesyetem interactions. The agent is the beating heart of our desktop app that's been used in production with hundreds of terabytes of data getting transferred through it, reliably and quickly.

Supported Architectures

Our TransferAgent supports multiple architectures to allow for deployment in different unique environments.

Utilizing the masvio/transfer-agent:latest image will automatically pull the correct architecture for your system.

The architectures supported by this image are:

ArchitectureTag
x86-64latest

Version Tags

We support a number of different tags for our users and internal development. We recommend using the latest tag for the latest updates and security patches. Other non-version stubbed tags can be unstable and may result in lost data.

TagDescription
latestStable TransferAgent release
developRelease from development branch
x.y.zSpecific tagged version

TransferAgent Setup

Provisioning the docker image can be very simple. We provide an initial provisioning script to manage automations and authentication of the TransferAgent. For provisioning through the cli visit here

By default you can access the transfer agent at:

http://DOMAIN:8080/

Usage

For ease of use, we have outlined a docker-compose file and docker cli command. Both can be used to setup our TransferAgent, however we do recommend use of docker-compose.

version: "3"
services:
  transferagent:
    image: masvio/transfer-agent:latest
    container_name: transfer-agent
    environment:
    - PUID=1000
    - PGID=1000
    volumes:
      - /path/to/your/config/:/config
      - /path/to/your/data/:/data
    ports:
      - 8080:8080
    restart: unless-stopped
Docker CLI (More Info)
# Other flags can be defined as outlined in the Parameters section
docker run -p 8080:8080 \
  -v /path/to/your/config:/config \
  -v /path/to/your/data:/data \
  masvio/transfer-agent:latest

Parameters

We can configure the TransferAgent on launch using various command-line flags. The flag name and its description are below.

FlagsTypeDescription
listenStringListen address (port will be system assigned if not specified or 0) (default "http://localhost:8080")
log-formatStringEasy Logrus log format (default "[%lvl%] %time%: %msg%\n")
log-levelStringLog level (debug, info, warning, error) (default "debug")
log-outStringWhere the logs are written (stdout, stderr, {filename}) (default "stdout")
log-timestamp-formatStringEasy Logrus timestamp format (default "15:04:05")
secret-keyStringSecret Key that the server will require as a header, for local security purposes
versionnullShows the current version/build number, as well as any available updates
Volumes

Our TransferAgent expects and creates a few folder on creation of the docker image. These folders can be overridden if required but we recommend keeping the defaults.

VolumeUsage
/configStore application configuration and saved application data
/dataDefault folder to mount in your automated downloads and uploads

Files

Our docker container allows for various files to be persisted between reboots.

State Database

All state belonging to the database is store in a SQLite database file. This gets loaded on startup of the TransferAgent.

  • Default location
    • /config/app.db
Provisioning File

A provisioning file can be included to automatically create upload and download automations.

  • Default location
    • /config/config.yaml
# The authentication method for the MASV API. Depending on the mechanism used, it can either have:
#   - An api_key property for API key based authentication (recommended)
#   - email and password properties for user-based authentication (not recommended)
auth:
   # for API key authentication
   api_key: your-api-key
   # Alternativeley you can use the following for user-based auth
   # email: [email protected]
   # password: topsecret
​settings:
  upload_rate_limit: 100000
  download_rate_limit: 100000
portal_download_automations:
  - 1:
    name: portal-download-auto
    portal_subdomain: YourPortalSubdomain
    destination_folder: /data/portal-downloads
    effective_time: 2021-07-30T00:00:00Z
    enabled: true
portal_upload_automations:
  - 1:
    name: portal-upload-auto
    portal_subdomain: YourPortalSubdomain
    portal_password: changeme1
    path: /data/portal-uploads
    sender_email: [email protected]
    timeout: 5
    delete_files_after_upload: false
    send_loose_files: false
    package_name_suffix: portal-suffix
    message: portal upload msg
    blacklist: ["*.png"]
    enabled: true     

Licenses

All dependency licenses are included in the LICENSES.txt file bundled in the release zip files. This LICENSES.txt file is also available at https://dl.massive.io/agent/LICENSES.txt

Tag summary

Content type

Image

Digest

sha256:c8f6522d3

Size

85.4 MB

Last updated

over 1 year ago

docker pull masvio/transfer-agent