mirror of
https://github.com/kochetkov-ma/claude-brewcode.git
synced 2026-09-14 20:16:41 +08:00
Brewcode Docs
Документация doc-claude.brewcode.app. Astro 5 + Caddy + Docker.
Разработка
Node.js 22+, npm.
npm install # зависимости
npm run dev # localhost:4322
npm run build # production -> dist/
npm run check # TypeScript
Dev через Docker:
docker compose -f docker-compose.yml -f docker-compose.dev.yml up --build
# localhost:8080
Деплой
CI/CD (автоматически)
Workflow .github/workflows/docs.yml собирает и пушит образ в GHCR при push.
| Событие | Тег образа | Пример |
|---|---|---|
Tag v3.5.0 |
3.5.0 + latest |
ghcr.io/.../docs:3.5.0 |
| Branch push | {version}-{branch}-{N} |
ghcr.io/.../docs:3.4.6-web-1 |
Платформа: linux/amd64.
Ручная сборка
docker buildx build --platform linux/amd64 \
-t ghcr.io/<owner>/claude-brewcode-docs:TAG .
echo $GITHUB_DOCKER_TOKEN | docker login ghcr.io -u <owner> --password-stdin
docker buildx build --platform linux/amd64 \
-t ghcr.io/<owner>/claude-brewcode-docs:TAG --push .
Запуск на сервере
export DOCS_VERSION=3.5.0
docker compose up -d
DNS
A/AAAA запись doc-claude.brewcode.app -> IP сервера. Caddy получит TLS-сертификат автоматически.
Обновление
export DOCS_VERSION=3.5.1
docker compose pull && docker compose up -d
Структура
web/docs/
├── Dockerfile # multi-stage: node build + caddy serve
├── Caddyfile # production (auto-TLS, security headers)
├── Caddyfile.dev # dev (port 80, без TLS)
├── docker-compose.yml # production
├── docker-compose.dev.yml # dev override
├── src/content/docs/ # MDX-контент
├── src/components/ # компоненты
├── public/ # статика
└── dist/ # сборка (gitignored)
Стек
Astro 5, Tailwind 3, DaisyUI 4, MDX, Shiki (catppuccin-mocha), Caddy 2.11