$docker.recipes

Nextcloud AIO

intermediate

All-in-one Nextcloud deployment with backup.

[i]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

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

WARNING: 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

[i]Usage Notes

  1. [1]Docs: https://github.com/nextcloud/all-in-one#readme
  2. [2]AIO interface at https://localhost:8080 - get initial password from logs
  3. [3]Docker socket access required for spawning additional containers
  4. [4]Includes backup, Office, Talk, ClamAV - toggle in AIO interface
  5. [5]For reverse proxy: set APACHE_PORT and SKIP_DOMAIN_VALIDATION
  6. [6]Daily 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