# System requirements - Seafile Admin Manual
Author: seafile

Skip to content

# System requirements

This page shows the minimal requirements of Seafile.

About the system requirements

The system requirements in this document refer to the minimum system hardware requirements are the suggestions to smooth operation of Seafile (network connection is not discussed here). If not otherwise specified, it will apply to all deployment scenarios, but for binary installations, the libraries we provided in the documents are only supporting the following operation systems:

- Ubuntu 24.04
- Ubuntu 22.04
- Debian 12
- Debian 11

Important: Information of Docker-base deployment integration services

- In each case, we have shown the services integrated names Docker-base deployment integration services by standard installation with Docker. If these services are already installed and you do not need them in your deployment, you need to refer to the corresponding documentation and disable them in the Docker resource file.However, we do not recommend that you reduce the corresponding system resource requirements on our suggestions, unless otherwise specified.

- However, if you use other installation methods (e.g., binary deployment, K8S deployment) you have to make sure you have installed these services, because it will not include the installation of that.

- If you need to install other extensions not included here (e.g., OnlyOffice), you should increase the system requirements appropriately above our recommendations.

## Seafile CE

- Memory requirements: 2G
- CPU requirements: 2 cores, more than 2G Hz are recommended
- Hard disk requirements: 10G availables, more than 50G are recommended
- Docker-base deployment integration services:
  - Seafile
  - Redis
  - Mariadb
  - Seadoc
  - Caddy

## Seafile Pro

- CPU and Memory requirements:

  Deployment Scenarios | CPU Requirements | Memory Requirements | Indexer / Search Engine
  --- | --- | --- | ---
  Docker deployment | 4 Cores | 4G | Default
  All | 4 Cores | 4G | With existing ElasticSearch service, but on the same machine / node
  All | 2 Cores | 2G | With existing ElasticSearch service, and on another machine / node
  All | 2 Cores | 2G | Use SeaSearch as the search engine, instead of ElasticSearch

- Hard disk requirements: More than 50G are recommended

- Docker-base deployment integration services:
  - Seafile
  - Redis
  - Mariadb
  - ElasticSearch
  - Seadoc
  - Caddy

More details of files indexer used in Seafile PE

- By default, Seafile Pro will use Elasticsearch as the files indexer

  Please make sure the mmapfs counts do not cause excptions like out of memory, which can be increased by following command (see https://www.elastic.co/guide/en/elasticsearch/reference/current/vm-max-map-count.html for futher details):

      sysctl -w vm.max_map_count=262144 #run as root

  or modify /etc/sysctl.conf and reboot to set this value permanently:

      nano /etc/sysctl.conf

      # modify vm.max_map_count
      vm.max_map_count=262144

- If your machine dose not have enough requirements, 2 Cores and 2GB RAM are minimum by chosing one of following two ways after first-time deployment:

  - Use SeaSearch, a lightweight search engine built on open source search engine ZincSearch, as the indexer

  - Deploy Elasticsearch in another machine, and modify `es_host` and `es_port` in seafevents.conf

## Seafile Cluster

- Node requirements: Minimal 2 nodes (one frontend and one backend), but recommend more than 3 nodes (two frontend and three backend)

More details about the number of nodes

1. If your number of nodes does not meet our recommended number (i.e. 3 nodes), please adjust according to the following strategies:
   - 2 nodes: A frontend service and a backend service on the same node
   - 1 node: Please deploy Seafile in a single node instead a cluster.
2. If you have more available nodes for Seafile server, please provide them to the Seafile frontend service and make sure there is only one backend service running. Here is a simple relationship between the number of Seafile frontent services (\(N_f\)) and total nodes (\(N_t\)): $$ N_f = N_t - 1, $$ where the number 1 means one node for Seafile backend service.

- Other system requirements: similar with Seafile Pro, but make sure that all nodes should meet this condition
- Docker-base deployment integration services: Seafile only

More suggestions in Seafile cluster

- We assume you have already deployed Redis (Memcached alternatively, but still recommend Redis), MariaDB, file indexer (e.g., ElasticSearch) in separate machines and use S3 like object storage.

- Generally, when deploying Seafile in a cluster, we recommend that you use a storage backend (such as AWS S3) to store Seafile data. However, according to the Seafile image startup rules and K8S persistent storage strategy, you still need to prepare a persistent directory for configuring the startup of the Seafile container.