Specify 7 Recommended Server Specifications

This guide is for IT staff only. If you are a collection manager or staff member interested in evaluating Specify 7, please contact membership@specifysoftware.org for more information!

We recommend that interested users with limited IT staff join the Specify Cloud hosting service. The Specify Collections Consortium team can host and manage Specify 7 installations for consortium members.

Specify 7 Recommended Server Specifications

If you are planning on self-hosting Specify 7, you will need to ensure that your virtual private server (VPS) meets the necessary specifications.

Specify 7 is a powerful tool that requires several components to function effectively, including:

Below, we outline the recommended server specifications to help you set up your environment efficiently.

Minimum Specifications for Specify 7

To get started with Specify 7, your server should meet the following minimum specifications:

  • CPU: 2 vCPU (2.0 GHz or higher)
  • RAM: 4 GB (8 GB recommended for better performance)
  • Disk Space: 20 GB (SSD recommended for optimal performance)
  • Operating System: Any supported Docker host; we recommend Ubuntu for ease of deployment.

While these specifications will allow you to run Specify 7, they may not provide the best experience, especially under heavier workloads and with larger databases.

These specifications will enable you to run the Specify 7 app, MariaDB, report runner, and the Specify worker, all self-contained. However, it limits your ability to grow and provides little space for assets.

Recommended VPS Configuration

For optimal performance, particularly if you anticipate moderate to high usage, we recommend the following VPS configuration:

  • CPU: 4 vCPU (2.0 GHz or higher)
  • RAM: 8 GB (more memory will enhance performance, especially when handling large datasets and during intensive operations)
  • Disk Space: 40 GB (SSD recommended; consider additional space for the MariaDB instance)
  • Operating System: Any supported Docker host; we recommend Ubuntu for ease of deployment.

Allocating sufficient memory and CPU resources is essential for the performance of Specify 7, particularly when managing large asset collections and executing complex operations. The more resources you can dedicate to the server, the smoother your experience will be.

Scaling Resources Based on Asset Management

As you manage your collections, it’s important to scale your server resources based on the number of assets. You will need to ensure that you allocate enough disk space for your assets, taking future growth into account.

Consider Separate Systems for Enhanced Performance

For optimal performance, consider using separate systems for different components of Specify 7:

Storing Assets: Use dedicated storage solutions for your assets, either by using a remote networked drive or by using a cloud storage service to manage assets outside of the system managing your Specify 7 installation.

Generating Reports: This process (report runner) can consume a significant amount of memory in short bursts, so isolating it can improve overall performance. You may also want to allocate swap memory on the system that hosts the report runner.

Running the Worker Process: Separating this component can also help in managing load effectively. The WorkBench can temporarily require a ton of CPU and memory resources, so making sure the system that runs this process has enough resources is critical. Swap memory can be used with this process as well.

By networking and configuring these components on separate systems, whether physical or virtual servers, you can enhance performance. However, be aware that network speeds may introduce limitations or bottlenecks not present on a single system. Consider what services are publicly exposed and on which network.

Disk Space Requirements

Asset storage is not accounted for in the specifications above, so adjust according to your needs.

Your storage requirements for the MariaDB instance may differ from those for the Specify 7 application. If you plan to host both the Specify 7 app and the MariaDB database on the same server, aim for at least 40 GB of disk space to accommodate both effectively.

Additional Considerations

While this article focuses on server specifications, it’s essential to also consider backup solutions, network bandwidth requirements, and other factors not mentioned above.

These should be managed and assessed by your IT department according to your institution’s policies. The recommendations above do not consider space requirements for backups.