Skip to content

All services: clean up compose comments and rename compose.yml to compose.yaml - #358

Merged
crypt0rr merged 3 commits into
mainfrom
comment-consistency
Oct 3, 2026
Merged

crypt0rr merged 3 commits into
mainfrom
comment-consistency

Conversation

@jackspiering

@jackspiering jackspiering commented Oct 3, 2026 •

Copy link
Copy Markdown
Collaborator

What changed

Two things, in three commits. Neither changes a setting, value, or structure.

1. Comments and whitespace

In the service template's compose.yaml and in every service that carries the same lines.

Change Before After Services
Ports comment # Binding port ${SERVICE}PORT to the local network - … # Binding the service port to the local network - … 100
Ports comment, other variant # Binding port ${SERVICEPORT} to the local network - … same as above 3
Network comment # Sidecar configuration to route ${SERVICE} through Tailscale # Sidecar configuration to route the service through Tailscale 111
Block heading # ${SERVICE} # Application 110
Header line # All the ${ xx } need to be defined there. # Every variable used in this file must be defined there. 122
DNS block # dns: and # - ${DNS_SERVER} #dns: and # - ${DNS_SERVER}, as in the template 47
Trailing whitespace present removed 103
EXAMPLE_VAR comment indented five spaces indented six spaces 1 (Transmute)

The template gets every change except the two variants it never had.

Kaneo has three headings of the form # ${SERVICE} - DB. They are now # Database, # Backend (API), and # Frontend (Web).

2. compose.yml renamed to compose.yaml

The template and 116 services use compose.yaml. These six used compose.yml and are renamed: AFFiNE, EspoCRM, File Browser, Paperless, RustDesk Server, and XWiki. The file contents are the same apart from the comment changes above.

A comment in Mattermost's .env still called the stack's file docker-compose.yml. It now says compose.yaml.

Why

Compose does not interpolate variables inside comments, so ${SERVICE} stays literal text there. ${SERVICE}PORT in the ports comment is a find-and-replace artifact that 100 services copied from the template.

The DNS block existed in two spellings, and trailing whitespace makes git diff --check fail on any later edit of those lines.

One file name for every service matches the template and lets scripts and checks address compose.yaml everywhere. Compose finds both names, so docker compose up works as before. Someone who passes the file by name, such as docker compose -f compose.yml up, must use the new name after pulling.

Not in this PR

  • Variables inside commented-out code, such as # - ./${SERVICE}-data/app/config:/config, and in the health-check guidance that quotes pgrep -f ${SERVICE} as a command. Those are code, not prose.
  • The indentation of the two header lines under services:.
  • Anything that changes behaviour. Follow-up PRs will cover those.

Testing

  • The output of docker compose config is identical before and after this change for all 122 services and the template. I saved the resolved configuration of each directory on main and on this branch and compared them with diff -r. The 7 services with required variables and the template got placeholder values for this comparison.
  • The same comparison for the rename: identical output before and after for the six renamed services, and docker compose config --quiet passes in each.
  • No README or other file in the repository refers to compose.yml of these services. No other .env or compose file calls its stack's file docker-compose.yml.
  • git diff --check passes.
  • No trailing whitespace is left in any compose file.

Not tested: I did not start the stacks, because the resolved configuration is unchanged. No Markdown file changed, so I did not run rumdl.

…om comments

Compose does not interpolate variables inside comments, so placeholders
such as ${SERVICE} stay literal text there. The ports comment even read
"${SERVICE}PORT", a find-and-replace artifact that 100 services copied
from the template.

Change the template and every service that carries the same lines:

- Ports comment: "Binding the service port to the local network".
- Network comment: "route the service through Tailscale".
- Block heading "# ${SERVICE}" becomes "# Application". Kaneo's three
  headings become "# Database", "# Backend (API)", and
  "# Frontend (Web)".
- Header: "Every variable used in this file must be defined there."
- DNS block: use the template form "#dns:" and "#  - ${DNS_SERVER}" in
  the 47 services that had "# dns:".
- Remove trailing whitespace from 103 services and the template.
- Indent the EXAMPLE_VAR comment with six spaces in the template and
  Transmute.

Only comments and whitespace change. The output of "docker compose
config" is identical before and after for all 122 services and the
template.
@jackspiering jackspiering added the documentation Improvements or additions to documentation label Oct 3, 2026
@jackspiering
jackspiering requested a review from crypt0rr October 3, 2026 10:08
The template and 116 services use compose.yaml. AFFiNE, EspoCRM,
File Browser, Paperless, RustDesk Server, and XWiki used compose.yml.

Compose finds both names, so "docker compose up" works as before. The
output of "docker compose config" is identical before and after the
rename for all six services. No README or other file refers to the old
name.
@jackspiering jackspiering changed the title All services: remove variable placeholders and trailing whitespace from comments All services: clean up compose comments and rename compose.yml to compose.yaml Oct 3, 2026
The comment told users to add extra settings to "the docker-compose.yml".
The stack's file is compose.yaml.
@crypt0rr
crypt0rr merged commit 3ef1366 into main Oct 3, 2026
1 check passed
@crypt0rr
crypt0rr deleted the comment-consistency branch October 3, 2026 11:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants