# Server requirements for self-hosted installation

This document outlines the requirements for a basic single-server, self-hosted Comind.work installation suitable for small teams. Advanced deployments may incorporate additional features such as fault tolerance, load balancing, high-load processing, and enhanced security measures.

## 1. Hardware requirements[​](#1-hardware-requirements "Direct link to 1. Hardware requirements")

### 1.1 CPU specifications[​](#11-cpu-specifications "Direct link to 1.1 CPU specifications")

* **Minimum benchmark score**: 12,000 or higher
* **Reference**: check <http://www.cpubenchmark.net/high_end_cpus.html> for current CPU benchmarks
* **Performance**: higher CPU performance will improve application responsiveness

### 1.2 Memory requirements[​](#12-memory-requirements "Direct link to 1.2 Memory requirements")

* **Minimum RAM**: 64 GB
* **Performance impact**: increased RAM will enhance application performance
* **Recommendation**: consider additional RAM for larger user bases or data volumes

### 1.3 Storage specifications[​](#13-storage-specifications "Direct link to 1.3 Storage specifications")

* **Type**: SSD (Solid State Drive) required
* **Minimum capacity**: 100 GB or more
* **Limitation**: storage capacity limits maximum data storage capacity
* **Recommendation**: plan storage based on expected data growth

## 2. Software requirements[​](#2-software-requirements "Direct link to 2. Software requirements")

### 2.1 Operating system[​](#21-operating-system "Direct link to 2.1 Operating system")

* **Platform**: Windows Server 2016 or newer
* **Updates**: ensure regular Windows updates and security patches

### 2.2 Web server configuration[​](#22-web-server-configuration "Direct link to 2.2 Web server configuration")

* **Role**: IIS (Internet Information Services)

* **Required components**:

  <!-- -->

  * .NET Framework 4.8+
  * ASP.NET 4.8
  * URL Rewrite 2 add-on

### 2.3 Frameworks and runtimes[​](#23-frameworks-and-runtimes "Direct link to 2.3 Frameworks and runtimes")

* **.NET Core**: 8.0+ runtime and hosting bundle
* **Node.js**: latest LTS version with npm package manager

### 2.4 Database requirements[​](#24-database-requirements "Direct link to 2.4 Database requirements")

* **SQL Server**: MS SQL Server 2016 or newer (legacy store - being phased out in favor of MongoDB)
  <!-- -->
  * SQL Express edition is acceptable for smaller deployments
* **MongoDB**: primary document database for application data

### 2.5 Additional services[​](#25-additional-services "Direct link to 2.5 Additional services")

* **Search engine**: Elasticsearch for full-text search capabilities
* **Caching**: Redis for performance optimization
* **Message queuing**: RabbitMQ for asynchronous processing

### 2.6 Automated installation[​](#26-automated-installation "Direct link to 2.6 Automated installation")

* **Installation script**: Boxstarter and Chocolatey-based automated setup
* **Reference**: <https://gist.github.com/comindwork/10f049fbaa8014e9a361e1c6e2a2d20f>
* **Includes**: specific versions and recommended tools for consistent deployment

## 3. External services[​](#3-external-services "Direct link to 3. External services")

### 3.1 Email services[​](#31-email-services "Direct link to 3.1 Email services")

* **SMTP server**: any standard SMTP server with SPF support
* **POP3 mailbox**: required for parsing incoming emails (e.g., Microsoft Exchange)

### 3.2 Backup requirements[​](#32-backup-requirements "Direct link to 3.2 Backup requirements")

* **Separate storage**: dedicated machine or storage system
* **Management**: handled by internal IT team
* **Metrics**: configure based on RPO (Recovery Point Objective) and MTTR (Mean Time To Recovery) requirements

## 4. Security requirements[​](#4-security-requirements "Direct link to 4. Security requirements")

### 4.1 SSO integration[​](#41-sso-integration "Direct link to 4.1 SSO integration")

Support for enterprise authentication systems:

* **Microsoft Entra ID**: Microsoft Entra ID integration
* **Google Workspace**: Google Workspace authentication
* **Internal LDAP**: on-premises LDAP directory services

### 4.2 SSL certificates[​](#42-ssl-certificates "Direct link to 4.2 SSL certificates")

* **Wildcard certificate**: for subdomain support across all services
* **Individual certificates**: alternative option for each service (main domain, authentication, API, WebDAV)
* **Certificate management**: ensure proper certificate renewal and validation

### 4.3 Access and connectivity[​](#43-access-and-connectivity "Direct link to 4.3 Access and connectivity")

* **RDP access**: direct Remote Desktop Protocol access required during initial setup and ongoing maintenance
* **Network security**: implement appropriate firewall and network security measures

### 4.4 System maintenance[​](#44-system-maintenance "Direct link to 4.4 System maintenance")

* **Windows updates**: regular operating system updates and security patches managed by internal IT team
* **Antivirus software**: managed by internal IT team with performance monitoring to prevent system overload

## Deployment considerations[​](#deployment-considerations "Direct link to Deployment considerations")

### Performance optimization[​](#performance-optimization "Direct link to Performance optimization")

* **Resource monitoring**: track CPU, memory, and storage usage
* **Scaling planning**: plan for future growth and increased load
* **Performance tuning**: optimize database and application settings

### Security best practices[​](#security-best-practices "Direct link to Security best practices")

* **Regular audits**: conduct periodic security assessments
* **Access control**: implement principle of least privilege
* **Monitoring**: set up logging and alerting for security events

### Backup and disaster recovery[​](#backup-and-disaster-recovery "Direct link to Backup and disaster recovery")

* **Backup strategy**: implement comprehensive backup procedures
* **Recovery testing**: regularly test backup restoration procedures
* **Documentation**: maintain detailed deployment and recovery documentation

These requirements provide a solid foundation for a self-hosted Comind.work installation that can scale with your organization's needs while maintaining security and performance standards.
