Files
TSYSGroupAIOS/docker-compose.yml.example
mrcharles 374288a105 feat: bootstrap meta — cross-project best-practices template
Extract patterns from 18 projects across two machines (12 local infra +
6 remote personal/business via ssh survey). Ship a reusable Gitea template
with AGENTS.md, 5 Crush PreToolUse hooks, git pre-commit/pre-push, a
generalized rules engine, shared bash library, Makefile, lifecycle scripts,
and gardening loop. Includes the canonical BASELINE-PROMPT.md (13 sections)
and PATTERNS.md (standardization scorecard).

The repo self-applies: it passes its own shellcheck (zero info-level),
make fast, and all check-rules.sh checks.

💘 Generated with Crush

Assisted-by: Crush via Crush <crush@charm.land>
2026-08-07 11:17:53 -05:00

27 lines
893 B
Plaintext

# docker-compose.yml — lifecycle template.
#
# Copy to docker-compose.yml (gitignored by default in some projects) and edit.
# Naming law: every service MUST set container_name with a project prefix.
# Never rely on Docker's default `<dir>_<n>` naming.
# PROJECT_PREFIX should match this repo's name (lowercase, hyphenated).
# Define it once here and reuse via interpolation where supported.
services:
example:
image: alpine:3.20 # pin every image — no :latest
container_name: ${PROJECT_NAME:-project}-example
restart: unless-stopped
environment:
- LOG_LEVEL=${LOG_LEVEL:-info}
# Bind-mount the repo so in-container work stays host-owned.
volumes:
- ./:/data
working_dir: /data
# Pin resource limits appropriate to a cluster-of-1 default.
deploy:
resources:
limits:
cpus: '0.50'
memory: 256M