SeisComP Installation¶
SeisComP requires a modern Linux operating system as it is developed and tested only under Linux. For production systems we recommend Linux distributions with long-term support (LTS). The Linux flavors under which SeisComP has been tested are given along with the SeisComP package names on the download sites of Helmholtz-Centre Potsdam - GFZ German Research Centre for Geosciences and gempa GmbH [76] and gempa GmbH [31].
SeisComP can be obtained and installed from
Officially released packages (TAR files) for different release versions, Linux systems and architectures from the download sites of SeisComP [76] or from Public download site of gempa [21].,
Packages may include
Software for data acquisition, processing and GUIs for each supported platform,
Maps. Maps from the SeisComP releases Seattle and Zurich also work in later releases
Documentation,
Station configuration files (optional).
Download these packages from Helmholtz-Centre Potsdam - GFZ German Research Centre for Geosciences and gempa GmbH [76] or Public download site of gempa [21].
The next sections describe the installation of the binary packages of SeisComP on
Ubuntu, 64 bit system,
RHEL, 64 bit system.
SeisComP Versions¶
SeisComP has developed over time. The versions can be distinguished by the name of the release:
SeisComP since version 4.0.0 uses release version numbers such as 5.2.1 where
5: major version with changes in API and database schema version, new features, bug fixed, optimizations,
2: minor version with new features, bug fixed, optimizations,
1: patch number with bug fixes, optimizations.
SeisComP3 uses release versions, names, numbers and patch numbers.
Full example: SeisComP3-jakarta-2020.330.02
3: release version
jakarta: release name
2020.330: release number
02: patch number
Names are adjusted depending on changes in source code:
Release version: major changes in module groups, functionality, concepts, data model. Example: SeisComp3 is SeisComP in version 3.0 in comparison to version 2.5 the GUIs were introduced.
Release name: major changes in functionality, concepts, data model. Example: with SeisComP3-Seattle the new user friendly configuration GUI scconfig was introduced.
Release number: changes in data model version and/or major changes in applications and optimizations. The numbers include the year and the day of the year of the software release. Example: Jakarta-2018.327
Patch number: optimizations of applications without changes in the data model version.
The version number of the installed SeisComP can be obtained by
This documentation where it printed in the header along with the SeisComP icon
The running any SeisComP module on the command-line using
-Vsuch as$ scm -V scm Framework: 6.8.4 Release API version: 16.3.0 Data schema version: 0.13 GIT HEAD: c28f6323 Compiler: c++ (Ubuntu 13.2.0-23ubuntu4) 13.2.0 Build system: Linux 6.8.12-11-pve OS: Ubuntu 24.04 LTS / Linux
Supported Operating Systems¶
SeisComP is developed and tested on Linux for the latest stable flavors with long-term support (LTS) and on x86_64 architecture. For SeisComP in version 7.*.*. the minimum OS and version are
Debian: 11
RHEL: 8
Ubuntu: 22.04
Higher versions of SeisComP will require higher OS versions. Packages for more flavors and versions may be found on the SeisComP website.
Hardware Requirements¶
The hardware requirements for a seismic system depend on the size of the station network to be operated.
Minimum requirements are:
CPU |
2 |
RAM |
4 GB |
HDD |
20 GB |
In case large networks (>100 stations) are operated, a distributed system is recommended. Normally a SeisComP system is separated in several subsystems. A separation of data acquisition, processing and graphical user interfaces (GUI) is useful to permit stable performance.
The minimum specifications of SeisComP systems depend on the setup and the applications.
Data acquisition systems:
CPU |
2 |
RAM |
4 GB |
HDD |
Raid1/5/0+1 with >= 200GB |
Processing systems:
CPU |
4 |
RAM |
8 GB |
HDD |
Raid1/5/0+1 with >= 100GB |
GUI system:
CPU |
2 |
RAM |
4 GB |
HDD |
> 50 GB |
Installation of Packages¶
This section describes the initial installation of SeisComP from compiled
SeisComP packages which ship as *.tar.gz files. For installation from
source code follow the instructions outlined in section Compiling SeisComP from Source Code.
You may install the SeisComP packages in either way:
For later updates/upgrades read the tutorial Updating/Upgrading SeisComP.
Hint
We recommend to track any changes in the installation and configuration of
SeisComP except seiscomp/var, seiscomp/share/maps and large
binary files or files changing often during SeisComP operation
(e.g. Hypo71, NonLinLoc input and output files)
using git.
gsm¶
Installation of packages by gsm [32] is recommended allowing to easily update/upgrade or add/remove packages in the future and in order to maintain a clean file structure also after updates/upgrades. If you wish to install and maintain SeisComP by gsm [32], then read the instruction given in the gsm documentation [33].
Note
While gsm [32] allows the installation of software packages the OpenSource map package of SeisComP must be installed manually.
Manual unpacking¶
A simply installation can be done by simply downloading and unpacking the packages, but installation and maintenance using gsm is recommended. For simple unpacking follow a few steps to complete your installation of SeisComP:
Log in to your Linux system as user, e.g. sysop, the standard user in this documentation.
Download the installation packages, e.g. from Helmholtz-Centre Potsdam - GFZ German Research Centre for Geosciences and gempa GmbH [76] or Public download site of gempa [21]:
seiscomp-[version]-[OS]-[arch].tar.gz: main SeisComP package with binaries, etc. Ensure to download the right package matching your operating system (OS) and hardware architecture (arch: 32 or 64-bit).seiscomp-[version]-doc.tar.gz: SeisComP documentation.Note
When receiving the packages from Public download site of gempa [21], the documentation is already included in the main SeisComP package to match the installed version. In this case, the documentation does not need to be downloaded and installed separately.
seiscomp-maps.tar.gz: standard SeisComP maps available on the download site of Helmholtz-Centre Potsdam - GFZ German Research Centre for Geosciences and gempa GmbH [76].
Copy the downloaded files to your $HOME directory.
Navigate to the $HOME directory or any other place where to install SeisComP
user@host:$ cd
Install the main SeisComP package into
seiscompuser@host:~$ tar xzf seiscomp-[version]-[OS]-[arch].tar.gz
Install the SeisComP map package into
seiscomp/share/mapsuser@host:~$ tar xzf seiscomp-[release]-maps.tar.gz
Optional: Install the documentation package into
seiscomp/share/docuser@host:~$ tar xzf seiscomp-[version]-doc.tar.gz
Directory Structure¶
The installation of SeisComP creates the SeisComP directory structure. All installed files and directories are found below the seiscomp directory unless an alternative directory is given when installing with gsm or compiling from source code. The directory structure of the installed system is described in the table below.
Directory |
Description |
|---|---|
bin |
The user module binaries. |
lib |
The base library directory used by all modules. |
lib/python |
The Python library directory. |
man |
The manual pages. |
sbin |
The system/service/server binaries such as seedlink. |
var |
Variable files whose content is expected to continually change. |
var/log |
Log files of started modules. Usually modules log either to syslog or ~/.seiscomp/log. This directory contains the logs of the start of each module. |
var/lib |
Default directory for files created by modules such as the waveform ringbuffer of seedlink or the waveform archive created by slarchive. |
var/run |
Contains the .run and .pid files of modules started by seiscomp. |
include |
SDK header files for all libraries. |
share |
Application data such as maps, cities.xml and others. |
share/templates |
Template files used by e.g. seedlink to create its native configuration. |
etc |
Configuration directory. |
etc/descriptions |
Contains all XML module descriptions. |
etc/defaults |
The default configuration files. This directory is read as first when a module starts. |
etc/init |
Module init scripts called by seiscomp. |
etc/key |
Station configurations and module bindings. |
Software Dependencies¶
SeisComP depends on a number of additional software packages shipped with each Linux distribution. After installation of SeisComP these packages can be installed using the seiscomp script. seiscomp comes with the command install-deps which installs required packages. For example, to install the dependencies for using the MariaDB database, give ‘mariadb-server’ as parameter.
user@host:~$ seiscomp/bin/seiscomp install-deps base mariadb-server
Distribution: Ubuntu 24.04
[sudo] password for sysop:
Reading package lists... Done
Building dependency tree
Reading state information... Done
...
More requirements for systems with GUIs, FDSNWS and iLoc are:
user@host:~$ seiscomp/bin/seiscomp install-deps gui
user@host:~$ seiscomp/bin/seiscomp install-deps fdsnws
user@host:~$ seiscomp/bin/seiscomp install-deps iloc
If your distribution is not supported by seiscomp install-deps, install the above packages manually from the scripts within the OS- and version-dependent directories:
user@host:~$ cd seiscomp/share/deps/[OS]/[version]
...
Read the section System management for more detailed options and instructions.
Warning
Either the MariaDB or the MySQL server can be installed; not both at the same time. When replacing one by the other, ensure that all related files are removed before installing the alternative server. For MySQL instead of MariaDB use:
root@host:~$ sh install-mysql-server.sh
Preferably use MariaDB instead of MySQL as MariaDB is the default for the supported Linux distributions!
Note
Linux systems develop dynamically and the installation of the dependencies may be incomplete. SeisComP modules will stop and indicate the missing software. They can be installed manually.
Database Server Configuration¶
SeisComP is typically operated with a database which should be optimized. This section describes how to setup and optimize the database server. For the setup of the database itself read the section Getting Started with SeisComP.
MariaDB / MySQL¶
For better performance with a MariaDB/MySQL database, adjust the memory pool size. Test the default of the buffer_pool_size before making the change:
$ mysql -u root -p show variables like 'innodb_buffer_pool_size';
The optimum buffer_pool_size depends on your system (RAM size) and only needs to be set if required. Choose your preferred value:
Recommended value: 512M or more
Minimum value: 64M
Additionally, reduce the database hard drive synchronization and make both adjustments in the section [mysqld]:
[mysqld] innodb_buffer_pool_size = <your value> innodb_flush_log_at_trx_commit = 2
Note
The location of the configuration file can differ between distributions.
Ubuntu:
/etc/mysql/mariadb.conf.d/50-server.cnfRHEL:
/etc/my.cnfPlease read the documentation of your distribution. root privileges may be required to make the changes.
To start MariaDB automatically during boot set
Ubuntu
user@host:~$ sudo systemctl enable mariadb
RHEL
user@host:~$ su root root@host:~$ systemctl enable mariadb
If you make a fresh installation of MariaDB/MySQL, secure the database and set a password for the root user
Ubuntu
user@host:~$ sudo mysql_secure_installation
RHEL
user@host:~$ su root root@host:~$ mysql_secure_installation
Warning
This step overrides database settings. Only execute the command
After a fresh installation or
If you are sure about the procedure.
After adjusting the parameters, MariaDB needs to be restarted. One can run
Ubuntu:
user@host:~$ sudo systemctl restart mariadb
RHEL:
user@host:~$ su root root@host:~$ systemctl restart mariadb
Note
Replace mariadb by mysql when using MySQL instead of MariaDB.
PostgreSQL¶
When using PostgreSQL, the database server must be initialized and secured.
By default PostgresSQL does not allow to login with username and password which leads to the fact that scmaster can not connect to the database after SeisComP database initialization. Here an example how to enable user/password authentication for local and remote connections.
# TYPE DATABASE USER ADDRESS METHOD
# IPv4 local connections:
host seiscomp sysop 0.0.0.0/0 md5
host all all 127.0.0.1/32 ident
Note
The order of the rules matters and the location of the configuration file can differ between distributions.
Ubuntu:
/etc/postgresql/10/main/pg_hba.conf
RHEL:
/var/lib/pgsql/data/pg_hba.conf
By default PostgresSQL accepts local connections only. If the database server and clients are on different machines please change the listen address as follows.
listen_addresses = 0.0.0.0/0
Note
The location of the configuration file can differ between distributions.
Ubuntu:
/etc/postgresql/10/main/postgresql.confRHEL:
/var/lib/pgsql/data/postgresql.conf
Next Steps¶
Now everything is installed and the system can be configured. The next chapter chapter explains the first steps.