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 vm’s 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 8, 9, 10 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 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 repos. Access to Optional RPMs repo required for RHEL 7.x
  • An appliance license is required for any operations involving provisioning
  • 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) and 80 (Linux Agent installs via yum and apt)
    • 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.

Important

It is the customers responsibility to ensure adequate storage space per configuration and use case.

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 configuration with locally installed ElasticSearch, 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.

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   LogRhythm On-demand N/A No
Logging Integration   Splunk On-demand N/A 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
Service Discovery Integration   Consul On-demand N/A 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
  • 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.