Skip to content

SeAT

Requirements

Hardware Requirements

As far as hardware goes, there isn't really a hard and fast rule on what is needed. The more resources you make available, the faster API updates will occur. However, there are some minimum recommended specifications.

Info

Required CPU cores are indicative and may changes depending on your processor. They have been based on a one tier deployment (app, workers and database are hosted on the same server).

To improve accuracy regarding CPU requirements, we provide a Coremark value. Since Cloud providers like Azure and Google Cloud are providing their instance benchmark using this test, it should give you a more meaningful idea of what we are talking about.

Warning

If you intend to process a large amount of data, plan your storage accordingly. The SeAT database can grow incredibly quickly depending on the amount of tokens you process.

Due to high I/O traffic generated by SeAT, we recommand NVMe storage usage for best performances.

Up to 25 characters

Type Requirement
CPU 2 virtual cores (Coremark 20 000+)
Memory 2GB of RAM with a swap file
Core Storage Space 1GB (tend to be stable)
ESI Cache Storage Space 2GB (tend to grow with characters)
Database Storage Space 5GB (tend to grow with characters and history)

Up to 500 characters

Type Requirement
CPU 2 virtual cores (Coremark 20 000+)
Memory 4GB of RAM
Core Storage Space 1GB (tend to be stable)
ESI Cache Storage Space 5GB (tend to grow with characters)
Database Storage Space 10GB (tend to grow with characters and history)

Up to 1 000 characters

Type Requirement
CPU 4 virtual cores (Coremark 40 000+)
Memory 8GB of RAM
Core Storage Space 1GB (tend to be stable)
ESI Cache Storage Space 10GB (tend to grow with characters)
Database Storage Space 20GB (tend to grow with characters and history)

More than 1 000 characters

If you plan to run SeAT for more than 1 000 characters, you will have to fine tune your installation and carefully monitoring it. At time this documentation is wrote, a standard character is queuing around 50 jobs per wave. Since all jobs are not doing the same thing, it's difficult to provide you accurate figures.

A single worker is consuming around 200 MB of memory. Most jobs are requiring less than 5% of CPU - however, a few of them need more than 20% of it. The more jobs you'll get, the more workers you'll need to process queue in less than 60 minutes.

Warning

With such installation, you shouldn't share SeAT server resources with other services. Also, you should consider deploying database on another server.

Software Requirements

Docker Environment

For Docker based installations, all you need is docker. If you already have it installed, check your current version with docker version.

Type Requirement Version Check
Docker Docker: ^24.0 docker -v

Info

If you plan to deploy SeAT on a Windows host, you will need Docker for Windows

Warning

Do not install Docker directly from your distributions repositories. These are usually out of date. Instead, rather follow the steps provided on dockers official documentation

When considering a VPS provider, make sure you choose one that does not make use of OpenVZ or similar operating-system level virtualization technologies. These virtualization technologies limit you in terms of kernel access as they purely containerize an existing Linux installation.

For a successful docker installation, choose a provider that uses para-virtualized technologies such as KVM, VMWare or XEN allowing you full control to the instance (and therefor the kernel itself). Examples of such providers are Digital Ocean, Linode and Vultr.

Bare metal Environment

Info

We consider "bare metal", any environment on which SeAT has been deployed manually (instead using containers).

If you plan to deploy SeAT on a Windows host, you will have to use Docker

Software version requirements are based on a minimum requirement.

Type Requirement State Check
Operating System Linux (any distribution is suitable, however, Ubuntu tends to get more up-to-date packages on official repositories). Usually, running cat /etc/issue should give you a good idea.
Architecture 64-bit only uname -p
PHP PHP: ^8.3 including mysql, gd, bz2, intl, pcntl, gmp, openssl, zip, opcache and redis extensions php -v and php -i
Database MariaDB: ^10.2.7 mysql -V
Caching Service Redis redis-server -v
Service Supervisor Supervisor : 3 supervisord -v
Web Server NGinX or Apache nginx -v or httpd -v

Tip

In case you want to deploy SeAT with Apache as web server, plan to configure it with Fast CGI using php-fpm instead embedded php process. Doing it so will make you benefit of significant improved performances.