docker.recipes

Nextcloud AIO

intermediate

All-in-one Nextcloud deployment with backup.

Overview

Nextcloud All-in-One (AIO) is a comprehensive deployment solution that packages Nextcloud's self-hosted productivity platform with essential companion services into a single, automated Docker container setup. Unlike traditional Nextcloud installations that require manual configuration of databases, web servers, and optional services, Nextcloud AIO automatically deploys and manages a complete stack including PostgreSQL, Redis, Apache, Collabora Office, Nextcloud Talk, ClamAV antivirus, and automated backup systems through a unified management interface. This AIO approach eliminates the complexity of coordinating multiple containers while providing enterprise-grade features out of the box. The master container acts as an orchestrator, dynamically spawning and managing additional containers based on your configuration choices through a web-based interface. Built-in backup functionality, automatic SSL certificate management via Let's Encrypt, and integrated security scanning create a production-ready environment that would typically require extensive manual setup and ongoing maintenance. Nextcloud AIO targets organizations and individuals seeking a complete Google Workspace alternative without the operational overhead of managing separate database servers, caching layers, and application dependencies. Home users gain access to enterprise-level file sync and collaboration tools, while small businesses and teams get a scalable platform that grows from basic file storage to full productivity suite with video conferencing, document editing, and workflow automation through Nextcloud's extensive app ecosystem.

Key Features

  • Automated deployment of complete Nextcloud stack including PostgreSQL database, Redis caching, and Apache web server
  • Built-in Collabora Office integration for real-time collaborative document editing directly in the browser
  • Nextcloud Talk video conferencing and chat system with screen sharing and mobile apps
  • ClamAV antivirus scanning for uploaded files with configurable scan policies and quarantine management
  • Daily automated backups with configurable retention policies and one-click restore functionality
  • Web-based AIO management interface for enabling/disabling services and monitoring system health
  • Automatic SSL certificate generation and renewal through Let's Encrypt integration
  • Built-in reverse proxy support with configurable domain validation and port mapping

Common Use Cases

  • 1Small business file server replacement for teams migrating from Google Drive or Dropbox
  • 2Remote team collaboration hub combining file sharing, video calls, and document co-editing
  • 3Home lab enthusiasts wanting a complete productivity suite with minimal configuration complexity
  • 4Educational institutions providing students and faculty with privacy-focused cloud storage and collaboration tools
  • 5Healthcare or legal practices requiring HIPAA/GDPR compliant file storage with audit trails
  • 6Development teams needing secure project file sharing with version control and client access portals
  • 7Non-profit organizations seeking cost-effective alternatives to commercial cloud productivity suites

Prerequisites

  • Docker Engine 20.10+ with access to Docker socket for container orchestration
  • Minimum 4GB RAM recommended for full AIO stack with Office and Talk services enabled
  • Available ports 80, 8080, and 8443 for web interface, AIO management, and SSL respectively
  • 50GB+ available disk space for Nextcloud data and backup storage requirements
  • Domain name with DNS control for Let's Encrypt SSL certificate generation (production use)
  • Basic understanding of Docker volume management for backup and data migration procedures

For development & testing. Review security settings, change default credentials, and test thoroughly before production use. See Terms

docker-compose.yml

docker-compose.yml
1services:
2 nextcloud-aio:
3 image: nextcloud/all-in-one:latest
4 container_name: nextcloud-aio
5 restart: unless-stopped
6 volumes:
7 - nextcloud_aio:/mnt/docker-aio-config
8 - /var/run/docker.sock:/var/run/docker.sock:ro
9 ports:
10 - "80:80"
11 - "8080:8080"
12 - "8443:8443"
13
14volumes:
15 nextcloud_aio:

.env Template

.env
1# AIO manages everything automatically

Usage Notes

  1. 1Docs: https://github.com/nextcloud/all-in-one#readme
  2. 2AIO interface at https://localhost:8080 - get initial password from logs
  3. 3Docker socket access required for spawning additional containers
  4. 4Includes backup, Office, Talk, ClamAV - toggle in AIO interface
  5. 5For reverse proxy: set APACHE_PORT and SKIP_DOMAIN_VALIDATION
  6. 6Daily automatic backups to /mnt/docker-aio-config/backups

Quick Start

terminal
1# 1. Create the compose file
2cat > docker-compose.yml << 'EOF'
3services:
4 nextcloud-aio:
5 image: nextcloud/all-in-one:latest
6 container_name: nextcloud-aio
7 restart: unless-stopped
8 volumes:
9 - nextcloud_aio:/mnt/docker-aio-config
10 - /var/run/docker.sock:/var/run/docker.sock:ro
11 ports:
12 - "80:80"
13 - "8080:8080"
14 - "8443:8443"
15
16volumes:
17 nextcloud_aio:
18EOF
19
20# 2. Create the .env file
21cat > .env << 'EOF'
22# AIO manages everything automatically
23EOF
24
25# 3. Start the services
26docker compose up -d
27
28# 4. View logs
29docker compose logs -f

One-Liner

Run this command to download and set up the recipe in one step:

terminal
1curl -fsSL https://docker.recipes/api/recipes/nextcloud-aio/run | bash

Troubleshooting

  • AIO interface shows 'Cannot connect to Docker daemon': Ensure Docker socket is properly mounted and Docker service is running
  • Initial setup fails with domain validation errors: Set SKIP_DOMAIN_VALIDATION environment variable for local testing or ensure DNS points to server
  • Collabora Office documents won't open: Check that sufficient memory is allocated and WOPI connections aren't blocked by firewall
  • Backup restoration fails with permission errors: Verify backup files are owned by correct user ID and backup volume is properly mounted
  • Nextcloud Talk calls fail to connect: Ensure required TURN server ports are open and properly configured in AIO interface
  • High memory usage with multiple services: Disable unused components like ClamAV or Talk in AIO interface if not needed

Community Notes

Loading...
Loading notes...

Download Recipe Kit

Get all files in a ready-to-deploy package

Includes docker-compose.yml, .env template, README, and license

Ad Space