Specify 7 Installation Instructions

Creating a Database

Before you can proceed with any of these installation instructions, Specify 7 requires that a database has already been created in Specify 6. These

Once the database is created, you will no longer need to use or have access to Specify 6, except when adding new collections, disciplines, or divisions to the database.

Once Specify 6 is installed, you will need to use the Specify 6 Wizard to create the database:

Once that is complete, you can choose one of two options to get Specify 7 working with your database:

  1. Use the SpBackupRestore utility included with Specify 6 or the command line to make a backup of the database (resulting in a SQL file). This backup can be used as the initial seed database for a Specify 7 deployment.

  2. Connect Specify 7 to the same database that Specify 6 is using, as the same database environment can be used for both applications concurrently.

:specify7: Member Instructions:

We encourage members to use our Dockerized compositions of Specify 7. You can choose a version, make the necessary adjustments and then run a single command to get everything working. It is very simple and can be easily updated when new versions are released.

:incoming_envelope: Click here to request access or email support@specifysoftware.org with your GitHub username, member institution or collection, and any additional questions or notes for us!

The following setups will be accessible to you once you have been added to the GitHub repository! If you have any questions feel free to contact our support team!

Docker Compositions

This repository is intended to house a collection of docker-compose recipes in different directories for deploying Specify 7 in various scenarios. The idea is that you can choose a scenario, enter the corresponding directory, make the necessary adjustments and then run docker-compose up -d to obtain a working setup.

There are currently three setups defined here:

  1. Just Specify 7 includes only the elements needed to run Specify 7 in an environment with an existing Specify 6 MySQL database server in place.

  2. All in One includes a database server and an asset server, producing a usable setup starting only with a SQL backup file from a Specify 6.8.01 system.

  3. Multiple Databases extends the Just Specify 7 example to illustrate using name based virtual hosting of two Specify databases. The example can be extended to an arbitrary number of databases.

Alternative options:

  • Development Docker Composition if you would like to add new features to Specify 7 or do debugging.
  • Specify 7 Test Panel for deploying several versions of Specify 7 using a user interface.
  • Specify Cloud Composition, which is used by our Specify Cloud servers and show an example of generating a docker-compose.yml from a JSON spec.

Videos (Members-only)

Additional Docs


Non-Member Instructions:

Local Installation of Specify 7

Installation instructions for Ubuntu 20.04 LTS and Red Hat 7 are available to all users on the Specify 7 GitHub repository.

Ubuntu 20.04 LTS is recommended. For other distributions these instructions will have to be adapted. If you are a member, we strongly encourage using Docker to deploy Specify 7.

Development Docker Composition of Specify 7

This deployment method has nice features like hot reloading and debugging support. It is not suited for production use due to memory leaks and security issues.

It can be useful for evaluating Specify 7 or troubleshooting an issue you are experiencing on your current Specify instance.

This can be modified to be made production-ready, but we reccomend using the member instructions if possible.