Service Inventory
Service Inventory
Section titled “Service Inventory”Authoritative list of every backend service managed by the ɳSelf CLI. Generated from SPORT F08 (.claude/docs/sport/F08-SERVICE-INVENTORY.md) which audits cli/internal/config/defaults.go.
Required Services (4): Always On
Section titled “Required Services (4): Always On”These services are always provisioned by nself start. Disabling any of them is not supported.
| # | Service | Type | Default Internal Port | Image |
|---|---|---|---|---|
| 1 | PostgreSQL | required | 5432 | postgres:<version> (default 16) |
| 2 | Hasura GraphQL | required | 8080 | hasura/graphql-engine:<version> |
| 3 | Auth (nHost) | required | 4000 | nhost/hasura-auth:<version> |
| 4 | Nginx | required | 80 (HTTP) / 443 (SSL) | nginx:<version> |
Optional Services (6): Toggle via Env
Section titled “Optional Services (6): Toggle via Env”These services run when explicitly enabled in the user’s .env file. Default state is opt-in.
| # | Service | Default Internal Port | Enable Flag |
|---|---|---|---|
| 1 | nself-admin | 3021 | ADMIN_ENABLED=true |
| 2 | MinIO | 9000 (S3 API), 9001 (Console) | MINIO_ENABLED=true |
| 3 | Redis | 6379 | REDIS_ENABLED=true |
| 4 | Functions | 3008 | FUNCTIONS_ENABLED=true |
| 5 | Mail (Mailpit dev) | 1025 (SMTP), 8025 (UI) | MAIL_ENABLED=true |
| 6 | Search (MeiliSearch) | 7700 | SEARCH_ENABLED=true |
MLflow was reclassified from optional service to free plugin in v1.1.0. Install with
nself plugin install mlflow.
Monitoring Bundle (10): Toggle as a Group
Section titled “Monitoring Bundle (10): Toggle as a Group”The monitoring bundle is a single composite plugin (plugins/free/monitoring/) that ships 10 services:
- alertmanager
- glitchtip
- grafana
- loki (port 3100)
- otel-collector
- prometheus
- promtail
- status
- synthetics
- web-vitals
Install:
nself plugin install monitoringCustom Services (CS_1..CS_10): User-Defined
Section titled “Custom Services (CS_1..CS_10): User-Defined”The CLI provides 10 custom service slots for user-defined services from 40+ language templates.
| Slot | Convention | Example |
|---|---|---|
| CS_1 | Lowest-numbered slot, often the primary custom service | web/ repo uses CS_1 = ping_api (port 8001) |
| CS_2 .. CS_10 | Additional slots | User-defined |
Configuration via .env:
CS_1_NAME=ping_apiCS_1_LANGUAGE=goCS_1_PORT=8001CS_1_DOMAIN=ping.nself.orgService Binding Rule
Section titled “Service Binding Rule”All internal services bind to 127.0.0.1. External access via Nginx only.
Source
Section titled “Source”- SPORT:
.claude/docs/sport/F08-SERVICE-INVENTORY.md - CLI source:
cli/internal/config/defaults.go - Cross-reference:
.claude/docs/sport/F05-PLUGIN-INVENTORY-MONITORING.mdfor monitoring bundle details