System Requirements

Hardware and software requirements for running Storno.ro on your own infrastructure.

Software Requirements

ComponentVersion
Docker24.0+
Docker Compose2.20+

All other dependencies are included in the Docker images.

Manual Deployment

ComponentVersionNotes
PHP8.2+FPM recommended
MySQL8.0+utf8mb4 charset
Redis7.0+Cache, queues, and rate limiting
Node.js20+Frontend SSR
Nginx1.24+Reverse proxy
Java JRE17+UBL XML validation and digital signatures
Centrifugo5.xReal-time WebSocket server

Required PHP Extensions

pdo_mysql, intl, opcache, zip, gd (with freetype + JPEG), mbstring, bcmath, sockets, redis, apcu, ctype, iconv


Hardware Requirements

Minimum (Small Team, < 5 users)

ResourceSpecification
CPU2 vCPUs
RAM4 GB
Disk20 GB SSD
Network10 Mbps

Suitable for small businesses with up to 500 invoices/month.

ResourceSpecification
CPU4 vCPUs
RAM8 GB
Disk50 GB SSD
Network100 Mbps

Suitable for businesses with multiple companies and thousands of invoices/month.

Production (Large Team, 25+ users)

ResourceSpecification
CPU8+ vCPUs
RAM16+ GB
Disk100+ GB SSD
Network100+ Mbps

For high-volume deployments. Consider separating the database onto its own server.


Resource Allocation (Kubernetes)

If deploying with Helm/Kubernetes, the recommended resource limits per pod:

PodCPU RequestCPU LimitMemory RequestMemory LimitStorage
Backend (PHP)250m1000m256 Mi1 Gi12 Gi
Frontend (Node)100m500m128 Mi512 Mi
MySQL250m1000m512 Mi2 Gi10 Gi
Redis50m200m64 Mi256 Mi2 Gi
Centrifugo50m500m64 Mi256 Mi1 Gi

Disk Space Considerations

  • Database: Grows with invoice volume. ~1 GB per 50,000 invoices (including line items, payments, audit logs).
  • File storage: PDF and XML files are stored on disk or S3. ~50 KB per invoice (PDF + XML). 100,000 invoices ≈ 5 GB.
  • Logs: Application and Nginx logs. Configure log rotation to prevent disk exhaustion.
  • Backups: Plan for at least 2x your data size if storing backups locally.
💡

For production deployments, use S3-compatible object storage for files instead of local disk. This simplifies backups and allows horizontal scaling.


Network Requirements

ServicePortProtocolDirection
HTTPS443TCPInbound
MySQL3306TCPInternal only
Redis6379TCPInternal only
Centrifugo WS8444TCPInternal (proxied via 443)
SMTP587TCPOutbound
ANAF API443TCPOutbound to api.anaf.ro
License validation443TCPOutbound to api.storno.ro
S3 storage443TCPOutbound to your S3 provider
⚠️

The backend must have outbound HTTPS access to api.anaf.ro for e-Factura integration and to api.storno.ro for license validation.


Supported Platforms

Storno.ro Docker images are built for linux/amd64. Tested on:

  • Ubuntu 22.04 / 24.04
  • Debian 12
  • Amazon Linux 2023
  • Alpine Linux (container-native)

Cloud providers: AWS (EC2, ECS, EKS), Google Cloud (GCE, GKE), Azure (VM, AKS), DigitalOcean, Hetzner, OVH.