Requirements

Morpheus is a software based appliance installation capable of orchestrating many clouds and hypervisors. Before an installation is started it is important to understand some of the base requirements.

In the simplest configuration Morpheus needs one Appliance Server. The Appliance Server, by default, contains all the components necessary to orchestrate both VMs and containers. To get started some base requirements are recommended:

Base Requirements

Supported Appliance Operating Systems

OS

Version(s)

Notes

Amazon Linux

2

CentOS

7.x, 8.x

Debian

9,10,11

FreeRDP 2.0 is not compatible with Debian 9. Guacd will remain at 1.0.0 for Appliances running on 9.

RHEL

7.x, 8.x

SUSE SLES

12, 15

Ubuntu

16.04, 18.04, 20.04

14.04 is no longer supported for Appliance OS. Existing Appliances on 14.04 must upgrade to 16.04 or 18.04 PRIOR to upgrading to v4.2.1. Note: 14.04 is still supported by the Morpheus Agent.

  • Memory: 16 GB recommended for default installations. 8 GB minimum required with 4 GB+ available storage swap space

  • Storage: 200 GB storage minimum (see Storage Considerations below)

  • CPU: 4-core, 1.4 GHz (or better), 64-bit CPU recommended for all-in-one systems. For a distributed-tier installation, it’s recommended each tier have 2-core, 1.4 GHz (or better), 64-bit CPU

  • Network connectivity from your users to the appliance over TCP 443 (HTTPS)

  • Superuser privileges via the sudo command for the user installing the Morpheus appliance package

  • Access to base yum or apt repositories. codeready (codeready-builder-for-rhel-8-x86_64-rpms) repo access is required for RHEL 8+ appliances and access to the Optional RPMs repo is required for RHEL 7.x

  • An appliance license is required for any operations involving provisioning

  • Current major web browsers supporting modern standards, such as Google Chrome, Mozilla Firefox, Apple Safari, and Microsoft Edge are supported

  • Internet Connectivity (optional)
    • To download from Morpheus’ public docker repositories and system Virtual Image catalog

    • Offline installation require installing the supplemental package in addition to the regular installation package. Local yum/apt repo access still required for offline installations.

Note

Access to yum and apt repos is still required for offline installations.

  • VM and Host Agent Install (optional)
    • Inbound connectivity access from provisioned vm’s and container hosts on ports 443 (Agent install and communication). Port 80 may be required for older apt distros.

    • An Appliance URL that is accessible/resolvable to all managed hosts. It is necessary for all hosts that are managed by Morpheus to be able to communicate with the appliance server ip on port 443. This URL is configured under Admin->Settings.

Note

Ubuntu 16.10 is not currently supported.

Storage Considerations

Upon initial installation Morpheus takes up less than 10 GB of space, however Morpheus Services, Virtual Images, Backups, Logs and stats and user uploaded and imported data require adequate space on the Morpheus Appliance(s) per Appliance Configuration and activity. Morpheus recommends at least 200 GB as a general figure to start from but storage needs will vary dramatically based on each specific use case. In some cases, significantly more space will be needed.

Important

It is the customers responsibility to ensure adequate storage space per configuration and use case. The appliance should be properly monitored to ensure it does not run low on disk space.

Default Paths

/opt/morpheus

Morpheus Application and Services Files

/var/opt/morpheus

User, Application and Services Data, including default config Elasticsearch, RabbitMQ and Database data, and default Virtual Image path.

/var/log

Morpheus Service logs

/tmp/morpheus

Working directory for Backups

Images

Virtual Images can be uploaded to Morpheus Storage Providers for use across Clouds. By default when no Storage Provider has been added, images will write to /var/opt/morpheus/morpheus-ui/vms. Please ensure adequate space when uploading Images using local file paths.

Backups

Morpheus can offload snapshots when performing backups to local or other Storage Providers. By default when no Storage Provider has been added, backups will write to /tmp/morpheus/backups/. When using none NFS Storage providers, the backup file(s) must be written to /tmp/morpheus/working/ before they can be zipped, sent to the destination Storage provider such as S3, and removed from /tmp/morpheus/working/. Please ensure adequate space in /tmp/morpheus/ when offloading Backups.

Migrations

When performing a Hypervisor to Hypervisor migration, such as VMware to AWS, Virtual Images are written to local storage before conversion and/or upload to the target hypervisor. Please ensure adequate space in /var/opt/morpheus/morpheus-ui/vms or other configured local Storage Provider paths when performing Migrations.

VM Logs and Stats

When using a Morpheus with a locally-installed Elasticsearch configuration; VM, Container, Host and Appliance logs and stats are are stored in Elasticsearch. Please ensure adequate space in /var, specifically /var/opt/morpheus/elasticsearch in relation to the number or Instances reporting logs, log frequency, and log retention count. With partition space at 85% filled or higher (by default), Elasticsearch will enter an unhealthy state and the Morpheus appliance will not function properly.

Morpheus Services Logs

Logs for services local to the Morpheus Appliance, such as the Morpheus UI, elasticsearch, rabbitmq, mysql, nginx and guacd are written to /var/log/morpheus/. Current logs are rotated nightly, zipped, and files older than 30 days are automatically removed. Misconfigured services, ports and permissions can cause excessive log file sizes.

Network Connectivity

Morpheus primarily operates via communication with its agent that is installed on all managed vm’s or docker hosts. This is a lightweight agent responsible for aggregating logs and stats and sending them back to the client with minimal network traffic overhead. It also is capable of processing instructions related to provisioning and deployments instigated by the appliance server.

The Morpheus Agent exists for both linux and windows based platforms and opens NO ports on the guest operating system. Instead it makes an outbound SSL (https/wss) connection to the appliance server. This is what is known as the appliance url during configuration (in Admin->Settings). When the agent is started it automatically makes this connection and securely authenticates. Therefore, it is necessary for all vm’s and docker based hosts that are managed by morpheus to be able to reach the appliance server ip on port 443.

Morpheus has numerous methods to execute agent installation, including zero open port methods.

Components

The Appliance Server automatically installs several components for the operation of Morpheus. This includes:

  • RabbitMQ (Messaging)

  • MySQL (Logistical Data store)

  • Elasticsearch (Logs / Metrics store)

  • Tomcat (Morpheus Application)

  • Nginx (Web frontend)

  • Guacamole (Remote console service for clientless remote console)

  • Check Server (Monitoring Agent for custom checks added via UI)

All of these are installed in an isolated way using chef zero to /opt/morpheus. It is also important to note these services can be offloaded to separate servers or clusters as desired. For details check the installation section and high availability.

Common Ports & Requirements

The following chart is useful for troubleshooting Agent install, Static IP assignment, Remote Console connectivity, and Image transfers.

Common Ports & Requirements

Feature

Method

OS

Source

Destination

Port

Requirement

Agent Communication

All

All

Node

Appliance

443

DNS Resolution from node to appliance url

Agent Install

All

Linux

Node

Appliance

80

Used for appliance yum and apt repos

SSH

Linux

Appliance

Node

22

DNS Resolution from node to appliance url
Virtual Images configured
SSH Enabled on Virtual Image

WinRM

Windows

Appliance

Node

5985

Not required for agent installation in VMware vCenter and vCloud Director type clouds. Otherwise, access from Morpheus App Nodes to Instance Node on 5985
Virtual Images configured
WinRM Enabled on Virtual Image(winrm quickconfig)

Cloud-init

Linux

Cloud-init installed on template/image
Cloud-init settings populated in User Settings or in Admin –> Provisioning
Agent install mode set to Cloud-Init in Cloud Settings

Cloudbase-init

Windows

Cloudbase-init installed on template/image
Cloud-init settings populated in User Settings or in Admin –> Provisioning
Agent install mode set to Cloud-Init in Cloud Settings

VMtools

All

VMtools installed on template
Cloud-init settings populated in Morpheus user settings or in Administration –> Provisioning when using Static IP’s
Existing User credentials entered on Virtual Image when using DHCP
RPC mode set to VMtools in VMware cloud settings.

Static IP Assignment & IP Pools

Cloud-Init

All

Network configured in Morpheus (Gateway, Primary and Secondary DNS, CIDR populated, DHCP disabled)
Cloud-init/Cloudbase-init installed on template/image
Cloud-init settings populated in Morpheus user settings or in Administration –> Provisioning

VMware Tools

All

Network configured in Morpheus (Gateway, Primary and Secondary DNS, CIDR populated, DHCP disabled)
VMtools installed on Template/Virtual Image

Remote Console

SSH

Linux

Appliance

Node

22

ssh enabled on node | user/password set on VM or Host in Morpheus

RDP

Windows

Appliance

Node

3389

RDP Enabled on node | user/password set on VM or Host in Morpheus

Hypervisor Console

All

Appliance

Hypervisor Hosts

443

Hypervisor host names resolvable by morpheus appliance

Morpheus Catalog Image Download

All

Appliance

AWS S3

443

Available space at /var/opt/morpheus/

Image Transfer

Stream

All

Appliance

Datastore

443

Hypervisor Host Names resolvable by Morpheus Appliance

Communication Data

The following table contains communication information, including frequency and configurability between Morpheus and its supported technology integrations.

Communication Frequency, Ports, and Protocols

Source

Push/Pull

Destination

Description

Default Interval

Configurable Internal

Cloud Foundry App Check

Server Pull

Cloud Foundry Applications that exist within Morpheus

Automatically created during provisioning if using the related system node/container type in order to inspect the running state. May be manually created but must be a machine that exists in Morpheus.

5 Minutes with 30 second recheck on failure.

Range of 1 minute to 3 hours of selectable intervals. Additionally, the default interval may be globally altered.

Docker Container Check

Server Pull

Docker containers that exist within Morpheus

If no other check types apply, automatically created during provisioning if using the related system container type, in order to inspect the running state. May be manually created but must be a machine that exists in Morpheus.

5 Minutes with 30 second recheck on failure.

Range of 1 minute to 3 hours of selectable intervals. Additionally, the default interval may be globally altered.

Elastic Search Check

Server Pull

Elastic Search application

Automatically created during provisioning if using the related system node/container type in order to inspect the running state. May be manually created but does not need to exist in Morpheus.

5 Minutes with 30 second recheck on failure.

Range of 1 minute to 3 hours of selectable intervals. Additionally, the default interval may be globally altered.

Microsoft SQL Server Check

Server Pull

Microsoft SQL application

Automatically created during provisioning if using the related system node/container type in order to inspect the running state. May be manually created but does not need to exist in Morpheus.

5 Minutes with 30 second recheck on failure.

Range of 1 minute to 3 hours of selectable intervals. Additionally, the default interval may be globally altered.

Mongo Check

Server Pull

Mongo DB application

Automatically created during provisioning if using the related system node/container type in order to inspect the running state. May be manually created but does not need to exist in Morpheus.

5 Minutes with 30 second recheck on failure.

Range of 1 minute to 3 hours of selectable intervals. Additionally, the default interval may be globally altered.

MySQL Check

Server Pull

MySQL application

Automatically created during provisioning if using the related system node/container type in order to inspect the running state. May be manually created but does not need to exist in Morpheus.

5 Minutes with 30 second recheck on failure.

Range of 1 minute to 3 hours of selectable intervals. Additionally, the default interval may be globally altered.

Postgres Check

Server Pull

Postgres application

Automatically created during provisioning if using the related system node/container type in order to inspect the running state. May be manually created but does not need to exist in Morpheus.

5 Minutes with 30 second recheck on failure.

Range of 1 minute to 3 hours of selectable intervals. Additionally, the default interval may be globally altered.

Push API Check

Client Push

Morpheus API

External system push notifications to Morpheus for the purpose of ensuring the notifications are received.

5 Minutes

Range of 1 minute to 3 hours of selectable intervals. Additionally, the default interval may be globally altered. This is dependent on the external source and triggers an error after two missed intervals.

Rabbit MQ Check

Server Pull

Rabbit MQ application

Automatically created during provisioning if using the related system node/container type in order to inspect the running state. May be manually created but does not need to exist in Morpheus.

5 Minutes with 30 second recheck on failure.

Range of 1 minute to 3 hours of selectable intervals. Additionally, the default interval may be globally altered.

Redis Check

Server Pull

Redis application

Automatically created during provisioning if using the related system node/container type in order to inspect the running state. May be manually created but does not need to exist in Morpheus.

5 Minutes with 30 second recheck on failure.

Range of 1 minute to 3 hours of selectable intervals. Additionally, the default interval may be globally altered.

Riak Check

Server Pull

Riak application

Automatically created during provisioning if using the related system node/container type in order to inspect the running state. May be manually created but does not need to exist in Morpheus.

5 Minutes with 30 second recheck on failure.

Range of 1 minute to 3 hours of selectable intervals. Additionally, the default interval may be globally altered.

SNMP Check

Server Pull

SNMP

Automatically created during provisioning if using the related system node/container type in order to inspect the running state. May be manually created but does not need to exist in Morpheus.

5 Minutes with 30 second recheck on failure.

Range of 1 minute to 3 hours of selectable intervals. Additionally, the default interval may be globally altered.

Socket Check

Server Pull

Web Socket

Automatically created during provisioning if using the related system node/container type in order to inspect the running state. May be manually created but does not need to exist in Morpheus.

5 Minutes with 30 second recheck on failure.

Range of 1 minute to 3 hours of selectable intervals. Additionally, the default interval may be globally altered.

Virtual Machine Check

Server Pull

Virtual Machine that exists within Morpheus

If no other check types apply, automatically created during provisioning if using the related system node type, in order to inspect the running state. May be manually created.

5 Minutes with 30 second recheck on failure.

Range of 1 minute to 3 hours of selectable intervals. Additionally, the default interval may be globally altered.

Web Check

Server Pull (GET) or Server Push (POST)

Web application

Automatically created during provisioning if using the related system node/container type in order to inspect the running state. May be manually created but does not need to exist in Morpheus.

5 Minutes with 30 second recheck on failure.

Range of 1 minute to 3 hours of selectable intervals. Additionally, the default interval may be globally altered.

Public Cloud Integration

Server Pull

Alibaba Cloud

Data synchronization

5 Minutes

No

Public Cloud Integration

Server Pull

Amazon AWS

Data synchronization

5 Minutes

No

Public Cloud Integration

Server Pull

Amazon AWS GovCloud

Data synchronization

5 Minutes

No

Public Cloud Integration

Server Pull

DigitalOcean

Data synchronization

5 Minutes

No

Public Cloud Integration

Server Pull

Google Cloud Platform

Data synchronization

5 Minutes

No

Public Cloud Integration

Server Pull

Huawei Cloud

Data synchronization

5 Minutes

No

Public Cloud Integration

Server Pull

IBM Cloud

Data synchronization

5 Minutes

No

Public Cloud Integration

Server Pull

Microsoft Azure

Data synchronization

5 Minutes

No

Public Cloud Integration

Server Pull

Open Telekom Cloud

Data synchronization

5 Minutes

No

Public Cloud Integration

Server Pull

Oracle Public Cloud

Data synchronization

5 Minutes

No

Public Cloud Integration

Server Pull

UpCloud

Data synchronization

5 Minutes

No

Public Cloud Integration

Server Pull

VMware on AWS

Data synchronization

5 Minutes

No

Private Cloud Integration

Server Pull

Cisco UCS Manager

Data synchronization

5 Minutes

No

Private Cloud Integration

Server Pull

Dell EMC

Data synchronization

5 Minutes

No

Private Cloud Integration

Server Pull

HPE

Data synchronization

5 Minutes

No

Private Cloud Integration

Server Pull

HPE OneView

Data synchronization

5 Minutes

No

Private Cloud Integration

Server Pull

KVM

Data synchronization

5 Minutes

No

Private Cloud Integration

Server Pull

MacStadium

Data synchronization

5 Minutes

No

Private Cloud Integration

Server Pull

Microsoft Azure Stack

Data synchronization

5 Minutes

No

Private Cloud Integration

Server Pull

Microsoft Hyper-V

Data synchronization

5 Minutes

No

Private Cloud Integration

Server Pull

Microsoft SCVMM

Data synchronization

5 Minutes

No

Private Cloud Integration

Server Pull

Nutanix Acropolis

Data synchronization

5 Minutes

No

Private Cloud Integration

Server Pull

Openstack

Data synchronization

5 Minutes

No

Private Cloud Integration

Server Pull

Oracle VM

Data synchronization

5 Minutes

No

Private Cloud Integration

Server Pull

Pivotal Cloud Foundry

Data synchronization

5 Minutes

No

Private Cloud Integration

Server Pull

Supermicro

Data synchronization

5 Minutes

No

Private Cloud Integration

Server Pull

Vmware vCloud Director

Data synchronization

5 Minutes

No

Private Cloud Integration

Server Pull

Vmware ESXi

Data synchronization

5 Minutes

No

Private Cloud Integration

Server Pull

VMware Fusion

Data synchronization

5 Minutes

No

Private Cloud Integration

Server Pull

VMware vCenter

Data synchronization

5 Minutes

No

Private Cloud Integration

Server Pull

Xen Server

Data synchronization

5 Minutes

No

Automation Integration

Ansible

N/A

No

Automation Integration

Server Pull

Ansible Tower

Data synchronization

10 Minutes

No

Automation Integration

Server Pull

Chef

Data synchronization

10 Minutes

No

Automation Integration

Server Pull

Puppet

Data synchronization

10 Minutes

No

Automation Integration

Server Pull

Salt

Data synchronization

10 Minutes

No

Automation Integration

Terraform

N/A

No

Automation Integration

Server Pull

vRealize Orchestrator

Data synchronization

10 Minutes

No

Backup Integration

Server Pull

Commvault

Scheduled backup execution (1 Minute), Backup provider refresh (1 hour)

1 Minute; 1 Hour

No

Backup Integration

Server Pull

Veeam

Scheduled backup execution (1 Minute), Backup provider refresh (1 hour)

1 Minute; 1 Hour

No

Backup Integration

Server Pull

Rubrik

Scheduled backup execution (1 Minute), Backup provider refresh (1 hour)

1 Minute; 1 Hour

No

Backup Integration

Server Pull

Zerto

Scheduled backup execution (1 Minute), Backup provider refresh (1 hour)

1 Minute; 1 Hour

No

Backup Integration

Server Pull

Avamar

Scheduled backup execution (1 Minute), Backup provider refresh (1 hour)

1 Minute; 1 Hour

No

Build Integration

Server Pull

Jenkins

Data synchronization

10 minutes

No

Container Integration

Server Pull

Docker

Data synchronization

5 Minutes

No

Container Integration

Docker Registry

On-demand

N/A

No

Container Integration

Server Pull

Kubernetes

Data synchronization

5 Minutes

No

Deployment Integration

Server Pull

Git/Github

Syncing latest version of Git-tracked repos

On-demand when using a file or repository for Morpheus functions

No

DNS Integration

Server Pull

AWS Route53

Data synchronization

10 minute

No

DNS Integration

Server Pull

Microsoft DNS

Data synchronization

10 minute

No

DNS Integration

Server Pull

PowerDNS

Data synchronization

10 minute

No

Identity Management Integration

Server Pull

Microsoft AD

User Role and Group Sync

N/A, On login

No

Identity Management Integration

Server Pull

OneLogin

User Role and Group Sync

N/A, On login

No

Identity Management Integration

Server Pull

Okta

User Role and Group Sync

N/A, On login

No

Identity Management Integration

Server Pull

Jump Cloud

User Role and Group Sync

N/A, On login

No

Identity Management Integration

Server Pull

LDAP

User Role and Group Sync

N/A, On login

No

Identity Management Integration

Server Pull

SAML

User Role and Group Sync

N/A, On login

No

IPAM Integration

Server Pull

Infoblox

Refresh network pool servers (1 Hour)

1 Hour

Yes (Variable Throttle Rate)

IPAM Integration

Server Pull

phpIPAM

Refresh network pool servers (1 Hour)

1 Hour

No

IPAM Integration

Server Pull

Bluecat

Refresh network pool servers (1 Hour)

1 Hour

Yes (Variable Throttle Rate)

IPAM Integration

Server Pull

SolarWinds

Refresh network pool servers (1 Hour)

1 Hour

No

ITSM Integration

Server Pull

ServiceNow

Approval sync

5 Minutes

No

ITSM Integration

Server Pull

Cherwell

Data synchronization

10 Minutes

No

ITSM Integration

Server Pull

Remedy

Data synchronization

10 Minutes

No

Key & Certificate Integration

Server Pull

Venafi

Certificate and Key Sync

10 Minutes

No

Load Balancer Integration

Server Pull

AzureLB

Data synchronization

10 Minutes

No

Load Balancer Integration

Server Pull

F5 BigIP

Data synchronization

10 Minutes

No

Load Balancer Integration

Server Pull

Citrix NetScaler

Data synchronization

10 Minutes

No

Logging Integration

Syslog

On-demand

N/A

No

Monitoring Integration

Server Pull

ServiceNow

Data synchronization

Depends on check configuration

Yes (part of check configuration)

Monitoring Integration

AppDynamics

On-demand

N/A

No

Monitoring Integration

NewRelic

On-demand

N/A

No

Network Integration

Server Pull

NSX-T

Data synchronization

10 Minutes

No

Network Integration

Server Pull

NSX-V

Data synchronization

10 Minutes

No

Network Integration

Server Pull

Cisco ACI

Data synchronization

10 Minutes

No

Network Integration

Server Pull

Unisys Stealth

Data synchronization

10 Minutes

No

Storage Integration

Server Pull

3Par

Updating storage metadata

10 Minutes

No

Storage Integration

Server Pull

Azure Storage

Updating storage metadata

10 Minutes

No

Storage Integration

Server Pull

Dell ECS

Updating storage metadata

10 Minutes

No

Storage Integration

Server Pull

Isilon

Updating storage metadata

10 Minutes

No

Morpheus Agent

Agent Pull

Application Tier

Secure Web Socket

Persistent

No

SELinux

If not required by organizational policy, we recommend setting SELinux to “Permissive” or “Disabled” modes to prevent any unnecessary security-related issues. Morpheus versions 3.6.0 and higher do support “Enforcing” mode if it is required by your organization due to IT policies. Set the mode appropriately prior to running the Morpheus installer and it will make the required changes based on your chosen SELinux context.

Important

Setting SELinux to “Enforcing” mode requires policies to be configured correctly in order for the Morpheus appliance to function correctly.

Supported Languages

Morpheus supports a number of different UI languages, including:

  • English

  • French

  • German

  • Spanish

  • Chinese (Simplified)

  • Portuguese (Brazil)

Currently, UI language is not configurable from within Morpheus itself. Changing the language within the application will involve some combination of operating system and web browser language setting changes. Morpheus must also have a translation set for your chosen language to see a change. Depending on the browser and the operating system, you may need to fully close and reopen the web browser or restart the machine completely.

Note

Many of Morpheus’ language packs are generated by our clients. For that reason, we cannot guarantee accuracy and completeness of the translation. As new UI elements are added, existing language sets may not have immediate updates to keep pace with application changes. If you would like to contribute to a new or existing language pack, contact your account team or Morpheus support. Contributed content would be included with the next application update.