--- layout: default --- # Micro Server (Optional) The Micro server is an optional web dashboard and authenticated API gateway for production environments. It provides a secure entrypoint for discovering and interacting with services that are already running (e.g., managed by systemd via `micro deploy`). **`micro server` does not build, run, or watch services.** It only discovers services via the registry and provides a UI/API to interact with them. ## micro server vs micro run | | `micro run` | `micro server` | |---|---|---| | **Purpose** | Local development | Production dashboard | | **Builds services** | Yes | No | | **Runs services** | Yes (as child processes) | No (discovers already-running services) | | **Hot reload** | Yes | No | | **Authentication** | Yes (default `admin`/`micro`) | Yes (default `admin`/`micro`) | | **Scopes** | Yes (`/auth/scopes`) | Yes (`/auth/scopes`) | | **Dashboard** | Full gateway UI with auth, scopes, agent | Full dashboard with API explorer, logs, user/token management | | **When to use** | Day-to-day development | Deployed environments, shared servers | For local development, use [`micro run`](guides/micro-run.html) instead. ## Install Install the CLI which includes the server command: ```bash go install go-micro.dev/v6/cmd/micro@latest ``` ## Run Start the server: ```bash micro server ``` Then open http://localhost:8080 and log in with the default admin account (`admin`/`micro`). ## Features - **Web Dashboard** — Browse registered services, view endpoints, request/response schemas - **API Gateway** — Authenticated HTTP-to-RPC proxy at `/api/{service}/{method}` - **JWT Authentication** — All API endpoints require a Bearer token or session cookie - **Token Management** — Generate, view, copy, and revoke JWT tokens - **User Management** — Create, list, and delete users with bcrypt-hashed passwords - **Endpoint Scopes** — Restrict which tokens can call which endpoints via `/auth/scopes` - **MCP Integration** — AI agent playground and MCP tools, with scope enforcement - **Logs & Status** — View service logs and status (PID, uptime) from the dashboard ## Typical Production Setup After deploying services with [`micro deploy`](deployment.html): ```bash # On your server, start the dashboard micro server ``` Services managed by systemd are discovered via the registry and appear in the dashboard automatically. The server provides the authenticated API and web UI for interacting with them. ## When to use it - You have services running in production (via systemd or otherwise) and want a web UI - You need authenticated API access with JWT tokens - You want user management and token revocation - You're running a shared environment where multiple people interact with services For CLI usage details, see the [CLI documentation on GitHub](https://github.com/micro/go-micro/blob/master/cmd/micro/README.md).