Astro 6 + Starlight 0.39 documentation site for omni-pca, organised around the Diatáxis framework (Tutorials / How-to / Reference / Explanation), plus a chronological Journey page and Changelog. Theme: muted slate-blue with amber accents. astro-icon + lucide preinstalled. Astro telemetry and Starlight devToolbar both off. Deployment: multi-stage Dockerfile (node:25-alpine builder -> caddy:2-alpine runtime), inner Caddy serves static dist on :80, outer caddy-docker-proxy on the host terminates TLS for hai-omni-pro-ii.warehack.ing.
51 lines
1.2 KiB
Makefile
51 lines
1.2 KiB
Makefile
# hai-omni-docs Makefile
|
|
#
|
|
# Local dev: make dev (Astro dev server, hot reload, no docker)
|
|
# Smoke build: make ci (npm run build — verify static output)
|
|
# Deploy: make build && make up
|
|
#
|
|
# Reads .env if present so DOMAIN / COMPOSE_PROJECT propagate to compose.
|
|
|
|
SHELL := /bin/bash
|
|
COMPOSE := docker compose
|
|
|
|
.PHONY: help dev install ci build up down restart logs ps clean
|
|
|
|
help:
|
|
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) \
|
|
| awk 'BEGIN {FS = ":.*?## "}; {printf " \033[36m%-12s\033[0m %s\n", $$1, $$2}'
|
|
|
|
install: ## Install npm dependencies
|
|
npm install
|
|
|
|
dev: ## Start Astro dev server with hot reload (host)
|
|
npm run dev
|
|
|
|
ci: ## Smoke-test the static build locally
|
|
npm run build
|
|
|
|
build: ## Build the docker image
|
|
$(COMPOSE) build
|
|
|
|
up: ## Start the docs container in the background
|
|
$(COMPOSE) up -d
|
|
@echo
|
|
@echo "==> Tailing recent logs ..."
|
|
@$(COMPOSE) logs -f --tail=20
|
|
|
|
down: ## Stop and remove the docs container
|
|
$(COMPOSE) down
|
|
|
|
restart: ## Recreate the docs container
|
|
$(COMPOSE) up -d --force-recreate
|
|
@$(COMPOSE) logs -f --tail=20
|
|
|
|
logs: ## Follow logs
|
|
$(COMPOSE) logs -f --tail=50
|
|
|
|
ps: ## Show container status
|
|
$(COMPOSE) ps
|
|
|
|
clean: ## Remove build artifacts
|
|
rm -rf dist .astro
|