# What Are Server Requirements for Hosting ConnectiveOne?

Server requirements specification describes technical requirements for infrastructure to deploy the ConnectiveOne platform. Requirements depend on the chosen architecture and expected load.

## When You'll Need This

- You need to prepare infrastructure for deploying ConnectiveOne.
- You need to determine necessary server resources.
- You need to choose deployment architecture (monolithic, distributed, cloud).
- You need to verify existing infrastructure compliance with requirements.

## What's Important to Know

- **Architecture** — the platform can be deployed on different types of infrastructure.
- **Scalability** — requirements depend on the number of users, message volume, and integrations.
- **Flexibility** — you can use monolithic, distributed, or cloud architecture.
- Consultation with technical support is recommended to determine optimal parameters.

## Before You Start

- [x] You know the expected system load.
- [x] You have access to technical support for consultation.
- [x] You have determined the architecture type (monolithic, distributed, cloud).

## General Approach

The ConnectiveOne platform consists of services that interact with each other. The services themselves are wrapped in Docker and can be delivered as isolated containers or native services if necessary.

The architecture provides for platform deployment on:
- **Bare metal** — physical servers
- **Cloud** (AWS primarily) — cloud infrastructure
- **Other dedicated servers** — dedicated servers
- **Virtualization** — virtual machines

## Architectural Options

Architecturally it can be:
- **Monolithic server** — all services on one server
- **Separated services** — multiple servers for different services
- **Microservices in cloud infrastructure** — distributed architecture

The platform can be orchestrated using well-known tools (Kubernetes, Docker Swarm) or custom management systems.

## Throughput

The ConnectiveOne platform load throughput has no limitations at the functionality or infrastructure level. One of the conditional limits is the limit at the messenger level (Telegram, Viber, WhatsApp, etc.).

Recommended resources are set taking into account additional integrations or interactions with other modules/services.

## Server Resources

### Monolithic Architecture on One Server

**Minimum requirements:**
- **CPU:** 4 cores
- **RAM:** 8 GB
- **Disk:** 100 GB SSD
- **Network:** 100 Mbps

**Recommended requirements:**
- **CPU:** 8+ cores
- **RAM:** 16+ GB
- **Disk:** 500+ GB SSD
- **Network:** 1 Gbps

**For high load:**
- **CPU:** 16+ cores
- **RAM:** 32+ GB
- **Disk:** 1 TB+ SSD
- **Network:** 10 Gbps

> ⚠️ **Important:** Specific requirements depend on the number of users, message volume, and integrations. Consultation with technical support is recommended to determine optimal parameters.

## Infrastructure Options

### Monolithic Scheme (example implementation)

All services deployed on one server:
- Database
- Backend services
- Frontend
- Redis
- Other dependencies

**Advantages:**
- Simple deployment
- Lower infrastructure costs
- Easier management

**Disadvantages:**
- Limited scalability
- Single point of failure

### Distributed Scheme (example implementation)

Services distributed across multiple servers:
- Separate server for database
- Separate server for backend
- Separate server for Redis
- Load balancer

**Advantages:**
- Better scalability
- Higher availability
- Ability to scale individual components

**Disadvantages:**
- More complex management
- Higher infrastructure costs

### Cloud AWS Scheme (example implementation)

Deployment in AWS cloud infrastructure:
- RDS for database
- EC2 for services
- ElastiCache for Redis
- CloudFront for CDN
- Load Balancer

**Advantages:**
- Automatic scaling
- High availability
- Flexibility in resource management

**Disadvantages:**
- Higher costs at high load
- Provider dependency

## Software

### Required Software

- **Docker** — for service containerization
- **Docker Compose** — for orchestration (optional)
- **Node.js** — for backend services
- **PostgreSQL** — database
- **Redis** — caching and queues
- **Nginx** — web server and reverse proxy (optional)

## Network Requirements

- Open ports for HTTP/HTTPS (80, 443)
- Access to external APIs (messengers, integrations)
- Ability to configure firewall rules
- SSL/TLS certificates for HTTPS

## Security

- Regular security updates
- Firewall configuration
- SSL/TLS encryption
- Data backup
- Monitoring and logging

## Limitations

- Specific requirements depend on load
- Consultation with technical support is required
- Additional requirements may be needed for specific integrations

## What Happens Next

After checking requirements and preparing infrastructure, you can start deploying ConnectiveOne. Consultation with technical support is recommended to determine optimal configuration.

## How to Verify Everything Worked

- Check that the server meets minimum requirements.
- Ensure that all necessary software components are installed.
- Check network settings and access to external APIs.
- Test deployment on a test environment.

## Related Materials

- [Configure general settings](/en/settings/how-to/configure-system-settings.md)
- [Configure authentication](/en/settings/how-to/configure-authentication.md)
- [Administrator guide](/en/settings/admin-hub.md)

