Nextcloud Deployment for Enterprise Cloud Storage

As your team grows and files are scattered across personal clouds and shared folders, the risks of leaks and version chaos increase. We set up Nextcloud as a corporate storage solution with LDAP, PostgreSQL, and S3 integration, keeping your data centralized and protected. Our team delivers the project turnkey—from audit and deployment to ongoing support—ensuring stable operation and scalability as your business evolves.

Our competencies:

Frequently Asked Questions

Latest works

  • Development of a web application for FEEDME
    Development of a web application for FEEDME
    1365
  • Development of an online store for the company FURNORO
    Development of an online store for the company FURNORO
    1330
  • B2B Advance company logo design
    B2B Advance company logo design
    776
  • Development of a web application for Enviok
    Development of a web application for Enviok
    1077
  • AIDER company logo development
    AIDER company logo development
    1022
  • CRM development for Chasseurs
    CRM development for Chasseurs
    1113

Version conflicts, diffuse access rights, data leakage through personal clouds — a typical growth scenario for a company. When the number of employees exceeds 50, a shared folder on a file server no longer suffices: NTFS permissions are inflexible, backups don't scale, and security raises questions. Nextcloud in the right configuration solves these issues, but only if you avoid typical mistakes at the deployment stage. According to the official Nextcloud documentation, PostgreSQL, Redis, and object storage are mandatory for production workloads. We have deployed over 50 corporate storages based on Nextcloud over 5+ years — average license cost savings compared to proprietary alternatives amount to 40-50%. Our engineers hold AWS certifications and years of experience, minimizing risks and implementation time.

What Problems Does Nextcloud Solve in a Corporate Environment?

Problem 1: fragmented files and leakage risks. Employees use personal Google Drive, Yandex.Disk, and even FTP — data is not centralized, DLP policies don't work. Nextcloud with LDAP integration provides a single point of access with group-based permission management. Problem 2: uncontrolled versions and backups. A file server cannot do versioning — accidental deletion of a document can be fatal. Nextcloud stores change history, and S3 storage enables geo-distributed backups with RPO in minutes. Problem 3: slow synchronization of large files. Without object storage, colleagues wait hours for gigabyte CAD models to upload. Nextcloud with S3 and CDN acceleration reduces sync time by 3–4 times.

How to Deploy Nextcloud for 100 Users?

Basic stack we use in production:

  • PHP-FPM (8.2+) + Nginx
  • PostgreSQL 14+ — surpasses MySQL for full-text search and parallel operations
  • Redis — for sessions, file locking, metadata cache
  • S3-compatible storage (MinIO or AWS S3) as primary storage

Why choose S3 over local disk? As volumes grow, you are not tied to a single server. S3 scales independently, simplifies backups and disaster recovery. For 10–20 users, local disk is still tolerable, but for 100+ we plan S3 from the start.

Criterion Local Disk S3 (MinIO / AWS S3)
Scalability Limited by server capacity Scales to terabytes without downtime
Reliability Requires manual RAID and backups Built-in replication, geo-distribution
Performance Depends on disk IOPS Linear with proper configuration
Example cost for 100 users ~200 USD/month from 50 USD/month

Example Docker Compose Configuration — Nextcloud Setup for Production

version: '3.8'
services:
  nextcloud:
    image: nextcloud:28-fpm-alpine
    restart: unless-stopped
    volumes:
      - nextcloud_data:/var/www/html
      - ./config/nextcloud.ini:/usr/local/etc/php/conf.d/nextcloud.ini
    environment:
      POSTGRES_HOST: postgres
      POSTGRES_DB: nextcloud
      POSTGRES_USER: nextcloud
      POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
      REDIS_HOST: redis
      REDIS_HOST_PASSWORD: ${REDIS_PASSWORD}
      NEXTCLOUD_ADMIN_USER: admin
      NEXTCLOUD_ADMIN_PASSWORD: ${ADMIN_PASSWORD}
      NEXTCLOUD_TRUSTED_DOMAINS: cloud.company.com
      OBJECTSTORE_S3_HOST: minio.company.com
      OBJECTSTORE_S3_BUCKET: nextcloud-primary
      OBJECTSTORE_S3_KEY: ${MINIO_KEY}
      OBJECTSTORE_S3_SECRET: ${MINIO_SECRET}
      OBJECTSTORE_S3_PORT: 9000
      OBJECTSTORE_S3_SSL: 'true'
      OBJECTSTORE_S3_USEPATH_STYLE: 'true'
  nginx:
    image: nginx:alpine
    restart: unless-stopped
    volumes:
      - nextcloud_data:/var/www/html:ro
      - ./config/nginx.conf:/etc/nginx/conf.d/default.conf
    ports:
      - "443:443"
    depends_on:
      - nextcloud
  postgres:
    image: postgres:16-alpine
    restart: unless-stopped
    environment:
      POSTGRES_DB: nextcloud
      POSTGRES_USER: nextcloud
      POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
    volumes:
      - postgres_data:/var/lib/postgresql/data
  redis:
    image: redis:7-alpine
    restart: unless-stopped
    command: redis-server --requirepass ${REDIS_PASSWORD}
volumes:
  nextcloud_data:
  postgres_data:

Why Is Redis Critical for Performance?

Without Redis, when multiple users work in parallel on the same folder, locks occur — files are marked as "locked" and cannot be saved. In Security & Setup Warnings, the error "Transaction isolation level is not set" appears. This is solved by moving sessions and cache to Redis. In config.php, we add:

'memcache.distributed' => '\OC\Memcache\Redis',
'memcache.locking' => '\OC\Memcache\Redis',
'memcache.local' => '\OC\Memcache\APCu',

Redis is 2–3 times faster than the built-in file locking based on the database and consumes fewer resources.

What Typical Errors Occur During Nextcloud Installation?

  1. Background tasks do not run. Nextcloud does not perform trash bin cleanup, file scanning, notification sending. We set up a system cron every 5 minutes:
*/5 * * * * docker exec --user www-data nextcloud-app php -f /var/www/html/cron.php 
  1. Slow performance due to missing database indexes. After each update, we run:
docker exec --user www-data nextcloud-app php occ db:add-missing-indices 
  1. LDAP authentication issues. When connecting to Active Directory, it is important to specify the correct user filter, otherwise all accounts get synchronized.

  2. SSL termination at the Nginx level without redirection — an error that causes Nextcloud to consider itself insecure and disables functionality. The correct configuration includes HTTP-to-HTTPS redirection and setting overwriteprotocol.

What Does Our Nextcloud Deployment Service Include?

We do turnkey:

  • Audit of current infrastructure and upgrade recommendations
  • Deployment of Nextcloud in Docker Compose or Kubernetes
  • Integration of LDAP/AD, SMTP, S3, Collabora Online or OnlyOffice
  • Setup of monitoring (Prometheus + Grafana) and alerts
  • Administration documentation and team training
  • 99.9% SLA guarantee for the first month

Our engineers hold AWS certifications and years of experience with cloud solutions. Contact us for a consultation on Nextcloud setup for your business. Order an audit of your current infrastructure — we will identify bottlenecks and suggest an optimal configuration. Get a consultation — we will evaluate your project within one business day.

Deployment Timelines

Scenario Time
Docker Compose, PostgreSQL, S3 backend 2–3 days
+ LDAP and Collabora Online +1 day
+ Monitoring, backups, documentation +1 day
More about licensingNextcloud is released under AGPLv3, which eliminates licensing fees. Savings compared to Microsoft SharePoint or Google Workspace reach 50%.

The cost is calculated individually after an audit of your infrastructure.