30 lines
1.2 KiB
Markdown
30 lines
1.2 KiB
Markdown
# 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 `<service>-compose.yml`.
|
|
3. Create or update `<service>.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 <service>.env.example -f <service>-compose.yml config
|
|
```
|