Add the server-side deSEC (dedyn.io) free dynamic-DNS flow so users without a domain can obtain one from the AIO interface. - DesecManager drives the full flow against the deSEC API, matching its real semantics: account creation returns HTTP 202 + email verification (no token), a token is obtained via /auth/login/ only after the email is verified, domain registration handles 201/409, and a wildcard CNAME rrset is created for new accounts. Existing accounts can be used by supplying a password. - The "awaiting verification" step is derived from the stored credentials (email + generated password but no token and no domain yet), not a separate flag. register() returns false for that state so the controller can re-render the awaiting-verification UI instead of surfacing it as an error. - DesecController exposes POST /api/desec/register; DependencyInjection wires the manager; account credentials (email, generated password, token) are stored in the AIO configuration and DESEC_TOKEN is exposed to the caddy container. - The dynamic-DNS record is refreshed with the current public IP on container start (DockerController) and via the cron path (Cron/UpdateDesecIp, cron.sh). - Fix an undefined-variable bug in the desecToken/desecPassword config setters that prevented credentials from being persisted. Co-Authored-By: szaimen <42591237+szaimen@users.noreply.github.com> Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Signed-off-by: Simon L. <szaimen@e.mail.de>
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)
- A Caddy server enabling self-signed HTTPS access to the AIO frontend on port 8080/tcp.
- A Caddy server enabling trusted 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.
- 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 (
- 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.shscript 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.conffile 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.
Related Resources
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.
-
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. ↩︎