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.