Where to look first
Before diving into a specific issue, gather the basics — most problems are visible in one of these four places:- Service status —
docker compose psshows which containers are running; the Deployment port reference tells you what each service should be listening on. - API health — run the health check shown in the Deployment guide. If the API is not responding, nothing downstream (console, workers, jobs) can work properly.
- Service logs —
docker compose logs <service>forcore-api,oasm-worker, andmigrationsurfaces auth errors, tool failures, and startup problems. Worker logs are the first place to look for job execution issues. - Audit log — the audit log records workspace activity, including failed attempts, so you can see who did what and what failed.
Common issues
The console is unreachable after docker compose up
The console is unreachable after docker compose up
- Check the Core API health endpoint (see the health check in the Deployment guide). If it does not respond, the API is not ready and the console (which depends on
core-apibeing healthy) will not come up. - Confirm the
migrationservice completed before the API started — migrations must finish before the API can serve. - Check port bindings —
6276(console web UI and/apiproxy) and16276(gRPC passthrough) must be free on the host and published by compose. The API REST is also reachable through the console on6276. - Inspect
docker compose psand the logs ofconsoleandcore-apifor startup errors.
No workers available, or jobs stay stuck at 'Queued'
No workers available, or jobs stay stuck at 'Queued'
- Is the worker container running?
docker compose psshould showoasm-workerup. - Are the worker connection settings correct? Workers authenticate with the workspace API key; a mismatch silently prevents job claims. See the worker connection settings described in the Deployment guide.
- What do the worker logs say? Connection failures, auth errors, and tool errors all appear there.
- Is the worker’s scope correct? A Workspace-scoped worker only claims jobs for its own workspace; a Global worker claims jobs across workspaces.
Discovery completes but no assets appear
Discovery completes but no assets appear
- Tool install status — check whether the tools a job needs are Built-in or Installed. A job whose tool is not installed produces no results. The tool list and data source mapping are on the Tools page.
- Data source mapping — some tools report services rather than plain host assets (for example, results from HTTP probing or screenshots). A service-oriented result appears under services, not as a plain host asset.
- Workspace configs — open Settings → General → Configs. If Asset discovery is off, discovery jobs are not scheduled for targets; if Auto enable assets is off, newly discovered assets are not enabled for further scanning and processing. See Workspaces.
Login issues or no way to create the first account
Login issues or no way to create the first account
/init-admin route — open http://localhost:6276/init-admin before the first sign-in. The first account created this way receives admin privileges automatically.For existing deployments, new users join workspaces through invitations. Pending invitations grant no access until accepted — check the Invitations tab for resend or cancel actions. See Onboarding and Members.An API key stops working
An API key stops working
Notifications are not arriving
Notifications are not arriving
- Integration status — the Integrations page shows whether each connection (Slack, Telegram, Webhook, and others) is healthy.
- Notification configuration — the Notifications page controls which events and severities produce notifications; a filter that excludes the event suppresses the alert.
- Notification types — notifications fire for specific moments in the pipeline, such as a new asset being discovered or a new vulnerability being found; an event that never occurs will never notify.
Port conflicts between development and Docker
Port conflicts between development and Docker
- Production (oasm-docker): web UI on 6276 (nginx serves the console and forwards API traffic), with the gRPC passthrough on 16276.
- Local development (open-asm source tree): console served by Vite on 5173, API on 6276.
3001:80) or stop the process holding the port. The API port 6276 is the same in both modes, so conflicts there usually mean two instances are running.Scans are slow
Scans are slow
- Worker concurrency — how many jobs a single worker executes in parallel (default 10). Raise it on capable hosts.
- Worker count — workers scale horizontally; add replicas to process more jobs at once. See Deployment.
- Scope size — the number of targets, assets, and enabled discovery categories determines total work. Narrow scope or reduce categories for faster cycles.
SSL / TLS certificate issues on assets
SSL / TLS certificate issues on assets
- Confirm the discovery category that collects TLS data completed for the affected assets.
- Check the TLS Statistics section on the dashboard, which summarizes certificate coverage and age across the inventory.
- Re-run discovery for the affected target if the certificate was recently issued or rotated — certificate data refreshes only when a job merges new results.
General debugging — who did what, and what version is running
General debugging — who did what, and what version is running
- Audit log — the audit log records workspace activity (for example Created API key, Revoked API key, Deleted scan target) including failed attempts. Filter by Outcome = Failure to surface repeated failures that indicate misconfiguration or abuse.
- Version and health — open Settings → About. The page shows the platform version and a status line such as Platform is up to date. The API health check described in the Deployment guide confirms the service is responsive.
- Search — use search to locate assets, vulnerabilities, and issues by query across the workspace.
- Reports — the Reports page summarizes the pipeline’s output; a report with empty or stale data points back to job health rather than to reporting itself.
FAQ
What license is OASM released under?
What license is OASM released under?
What is the difference between self-hosted and OASM Cloud?
What is the difference between self-hosted and OASM Cloud?
How do SDKs fit in?
How do SDKs fit in?
Is OASM really free?
Is OASM really free?
How do I upgrade an existing deployment?
How do I upgrade an existing deployment?
docker compose up -d again. The migration service runs TypeORM migrations automatically before the API starts, so schema changes apply in order. Watch the migration service log to confirm migrations completed, and check release notes for manual steps before upgrading major versions. See Deployment.Can I run OASM in development alongside the Docker stack?
Can I run OASM in development alongside the Docker stack?
oasm-docker) the console binds 6276 and the API is reachable on 6276 as well; in the open-asm dev source tree the compose console binds 3000, the Vite dev server serves on 5173, and the API stays on 6276. Run one mode at a time, or change host port mappings in compose to avoid conflicts. See the Developer guide and Deployment.Where do I find the version number?
Where do I find the version number?
