# Use cases

Step-by-step guides for the most common ways to use Ceryx.

Each guide starts from a running Ceryx. For a server, follow [Deploy to production](/docs/deploy) first. For your own machine, start with [Local development](/docs/use-cases/local-development).

- [Production gateway](/docs/use-cases/production-gateway): serve your production domains with HTTPS everywhere, redirects and a fallback for unknown hostnames.
- [Preview deployments](/docs/use-cases/preview-deployments): give every pull request, branch or commit its own URL with one API call.
- [Agent environments](/docs/use-cases/agent-environments): let agents publish the services they start on real hostnames, safely.
- [Local development](/docs/use-cases/local-development): reach every local service at its own `*.localhost` hostname, without publishing ports.
- [Internal network gateway](/docs/use-cases/internal-network): expose services on a private network, with public or self-managed certificates.
- [API protection with mTLS](/docs/use-cases/mtls): let only clients with a trusted certificate reach your API.
