- Update .woodpecker/codex-review.yml: node:22-slim → node:24-slim - Update packages/cli-tools engines: >=18 → >=24.0.0 - Update README.md, CONTRIBUTING.md, prerequisites docs to reference Node 24+ - Rename eslint.config.js → eslint.config.mjs to eliminate Node 24 MODULE_TYPELESS_PACKAGE_JSON warnings (ESM detection overhead) - Add .nvmrc targeting Node 24 - Fix pre-existing no-unsafe-return lint error in matrix-room.service.ts - Add Campsite Rule to CLAUDE.md - Regenerate Prisma client for Node 24 compatibility All Dockerfiles and main CI pipelines already used node:24. This commit aligns the remaining stragglers (codex-review CI, cli-tools engines, documentation) and resolves Node 24 ESM module detection warnings. Quality gates: lint ✅ typecheck ✅ tests ✅ (6 pre-existing API failures) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
3.1 KiB
3.1 KiB
Prerequisites
Required and optional software for Mosaic Stack development.
Required
Node.js 24+
# Install using nvm (recommended)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.0/install.sh | bash
nvm install 24
nvm use 24
# Verify installation
node --version # Should be v24.x.x
pnpm 10+
# Install globally
npm install -g pnpm@10
# Verify installation
pnpm --version # Should be 10.x.x
PostgreSQL 17+
Option 1: Native Installation (Linux)
# Ubuntu/Debian
sudo apt update
sudo apt install postgresql-17 postgresql-contrib postgresql-17-pgvector
# Start PostgreSQL
sudo systemctl start postgresql
sudo systemctl enable postgresql
# Verify installation
sudo -u postgres psql --version
Option 2: macOS (Homebrew)
brew install postgresql@17
brew services start postgresql@17
Option 3: Docker (Recommended for Development)
# PostgreSQL will be started via docker compose
# No native installation required
Git 2+
# Ubuntu/Debian
sudo apt install git
# macOS
brew install git
# Verify installation
git --version
Optional
Docker & Docker Compose
Required for containerized deployment and recommended for development.
Linux:
# Install Docker
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
# Add user to docker group
sudo usermod -aG docker $USER
newgrp docker
# Install Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
# Verify installation
docker --version
docker compose version
macOS:
# Install Docker Desktop
# Download from: https://www.docker.com/products/docker-desktop
# Verify installation
docker --version
docker compose version
Authentik
Required for OIDC authentication in production.
Docker Installation:
# Download Authentik compose file
curl -o authentik-compose.yml https://goauthentik.io/docker-compose.yml
# Start Authentik
docker compose -f authentik-compose.yml up -d
# Access at http://localhost:9000
Or use an existing Authentik instance
See Configuration → Authentik for setup instructions.
Ollama
Required for AI features (optional for core functionality).
Linux:
curl -fsSL https://ollama.com/install.sh | sh
# Pull a model
ollama pull llama2
macOS:
brew install ollama
# Pull a model
ollama pull llama2
Or use remote Ollama instance
Configure OLLAMA_MODE=remote and OLLAMA_ENDPOINT in .env.
Verification
Check all required tools are installed:
node --version # v24.x.x or higher
pnpm --version # 10.x.x or higher
git --version # 2.x.x or higher
docker --version # 24.x.x or higher (if using Docker)
psql --version # 17.x.x or higher (if using native PostgreSQL)
Next Steps
Proceed to:
- Local Setup for native development
- Docker Setup for containerized deployment