
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/nextcloudand 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 usernameInstall 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/nextcloudThe 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/nodeinfoLogin / 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:
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 usernameTypical workflows:
- Open
/nextcloudin a browser to complete setup and start syncing. - Use the DAV endpoint at
/nextcloud/remote.php/davfor CalDAV/CardDAV clients. - Check
/opt/quickbox/logs/nextcloud.logfor v3 CLI install and upgrade output. - Check
/opt/v4-dashboard/var/log/username/for Dashboard operation logs. - Review
/srv/nextcloud/config/config.phpwhen adjusting trusted domains.
FAQ
/home/username/.config/Nextcloud/data as configured during installation./srv/nextcloud/config/config.php. QuickBox also adds your server web root as a trusted domain in this file./etc/php/8.4/fpm/pool.d/nextcloud.conf and the socket is /run/php/php8.4-fpm-nextcloud.sock./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
/nextcloudand the nginx reverse proxy. - Review
/srv/nextcloud/config/config.phpbefore 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/configor/nextcloud/datadirectly. - 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.confunless 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
Nextcloud resources
Join the Community
Media server operators sharing configs, getting support, and shaping the future of QuickBox Pro.