Skip to main content

nself start

nself start — ɳSelf documentation.

Boot the ɳSelf stack with health checks and automatic database initialization.

Synopsis

nself start [flags]
nself up [flags]

Alias: up

Description

nself start brings up the entire ɳSelf stack in the correct order: PostgreSQL first, then automatic database initialization (schemas, extensions, permissions), then Hasura, Auth, Nginx, optional services, monitoring, and custom services. Each service is health-checked before the next group starts.

Before launching containers, nself start validates that docker-compose.yml exists (run nself build first), the Docker daemon is running, and all required ports are available. A pre-flight port check scans for conflicts on ports 80, 443, 5432, 8080, 4000, 6379, and 9000 and reports the conflicting process name if a port is in use.

Database initialization is automatic and idempotent, ɳSelf creates the database, schemas (auth, storage, public), and extensions (pgcrypto, citext, uuid-ossp) if they do not already exist. After all services are healthy, the console prints all service URLs.

Flags

Flag Default Description
--fresh false Force recreate all containers
--force-recreate false Alias for --fresh
--clean-start false Remove all containers before starting
--skip-build false Skip automatic rebuild detection
--skip-health-checks false Skip health validation after startup
--skip-port-check false Skip port availability check
--skip-db-init false Skip database migrations and seed; bring up Postgres+Hasura+hasura-auth only (CI/E2E)
--skip-plugins false Start base stack only, skip all plugin compose files
--allow-legacy false Bypass v0.9 artifact check and proceed with WARNING (not recommended)
--embedded-pg false Boot PostgreSQL via embedded pglite/wasmtime, no Docker postgres container required; pgvector included
--profile app Service profile passed to an automatic rebuild when the compose file is stale: app or ops. No effect when --skip-build is set
--watch false Enable health auto-restart: poll services and restart unhealthy containers
--quick false Quick start (timeout=30s, required=60%)
--quiet false Suppress progress output (for CI; preserves --json output)
--timeout 120 Health check timeout in seconds (range: 30–600)
--no-monorepo false Disable automatic monorepo backend detection
--debug, -d false Show debug information
--verbose, -v false Show detailed Docker output
--help, -h none Show help

Examples

# Standard boot
nself start

# Using the alias
nself up

# Force container recreation (useful after config changes)
nself start --fresh

# Remove existing containers before starting fresh
nself start --clean-start

# Fast mode for CI, lower timeout, 60% health threshold
nself start --quick

# Skip health checks (not recommended for production)
nself start --skip-health-checks

# Custom health check timeout
nself start --timeout 300

# Verbose output to debug startup issues
nself start -v

Aliases

nself up is a hidden alias for nself start. Same flags. Same behavior. Provided so docker-compose users can keep their muscle memory.