In short
For a single instance without a dedicated Linux team, AIO is usually the better choice: updates, backup and extra services are aligned. A manual installation pays off when you have existing infrastructure, your own database cluster, configuration management or special requirements.
| Criterion | Nextcloud AIO | Manual install |
|---|---|---|
| Structure | Master container manages Nextcloud, DB, Redis, Collabora, Talk and more | Web server, PHP-FPM, database, Redis installed and wired up yourself |
| Initial setup | Short, via the AIO web interface | Longer, every component configured separately |
| Updates | Central in the AIO interface, container versions aligned | Nextcloud updater or occ upgrade, PHP and DB separately |
| Backup | BorgBackup built in, including restore from the interface | Your own plan for files, database and configuration |
| Control | Limited, changes through provided variables | Complete, every file and every parameter |
| Troubleshooting | Inside containers: docker logs, docker exec | Directly on the host: logs, journalctl, config files |
| Existing infrastructure | Own stack, hard to fit to an external DB or an existing proxy | Fits into existing DB clusters, proxies and monitoring |
| occ commands | docker exec --user www-data nextcloud-aio-nextcloud php occ … | sudo -u www-data php occ … |
Pick Nextcloud AIO if …
- you run a single instance for a team, a club or a small company.
- office, Talk and backup should work without integration work on your side.
- nobody on the team has time to maintain PHP versions and dependencies.
- the server is dedicated to Nextcloud.
Pick Manual install if …
- you have to use an existing database, a central reverse proxy or object storage.
- configuration is managed with Ansible, Puppet or similar.
- you plan multiple application servers or high availability.
- policies rule out Docker or prebuilt images.
Pitfalls from operations
- AIO behind your own reverse proxy: ports and
APACHE_PORTmust match the proxy config, otherwise setup ends in redirect loops. - Manual installation without a real system cron: AJAX background jobs only run when someone opens the page, and tasks pile up.
- Wrong file ownership after manual copies: files must belong to the web server user, or updates and uploads fail.
- Backup without a restore test: with AIO and manual setups alike, a backup only counts once a restore has worked.
FAQ
Can I move from AIO to a manual installation?
Yes, via a database dump and a copy of the data directory, much like a server move. Expect work on configuration, paths and permissions, so try to make the decision early.
Is AIO fit for production?
Yes, AIO is an officially maintained method, not a test setup. Its limits are scaling and customisation rather than stability.