# Docker Swarm Services Repository This repository is for Docker Swarm stack files for Wheelz's HomeLab. ## Repository Purpose - Store stack files intended for `docker stack deploy`. - Do not add regular non-Swarm Docker Compose stacks here. - Use this repo for services that are deployed to a Docker Swarm cluster. ## Rules - Never commit real secrets, passwords, tokens, API keys, private keys, or recovery codes. - Use `.env.example` files and Docker secrets/config references for sensitive values. - Prefer Swarm-compatible Compose syntax. Avoid features that only work with local `docker compose` unless documented as unsupported in Swarm. - Use `deploy:` settings intentionally: replicas, placement constraints, restart policies, resources, labels, and update/rollback config where useful. - Use overlay networks for inter-service communication. - Preserve existing files unless the user explicitly asks to replace or reorganize them. - Do not push to Gitea unless the user explicitly asks. ## Validation For Swarm stack files, syntax-check with: ```bash docker compose --env-file .env.example -f -compose.yml config ``` Then review for Swarm compatibility before deployment with: ```bash docker stack deploy -c .yml ``` Do not actually deploy unless the user explicitly asks. ## Current Files - `claude-compose.yml` — Docker Swarm stack for Claude Code. - `claude.env.example` — example environment values for Claude Code stack.