gnexus-book
===============

Knowledge base for documenting personal digital and server infrastructure.

## Planning

- [Project implementation notes](00-overview/project-implementation-notes.md)
- [MVP implementation plan](00-overview/mvp-implementation-plan.md)

## Foundation

- [Documentation rules](90-maintenance/documentation-rules.md)
- [Freshness checks](90-maintenance/freshness-checks.md)
- [Hardware inventory](40-inventory/hardware.yml)
- [Virtual machine inventory](40-inventory/virtual-machines.yml)
- [Traffic routes](40-inventory/traffic-routes.yml)
- [Endpoints](40-inventory/endpoints.yml)
- [Integrations](40-inventory/integrations.yml)
- [Projects](40-inventory/projects.yml)

## Deployment

### Quick start (this machine)

```bash
./scripts/install.sh
```

- **Backend** (FastAPI): `systemctl --user status gnexus-book-backend.service` — listens on `0.0.0.0:8000`
- **Frontend** (nginx): served on port `80` from `/var/www/gnexus-book`
- **MCP Server** (SSE): `systemctl --user status gnexus-book-mcp.service` — listens on `0.0.0.0:8001`, endpoint `/sse`

### Update / redeploy

```bash
./scripts/deploy.sh
```

### Nginx (production)

A sample nginx config is provided in `nginx/gnexus-book.conf`. To use it:

```bash
sudo apt install nginx
sudo cp nginx/gnexus-book.conf /etc/nginx/sites-available/
sudo ln -s /etc/nginx/sites-available/gnexus-book.conf /etc/nginx/sites-enabled/
sudo rm -f /etc/nginx/sites-enabled/default
sudo nginx -t && sudo systemctl reload nginx
```

Nginx will serve the built UI from `/var/www/gnexus-book` and proxy `/api/` to the backend on port `8000`.

## Server

- [Server README](server/README.md)

## UI

- [UI README](ui/README.md)
