I have no support/technical question and have seen the support category. (Be aware that direct support questions will be deleted.)
on
Which general topic do you have
Just wanted to say that docker compose file on github is ridiculous
Is that what we get with “AI slop”
I have never seen that much comments on every single line? most of them are not informative
Yes, if we were back in 1985 when every extra byte counted, I’d agree with you. But in 2026, I don’t see a problem with it, and it certainly doesn’t seem to bother the computer I’m running it on.
In fact, I think it’s great to have all the options available, so you can enable them simply by uncommenting a line. Plus, you get a quick explanation of what each option does.
But if you prefer to keep your Compose files clean, nothing is stopping you from removing the comments and unnecessary lines, or creating your own compose.yaml. That shouldn’t take a pro like you more than five minutes.
There are some constraints because it’s YAML. I played with some alternative presentations awhile back, but never settled on an approach I was particularly happy about.
How about something like this (what it gains in readability it loses in shortness)?
name: nextcloud-aio
# Adds the mastercontainer to the same compose project as the sibling containers it creates automatically.
services:
nextcloud-aio-mastercontainer:
# Image selection:
# - stable: ghcr.io/nextcloud-releases/all-in-one:latest
# - beta: ghcr.io/nextcloud-releases/all-in-one:beta
# See the project documentation if you want to help test new releases.
image: ghcr.io/nextcloud-releases/all-in-one:latest
# Ensures signals are forwarded correctly to child processes.
# Docker docs: https://docs.docker.com/reference/compose-file/services/#init
init: true
# Starts the container automatically with the host OS.
# Docker docs: https://docs.docker.com/reference/compose-file/services/#restart
restart: always
# Required: do not change, or AIO will not work correctly.
container_name: nextcloud-aio-mastercontainer
volumes:
# Required: do not change, or the built-in backup solution will not work.
- nextcloud_aio_mastercontainer:/mnt/docker-aio-config
# Docker socket:
# - Default path works on standard Linux Docker setups.
# - May need adjustment on macOS, Windows, or Docker rootless.
# - If changed, also set WATCHTOWER_DOCKER_SOCKET_PATH below.
- /var/run/docker.sock:/var/run/docker.sock:ro
# Optional: hardware acceleration
# Uncomment only if /dev/dri exists on the host.
# devices: ["/dev/dri"]
# Networking mode:
# - bridge: default docker-style networking
# - custom network: comment out network_mode and uncomment networks below
network_mode: bridge
# networks: ["nextcloud-aio"]
ports:
# Port 80:
# - Can be removed when using a reverse proxy/web server
# such as Apache, Nginx, Caddy, or Cloudflare Tunnel.
- "80:80"
# Port 8080:
# - AIO management interface
# - Served via HTTPS with a self-signed certificate
# See README: explanation of used ports
- "8080:8080"
# Port 8443:
# - Can be removed when using a reverse proxy/web server
# such as Apache, Nginx, Caddy, or Cloudflare Tunnel.
- "8443:8443"
# Optional: needed when using SELinux
# See README: known problems when SELinux is enabled
# security_opt: ["label:disable"]
# Optional configuration
# Uncomment 'environment:' if you enable any variables below.
# environment:
# --- AIO interface / behavior ---
# Hide the backup section in the AIO interface.
# Default: false
# AIO_DISABLE_BACKUP_SECTION: false
# Adjust the global log level of included AIO components.
# Supported values: debug, info, warn, error
# AIO_LOG_LEVEL: warn
# --- Reverse proxy / web server setup ---
# Required when running behind a reverse proxy or web server
# (Apache, Nginx, Caddy, Cloudflare Tunnel, etc.).
# APACHE_PORT: 11000
# Set this when the reverse proxy runs on the same host.
# APACHE_IP_BINDING: 127.0.0.1
# Optional: connect the Apache container to an additional Docker network.
# Useful when the reverse proxy reaches it over Docker networking.
# APACHE_ADDITIONAL_NETWORK: frontend_net
# Skip domain validation.
# Warning: should only be set to true when everything is correctly configured.
# SKIP_DOMAIN_VALIDATION: false
# --- Backup / retention ---
# Adjust Borg backup retention policy.
# BORG_RETENTION_POLICY: --keep-within=7d --keep-weekly=4 --keep-monthly=6
# --- Compatibility / low-level Docker settings ---
# Override the internally used Docker API version.
# Warning: only the default API version (leave unset) is officially recommended.
# DOCKER_API_VERSION: 1.44
# If your Docker socket is not at /var/run/docker.sock, set the alternate path here.
# WATCHTOWER_DOCKER_SOCKET_PATH: /var/run/docker.sock
# --- Nextcloud data / storage ---
# Set the host directory for Nextcloud's data directory.
# Warning: do not set or change this after initial installation.
# NEXTCLOUD_DATADIR: /mnt/ncdata
# Allow the Nextcloud container to access a host directory.
# NEXTCLOUD_MOUNT: /mnt/
# Trust custom CA certificates from this directory inside the Nextcloud container.
# Useful, for example, with LDAPS or private CAs.
# NEXTCLOUD_TRUSTED_CACERTS_DIR: /path/to/my/cacerts
# --- Nextcloud PHP / upload tuning ---
# Increase upload size limit if needed.
# NEXTCLOUD_UPLOAD_LIMIT: 16G
# Increase PHP max execution time if needed.
# NEXTCLOUD_MAX_TIME: 3600
# Increase PHP memory limit if needed.
# NEXTCLOUD_MEMORY_LIMIT: 512M
# --- App selection / customization ---
# Apps installed on first startup.
# NEXTCLOUD_STARTUP_APPS: deck twofactor_totp tasks calendar contacts notes
# Add Alpine packages permanently to the Nextcloud container.
# Default is imagemagick; overriding replaces the default.
# NEXTCLOUD_ADDITIONAL_APKS: imagemagick
# Add PHP extensions permanently to the Nextcloud container.
# Default is imagick; overriding replaces the default.
# NEXTCLOUD_ADDITIONAL_PHP_EXTENSIONS: imagick
# Keep disabled apps installed instead of uninstalling them.
# Default: false
# NEXTCLOUD_KEEP_DISABLED_APPS: false
# --- Office / search / media features ---
# Disable Collabora seccomp.
# Default: false
# COLLABORA_SECCOMP_DISABLED: false
# Adjust Java options for Fulltext Search.
# FULLTEXTSEARCH_JAVA_OPTIONS: "-Xms1024M -Xmx1024M"
# Enable NVIDIA runtime and GPU access for containers that support it.
# Warning: only works if an NVIDIA GPU is available on the host.
# NEXTCLOUD_ENABLE_NVIDIA_GPU: true
# Adjust the host-exposed port used by the Talk container.
# TALK_PORT: 3478
# Optional: Caddy reverse proxy example
#
# - See discussion 575 for one example
# - Alternatively, use Tailscale if you do not have a domain yet
# (see discussion 6817)
# - For this to work:
# 1. Uncomment APACHE_PORT: 11000 above
# 2. Replace cloud.example.com with your domain
# 3. Uncomment the required Caddy volumes below
# - Additional examples: discussion 588
#
# caddy:
# image: caddy:alpine
# restart: always
# container_name: caddy
# volumes:
# - caddy_certs:/certs
# - caddy_config:/config
# - caddy_data:/data
# - caddy_sites:/srv
# network_mode: "host"
# configs:
# - source: Caddyfile
# target: /etc/caddy/Caddyfile
# Optional config objects for the Caddy example above
# configs:
# Caddyfile:
# content: |
# # Replace with your real domain
# https://cloud.example.com:443 {
# reverse_proxy localhost:11000
# }
volumes:
# Main AIO config volume
# If you want to store data on a different drive, see the README section
# about storing the file installation on a separate drive.
nextcloud_aio_mastercontainer:
# Required: do not change, or the built-in backup solution will not work.
name: nextcloud_aio_mastercontainer
# Uncomment if using the optional Caddy service above.
# caddy_certs:
# caddy_config:
# caddy_data:
# caddy_sites:
# Optional: custom Docker network with MTU override
# Useful if you need to adjust Docker network MTU size.
# networks:
# nextcloud-aio:
# name: nextcloud-aio
# driver_opts:
# com.docker.network.driver.mtu: 1440
I hope you didn’t go to all that trouble just for the OP because he didn’t seem to be trying to provide constructive feedback. Otherwise, his post would have included at least one suggestion for improvement.
He strikes me more like a militant AI opponent who thinks lots of comments equal AI slop. Of course, I could be wrong.
@wuhwuh If the comments truly bother you, the following should help…
sed -i 's/#.*//; s/[[:space:]]*$//; /^[[:space:]]*$/d' /path/to/compose.yaml
Disclaimer: I asked ChatGPT and then tested it myself. The command removes all comments, including resulting blank lines and trailing spaces, in place.