Blog

Tutorials, guides and product news.

Guides

Build your own cloud with Nextcloud

3 November 2026 5 min read
Share this post

Nextcloud is cloud software that keeps your files, calendar and contacts on your own server. The official admin manual asks for at least 128 MB of memory per PHP process and recommends 512 MB. What really decides it is the disk space your files will occupy and how many people use it at the same time.

This article covers the official requirements, performance settings, backups and what to do in the first days.

What do you do with Nextcloud?

You sync your files between your computers and phones, send files to others with share links, and keep your calendar and contact list on your own server. The computer and phone apps only need your server address. New features come as apps, and every app adds some memory and CPU load to the server.

Official requirements

TopicWhat the official admin manual says
MemoryAt least 128 MB per process, 512 MB recommended. The built-in updater needs at least 256 MB.
DatabaseMariaDB and PostgreSQL are recommended, and MySQL is listed too. SQLite is only for testing and very small installations. MySQL and MariaDB need InnoDB.
Web serverApache 2.4 with PHP-FPM or mod_php is recommended. Nginx with PHP-FPM is supported as well.
PHPSupported versions change with the Nextcloud version, so check the current table in the manual.
CacheAPCu with Redis (or Valkey) is recommended. It isn't required, but it can noticeably improve performance.
Background jobsCron is recommended, running every 5 minutes.

What does "memory per process" mean?

Nextcloud runs on PHP, and each simultaneous request is a separate PHP process. The memory figure in the manual is per process. PHP-FPM's default pool allows 5 requests at the same time (pm.max_children = 5). The manual suggests calculating this value from your RAM and assumes 50-100 MB per worker. As a rough formula, divide the RAM you give PHP by the memory per worker. If you set the value too high, the system falls into swap, which the manual says is worse than letting requests queue.

Disk: your files live on the server

In Nextcloud, files are stored on the server's disk. As your photo and document archive grows, the limit is often the disk before it is the RAM. Look at the disk column when you pick a server. At Seturack, scaling a server up also grows the disk, while scaling down does not shrink it. A disk that has grown doesn't shrink back, so keep that in mind.

A summary of the manual setup

  1. Prepare the server: Ubuntu, Apache or Nginx with PHP-FPM, and MariaDB or PostgreSQL.
  2. Point a domain at the server and get an HTTPS certificate. The first step is covered in how to connect your own domain.
  3. Install Nextcloud with the web installer or the command line.
  4. Move background jobs to cron. Open the web server user's crontab: crontab -u www-data -e Then add this line: */5 * * * * php -f /var/www/nextcloud/cron.php
  5. In the admin settings, set the background jobs mode to Cron.
  6. Add APCu and Redis caching.
  7. Set up a mail server for password resets and notifications.
  8. Set up your backup plan and try a restore.

Backups

The Nextcloud documentation asks you to back up the config folder, the data folder, the theme folder and the database. If you have a custom apps folder, take that too. For a consistent backup, turn on maintenance mode first and turn it off when you're done:

sudo -u www-data php /var/www/nextcloud/occ maintenance:mode --on

sudo -u www-data php /var/www/nextcloud/occ maintenance:mode --off

The path in the commands depends on where you installed Nextcloud. Seturack backs up your server every night and keeps the last 7 days. Support that with a database dump and a file copy, and keep a copy of important data outside the server as well.

When should the server grow?

  • The disk is nearly full: Check with df -h. Because your files sit on the disk, this is usually the first limit.
  • The system uses swap: If the swap line in the free -h output is filling up, RAM isn't enough.
  • Pages open slowly or users queue up: Raise the number of PHP workers according to your RAM. If RAM can't support that, scale the server up.

Scaling up doesn't delete the server, and your IP address and data stay the same.

Common mistakes

  • Starting with SQLite. The manual considers it suitable only for testing and very small installations, and switching databases later is a chore.
  • Leaving background jobs in the default AJAX mode. The manual describes it as the least reliable option, so switch to Cron.
  • Skipping the cache. It isn't required, but according to the manual it can noticeably improve performance.
  • Never testing the backup. A backup you can't restore is of no use.

Security

  • Don't use the admin account for daily work. Create separate accounts for your team.
  • Turn on one of the two-factor authentication apps.
  • Keep Nextcloud and PHP up to date. Updates are yours after setup.
  • Serve the site over HTTPS only.

A ready-made Nextcloud on Seturack

If you pick Nextcloud when you order, the database, cache and background jobs come configured and no setup wizard appears. The site opens over HTTPS on an sslip.io address derived from your IP address. The login name is yonetici (Turkish for "admin"), and the password is in the panel. The first setup can take a little while. After your first login, change your password, create accounts for your team and set up the mail server. The steps are in the Nextcloud help article.

If the disk starts to fill up, you can scale the server up in the panel. If you'd like to start with the ready-made install, see the Nextcloud server page.

Comments0

No Comments Yet

Be the first to share your thoughts.

Join the Discussion

Please sign in or sign up to leave a comment.

Never Miss a Post

Get our latest tutorials, guides and product news in your inbox.

You're subscribed to our newsletter.