Skip to Content
Nextcloud

Nextcloud

Self-hosted file sync, sharing, and collaboration

Overview

Nextcloud is an open source, self-hosted file sync and sharing platform that also supports calendars, contacts, and team collaboration. QuickBox deploys it as a web application under a fixed web path so it’s accessible through the browser.

It is not a CLI-only tool; access is provided through a web UI at /nextcloud behind the QuickBox nginx reverse proxy.

Key features

QuickBox provides a clean, reverse-proxied Nextcloud setup with predictable paths, a dedicated PHP-FPM pool, and database-backed installs.

🌐 Web access path

Served from /nextcloud over HTTPS via the QuickBox reverse proxy.

📦 Standard install layout

Application files live in /srv/nextcloud with configuration in /srv/nextcloud/config/config.php.

🗂️ Dedicated data directory

User data is stored under /home/username/.config/Nextcloud/data.

🐘 Isolated PHP 8.4 FPM pool

Nextcloud runs on a dedicated PHP 8.4-FPM pool at /run/php/php8.4-fpm-nextcloud.sock, isolated from other applications.

🔐 Security headers and HSTS

nginx enforces security headers including Strict-Transport-Security (HSTS) and blocks direct access to sensitive paths.

🧾 Install logging

Installer output is captured in /opt/quickbox/logs/nextcloud.log. Dashboard operations log to /opt/v4-dashboard/var/log/.

🚪 DAV and federation endpoints

Well-known routes redirect CalDAV, CardDAV, WebFinger, and NodeInfo to the correct Nextcloud paths.

🛠️ Post-install optimization

QuickBox automatically runs database index, column, and primary key migrations plus a maintenance repair after install.

When to use it

Use Nextcloud when you want a self-hosted alternative to consumer cloud storage with syncing, sharing, and collaboration features.

Good fit if

  • You want a self-hosted file sync and collaboration suite for your server.
  • You need browser access under a fixed path like /nextcloud.
  • You want CalDAV/CardDAV compatibility using /nextcloud/remote.php/dav.
  • You want federation support with WebFinger and NodeInfo discovery.

What QuickBox sets up

  • QuickBox installs Nextcloud into /srv/nextcloud and configures nginx routes.
  • Your Nextcloud admin user is created from the QuickBox username you install with.
  • Data storage is placed in /home/username/.config/Nextcloud/data.
  • A dedicated PHP 8.4 FPM pool keeps Nextcloud isolated from other PHP applications.

Installation

Install from the QuickBox CLI

Nextcloud is managed through the QuickBox CLI using the standard install lifecycle commands:

qb install nextcloud -u username qb reinstall nextcloud -u username qb update nextcloud -u username qb remove nextcloud -u username

Install from the Dashboard

QuickBox Dashboard exposes Nextcloud in the software list with Install and Reinstall actions. When installed, the entry shows as Installed.

Automatic post-install setup

The installer automatically optimizes the Nextcloud database by running missing index, column, and primary key migrations, followed by a full maintenance repair. It also sets the maintenance window to 01:00 UTC so background jobs run during low-traffic hours.

Access and authentication

URL / route

Nextcloud is exposed from the QuickBox web root at:

https://host/nextcloud

The nginx config redirects several well-known endpoints for DAV and federation compatibility:

/.well-known/caldav → /nextcloud/remote.php/dav /.well-known/carddav → /nextcloud/remote.php/dav /.well-known/webfinger → /nextcloud/index.php/.well-known/webfinger /.well-known/nodeinfo → /nextcloud/index.php/.well-known/nodeinfo

Login / credentials / tokens

During install, QuickBox creates the Nextcloud admin account using the QuickBox username you install with, and the admin password is set to the QuickBox user password.

Security notes

The Nextcloud nginx configuration blocks direct access to sensitive paths like /nextcloud/config, /nextcloud/data, and /nextcloud/lib. It enforces a suite of security headers including Strict-Transport-Security with max-age=15552000; includeSubDomains (HSTS), X-Content-Type-Options, X-Frame-Options, X-Robots-Tag, and X-XSS-Protection. The X-Powered-By header is removed from PHP responses.

Configuration and files

These are the primary locations used by the QuickBox Nextcloud install:

Nextcloud paths and files
/
srv/
└── nextcloud/# Application root
│ ├── config/
│ │ └── config.php# Primary Nextcloud configuration
│ └── occ# Nextcloud CLI tool
home/
└── username/
│ └── .config/
│ │ └── Nextcloud/
│ │ │ └── data/# User data directory
etc/
├── nginx/
│ └── software/
│ │ └── nextcloud.conf# nginx routing for /nextcloud
└── php/
│ └── 8.4/
│ │ └── fpm/
│ │ │ └── pool.d/
│ │ │ │ └── nextcloud.conf# Dedicated PHP 8.4-FPM pool configuration
run/
└── php/
│ └── php8.4-fpm-nextcloud.sock# PHP-FPM socket for Nextcloud
opt/
├── quickbox/
│ └── logs/
│ │ └── nextcloud.log# v3 CLI installer log
└── v4-dashboard/
│ └── var/
│ │ └── log/
│ │ │ └── username/# v4 Dashboard per-user operation logs
│ │ │ │ ├── package-install-{jobId}.log# Install operation log
│ │ │ │ ├── package-remove-{jobId}.log# Remove operation log
│ │ │ │ └── package-update-{jobId}.log# Update operation log

PHP-FPM pool

Nextcloud uses a dedicated PHP 8.4-FPM pool that is separate from the system PHP configuration. The pool config lives at /etc/php/8.4/fpm/pool.d/nextcloud.conf and communicates via the socket at /run/php/php8.4-fpm-nextcloud.sock. This isolation means Nextcloud PHP settings (memory limits, upload sizes, execution timeouts) do not affect other applications on the server.

Key pool settings:

  • Upload limit: 512 MB
  • Memory limit: 512 MB per process
  • Max execution time: 3600 seconds
  • Process manager: dynamic (up to 64 children)

Common tasks

QuickBox supports the standard lifecycle actions for Nextcloud via the CLI:

qb install nextcloud -u username qb reinstall nextcloud -u username qb update nextcloud -u username qb remove nextcloud -u username

Typical workflows:

  • Open /nextcloud in a browser to complete setup and start syncing.
  • Use the DAV endpoint at /nextcloud/remote.php/dav for CalDAV/CardDAV clients.
  • Check /opt/quickbox/logs/nextcloud.log for v3 CLI install and upgrade output.
  • Check /opt/v4-dashboard/var/log/username/ for Dashboard operation logs.
  • Review /srv/nextcloud/config/config.php when adjusting trusted domains.

FAQ

User data is stored in /home/username/.config/Nextcloud/data as configured during installation.
The primary config is /srv/nextcloud/config/config.php. QuickBox also adds your server web root as a trusted domain in this file.
The Dashboard service list includes a Nextcloud port field, and QuickBox stores the HTTP and HTTPS ports as 80 and 443 in its software database.
QuickBox installs Nextcloud with PHP 8.4 and a dedicated FPM pool. The pool config is at /etc/php/8.4/fpm/pool.d/nextcloud.conf and the socket is /run/php/php8.4-fpm-nextcloud.sock.
The installer sets the maintenance window to 01:00 UTC. Nextcloud schedules background maintenance jobs (cleanup, updates, checks) to run during this window to minimize impact on users.
When you install, remove, or update Nextcloud through the v4 Dashboard, per-user logs are written to /opt/v4-dashboard/var/log/username/package-install-{jobId}.log, package-remove-{jobId}.log, or package-update-{jobId}.log. CLI installs log to /opt/quickbox/logs/nextcloud.log.

Best practices

Do

  • Access Nextcloud through /nextcloud and the nginx reverse proxy.
  • Review /srv/nextcloud/config/config.php before making changes to trusted domains.
  • Use the QuickBox CLI for updates to keep permissions and database optimizations consistent.
  • Check both /opt/quickbox/logs/nextcloud.log (CLI) and /opt/v4-dashboard/var/log/username/ (Dashboard) when diagnosing issues.

Don't

  • Do not expose sensitive paths like /nextcloud/config or /nextcloud/data directly.
  • Do not skip the QuickBox install process—Nextcloud relies on QuickBox to create the admin account and data directory.
  • Do not modify the PHP-FPM pool config at /etc/php/8.4/fpm/pool.d/nextcloud.conf unless you understand the impact on memory and process limits.

Troubleshooting

Symptom → Checks

If /nextcloud loads but you see errors or a blank page, confirm that the nginx route exists at /etc/nginx/software/nextcloud.conf and that the app files are present in /srv/nextcloud.

Symptom → Checks

If CalDAV/CardDAV clients fail to connect, verify they are using /nextcloud/remote.php/dav and that /.well-known/caldav and /.well-known/carddav resolve to the same host.

Symptom → Checks

If installs or updates fail, review /opt/quickbox/logs/nextcloud.log for the CLI installer output and /opt/v4-dashboard/var/log/username/ for Dashboard operation logs.

Resources


Join the Community

Media server operators sharing configs, getting support, and shaping the future of QuickBox Pro.

Dedicated Support
Feature Previews
Community Configs
Active Discussions
Join Discord Server