Apply the three blockers and one important item identified in the
code review posted on PR #4:
- docker-compose.yml:
* Pin images to stable tags (ollama 0.11.4, open-webui 0.6.18)
instead of :latest / :main for reproducibility.
* Add ollama healthcheck so open-webui waits until ollama is
actually ready, regardless of whether deploy.sh is used.
* depends_on now uses the 'service_healthy' condition.
- deploy.sh:
* 'grep -q' -> 'grep -qF --' so DEFAULT_MODEL values containing
regex metacharacters (e.g. qwen2.5:7b) match literally.
* Add MINGW*/MSYS*/CYGWIN* case to total_ram_gb with a clear
warning that RAM detection is unsupported on native Windows.
- .env.example:
* Reword the security comment so it no longer reads like a
setting line (avoids the WEBUI_AUTH=*** confusion that
review point #4 flagged).
Validation:
- bash -n deploy.sh -> OK
- python yaml.safe_load(compose) -> OK
- All files LF, no CRLF
Hardening pass over the quickstart repo to make it match the actual
d0a1.es stack and remove long-standing drift.
- README: align with 8 GB RAM reality across all sections, add
explicit security warning on WEBUI_AUTH=false, remove dead link
to d0a1.es/vps, drop stack services not part of d0a1.es
(n8n, WordPress, Qdrant). Re-point the d0a1 section to the
services that actually run at git/mail/app.d0a1.es.
- docker-compose: move all tunables (ports, default model, auth,
secret key, keep-alive) to .env with sensible defaults. Add
commented GPU passthrough block for NVIDIA hosts.
- deploy.sh: pre-flight checks (docker, compose, daemon),
copy .env.example on first run, auto-detect system RAM on
Linux and macOS and warn on sub-8 GB hosts.
- Add .env.example documenting every variable and required RAM
per model.
- Add MIT LICENSE (was promised in README but missing).
- Add .gitignore (local .env, editor cruft, OS junk).
- .gitattributes: use a single rule (text=auto eol=lf) to cover
every text file, not just *.sh - fixes CRLF warnings on new
text files on Windows checkouts.
Refs: d0a1/quickstart rename (companion: new repo at
git.d0a1.es/d0a1/quickstart).
- docker-compose.yml: minimal local AI stack
- deploy.sh: automated deployment with Docker/RAM checks
- README.md: landing page with model selection table