A compose profile for the services nobody runs locally

A stack of eleven services where four are needed by two people occasionally, started by everybody constantly.

services:
  elasticsearch:
    profiles: [search]
  kibana:
    profiles: [search]
  mailpit:
    profiles: [mail]

# default up starts neither
$ docker compose up -d

# and when you need them
$ docker compose --profile search up -d

Memory is the reason: the search pair was 2.4 GB on a laptop that had 16. A service with a profile is excluded from every command that does not name the profile, including down, which surprises people — stopping the stack leaves the profiled containers running unless the profile is named again. Setting COMPOSE_PROFILES in a personal environment file is the way to make a choice sticky.