Stream and tail logs from any ɳSelf service — or all of them at once.
# Follow all service logs in real time
nself logs -f
# Tail the last 100 lines from the Hasura service
nself logs hasura --tail 100
# Stream auth logs since 30 minutes ago
nself logs auth -f --since 30mnself logs [SERVICE] [FLAGS]nself logs is a thin wrapper around docker logs that knows the names of every container in your ɳSelf stack. When you omit SERVICE, it aggregates stdout/stderr from all running containers and prefixes each line with the service name so you can see the full picture in one terminal tab.
The command resolves service names from the same project namespace that nself start created, so it works correctly regardless of whether your project uses a custom PROJECT_NAME.
| Argument | Required | Description |
|---|---|---|
SERVICE | No | Name of the service to inspect. Matches container role, not the full Docker container name. Valid values: postgres, hasura, auth, nginx,storage, redis, search, functions,mail, admin, and any custom service defined in .env. Omit to tail all services. |
| Flag | Short | Type | Default | Description |
|---|---|---|---|---|
--follow | -f | bool | false | Stream logs continuously until Ctrl-C |
--tail | int | 50 | Number of recent lines to show before streaming begins | |
--since | string | Show logs since this duration ago. Accepts Go duration strings: 30s, 5m, 2h, or RFC3339 timestamps | ||
--timestamps | -t | bool | false | Prefix each line with the container's UTC timestamp |
--no-color | bool | false | Disable ANSI color coding on service-name prefixes (multi-service mode) | |
--json | bool | false | Output raw JSON log objects when the container emits structured logs |
| Name | Container role | Notes |
|---|---|---|
postgres | Database | Required service; always running |
hasura | GraphQL API | Required service; always running |
auth | Authentication | Required service; always running |
nginx | Reverse proxy | Required service; always running |
storage | MinIO (S3) | Optional — enabled when ENABLE_STORAGE=true |
redis | Cache / queues | Optional — enabled when ENABLE_REDIS=true |
search | MeiliSearch | Optional — enabled when ENABLE_SEARCH=true |
mail | Mailpit (dev) or SMTP relay | Optional — enabled when ENABLE_MAIL=true |
functions | Serverless runtime | Optional — enabled when ENABLE_FUNCTIONS=true |
admin | ɳSelf Admin UI | Optional — disabled in production by default |
nself logs -f
# → postgres | 2026-05-07T14:22:01Z LOG: checkpoint starting: time
# → hasura | {"type":"startup","level":"info","ts":"2026-05-07..."}
# → auth | time="2026-05-07T14:22:02Z" level=info msg="server listening"nself logs hasura --tail 200 --since 10mnself logs --since 1h --timestamps > /tmp/nself-$(date +%Y%m%d).lognself logs hasura --json | jq 'select(.level == "error")'nself logs --since 5m | grep -i errorNSELF_PROJECT_NAME — set automatically by nself start; controls which Docker project namespace is targeted0 — success (or stream terminated by Ctrl-C)1 — service not found or Docker not running2 — invalid arguments