# Docker Compose Stack Skill Use this skill when adding, reviewing, or modifying regular Docker Compose stacks in this repository. ## Workflow 1. Confirm the service belongs in the non-Swarm Compose repo. 2. Create or update `-compose.yml`. 3. Create or update `.env.example` with placeholders only. 4. Keep real secrets out of the repo. 5. Include healthchecks when practical. 6. Use configurable paths and document required host directories. 7. Validate with `docker compose config` when Docker is available. 8. Summarize changed files and any manual setup steps. ## Compose Standards - Use 2-space YAML indentation. - Prefer explicit image tags over unpinned `latest` when stability matters. - Use `restart: unless-stopped` for ordinary long-running services unless there is a reason not to. - Put service-specific networks at the bottom of the file. - Avoid hardcoding passwords, domains, tokens, or private IP assumptions unless they are already public repo conventions. - For reverse proxy routing, add comments instead of assuming a specific proxy unless the user provides details. ## Validation Command Pattern ```bash docker compose --env-file .env.example -f -compose.yml config ```