all-in-one/Containers/mastercontainer
2025-12-11 12:30:10 +01:00
..
backup-time-file-watcher.sh allow to run daily backups without automatic updates 2022-07-17 19:45:16 +02:00
Caddyfile use 127.0.0.1 instead of localhost 2024-05-28 17:24:28 +02:00
cron.sh keep envs for sudo command 2025-11-20 16:07:07 +01:00
daily-backup.sh daily-bakup.sh: fix issue with apache-port 2025-12-09 09:14:59 +01:00
Dockerfile Merge pull request #7264 from nextcloud/dependabot/docker/Containers/mastercontainer/docker-29.1.2-cli 2025-12-10 15:27:22 +01:00
healthcheck.sh use 127.0.0.1 instead of localhost 2024-05-28 17:24:28 +02:00
mastercontainer.conf apply suggestion 2025-10-17 07:40:54 +02:00
README.md Merge pull request #6949 from nextcloud/jtr/docs-containers-mastercontainer-readme 2025-10-20 14:10:25 +02:00
session-deduplicator.sh rework session deduplication 2022-10-16 18:12:50 +02:00
start.sh add further explanation to failed docker check 2025-12-08 19:30:10 +01:00
supervisord.conf adjust additional places 2024-11-11 07:18:59 +01:00

Nextcloud All-in-One mastercontainer

This folder contains the OCI/Docker container definition, along with associated resources and configuration files, for building the mastercontainer as part of the Nextcloud All-in-One project. This container hosts the Nextcloud AIO interface1, and a dedicated PHP environment for it (which is completely independent of the Nextcloud Server).

Overview

The mastercontainer acts as the central orchestration service for the deployment and management of all other containers in the Nextcloud All-in-One stack. It hosts:

  • A dedicated PHP SAPI/backend (php-fpm) for AIO itself (not Nextcloud Server)
  • An Apache service for accessing the AIO interface via a self-signed HTTPS VirtualHost on 8080/tcp
  • A Caddy reverse proxy service enabling HTTPS access to the AIO frontend on port 8443/tcp.
    • Caddy will automatically issue a Let's Encrypt issued certificate if port 80 and 8443 is open/forwarded and a domain pointer is in place; then, simply open the Nextcloud AIO interface using the domain (https://your-domain-that-points-to-this-server.tld:8443). The Let's Encrypt certificate request will use an ACME HTTP-01 challenge.
  • Miscellaneous support services specific to AIO (backup management, health checks, etc.)

Key Responsibilities

  • Orchestrates the deployment and lifecycle of all Nextcloud service containers
  • Handles initial setup and container configuration
  • Coordinates image updates
  • Monitors general system health

It triggers the initial installation and ensures the smooth operation of the Nextcloud All-in-One stack.

Contents

  • Dockerfile: Instructions for building the mastercontainer image.
  • Entrypoint script: The start.sh script is used for container initialization and runtime configuration before starting supervisord.
  • Nextcloud All-in-One Controller App: The core AIO orchestrator that handles configuration and settings for the containers.
  • Supervisor: The supervisord.conf file defines the long-running services hosted within the container (php-fpm, cron, etc.)

Usage

This container should be used as the trigger image when deploying the Nextcloud All-in-One stack in a Docker or other OCI-compliant container environment. For detailed deployment instructions, refer to the project documentation.

Contributing

Contributions are welcome! Please follow the Nextcloud project's guidelines and submit pull requests or issues via the main repository.

License

This folder and its contents are licensed under the GNU AGPLv3, in line with the rest of Nextcloud All-in-One.


  1. The Nextcloud All-in-One interface allows users to install, configure, and manage their Nextcloud instance and related containers via a secure web interface and API. It automates and simplifies complex tasks such as container orchestration, backups, updates, and service management for users deploying Nextcloud in Docker environments. ↩︎