---
title: Port
icon: globe
description: Local ports for frontends, backend APIs, Docker infrastructure, and mail services.
---
> For the complete documentation index, see [llms-docs.txt](/llms-docs.txt) or the site index [llms.txt](/llms.txt). Full docs corpus: [llms-full-docs.txt](/llms-full-docs.txt). Prefer markdown URLs (append `.md`) for agent consumption. Product skill: [skill.md](/skill.md).


Use [https://local.reloop.sh](https://local.reloop.sh) for day-to-day work. Caddy routes traffic and keeps auth cookies scoped correctly.

## Free these ports first

Stop anything already bound before `bun docker:up`.

| Required for | Ports | Service |
| :--- | :--- | :--- |
| `bun docker:up` | `80`, `443` | Caddy |
| | `5432` | PostgreSQL |
| | `6379` | Redis |
| | `9010` | MinIO (API) |
| | `25`, `465`, `587` | SMTP / inbound |

<Tip>
Free mail ports (`25`, `465`, `587`) if host mail or another MTA is already bound there.
</Tip>


## Unified Gateway

| Route | Service | Port |
| :--- | :--- | :--- |
| [https://local.reloop.sh/](https://local.reloop.sh/) | [Web](/docs/setup/frontend/web) | `3000` |
| [https://local.reloop.sh/dashboard](https://local.reloop.sh/dashboard) | [Dashboard](/docs/setup/frontend/dashboard) | `3001` |
| [https://local.reloop.sh/console](https://local.reloop.sh/console) | Console | `3002` |
| [https://local.reloop.sh/docs](https://local.reloop.sh/docs) | [Docs](/docs/setup/frontend/docs) | `3003` |
| [https://local.reloop.sh/preferences](https://local.reloop.sh/preferences) | [Links](/docs/setup/frontend/links) | `3005` |
| [https://local.reloop.sh/api/auth](https://local.reloop.sh/api/auth) | [Auth](/docs/setup/backend/auth) | `8000` |
| [https://local.reloop.sh/api/domain](https://local.reloop.sh/api/domain) | [Domain](/docs/setup/backend/domain) | `8011` |
| [https://local.reloop.sh/api/api-key](https://local.reloop.sh/api/api-key) | [API Key](/docs/setup/backend/api-key) | `8012` |
| [https://local.reloop.sh/api/webhook](https://local.reloop.sh/api/webhook) | [Webhook](/docs/setup/backend/webhook) | `8013` |
| [https://local.reloop.sh/api/contacts](https://local.reloop.sh/api/contacts) | [Contacts](/docs/setup/backend/contacts) | `8014` |
| [https://local.reloop.sh/api/mail](https://local.reloop.sh/api/mail) | [Mail](/docs/setup/backend/mail) | `8015` |
| [https://local.reloop.sh/api/logs](https://local.reloop.sh/api/logs) | [Logs](/docs/setup/backend/logs) | `8016` |
| [https://local.reloop.sh/api/workflow](https://local.reloop.sh/api/workflow) | [Workflow](/docs/setup/backend/workflow) | `8017` |
| [https://local.reloop.sh/api/upload](https://local.reloop.sh/api/upload) | [Upload](/docs/setup/backend/upload) | `8018` |
| [https://local.reloop.sh/api/template](https://local.reloop.sh/api/template) | [Template](/docs/setup/backend/template) | `8019` |
| [https://local.reloop.sh/api/inbox](https://local.reloop.sh/api/inbox) | [Inbox](/docs/setup/backend/inbox) | `8021` |
| [https://local.reloop.sh/api/email](https://local.reloop.sh/api/email) | [Email](/docs/setup/backend/email) | `8022` |
| [https://local.reloop.sh/api/credits](https://local.reloop.sh/api/credits) | [Credits](/docs/setup/backend/credits) | `8023` |
| [https://local.reloop.sh/api/admin](https://local.reloop.sh/api/admin) | Admin | `8024` |


## Frontend

| App | Direct URL | Port |
| :--- | :--- | :--- |
| [Web](/docs/setup/frontend/web) | [http://localhost:3000](http://localhost:3000) | `3000` |
| [Dashboard](/docs/setup/frontend/dashboard) | [http://localhost:3001](http://localhost:3001) | `3001` |
| Console | [http://localhost:3002](http://localhost:3002) | `3002` |
| [Docs](/docs/setup/frontend/docs) | [http://localhost:3003](http://localhost:3003) | `3003` |
| [Links](/docs/setup/frontend/links) | [http://localhost:3005](http://localhost:3005) | `3005` |


## Backend APIs

| Service | Caddy route | Port |
| :--- | :--- | :--- |
| [Auth](/docs/setup/backend/auth) | [`/api/auth`](https://local.reloop.sh/api/auth) | `8000` |
| [Domain](/docs/setup/backend/domain) | [`/api/domain`](https://local.reloop.sh/api/domain) | `8011` |
| [API Key](/docs/setup/backend/api-key) | [`/api/api-key`](https://local.reloop.sh/api/api-key) | `8012` |
| [Webhook](/docs/setup/backend/webhook) | [`/api/webhook`](https://local.reloop.sh/api/webhook) | `8013` |
| [Contacts](/docs/setup/backend/contacts) | [`/api/contacts`](https://local.reloop.sh/api/contacts) | `8014` |
| [Mail](/docs/setup/backend/mail) | [`/api/mail`](https://local.reloop.sh/api/mail) | `8015` |
| [Logs](/docs/setup/backend/logs) | [`/api/logs`](https://local.reloop.sh/api/logs) | `8016` |
| [Workflow](/docs/setup/backend/workflow) | [`/api/workflow`](https://local.reloop.sh/api/workflow) | `8017` |
| [Upload](/docs/setup/backend/upload) | [`/api/upload`](https://local.reloop.sh/api/upload) | `8018` |
| [Template](/docs/setup/backend/template) | [`/api/template`](https://local.reloop.sh/api/template) | `8019` |
| [Inbox](/docs/setup/backend/inbox) | [`/api/inbox`](https://local.reloop.sh/api/inbox) | `8021` |
| [Email](/docs/setup/backend/email) | [`/api/email`](https://local.reloop.sh/api/email) | `8022` |
| [Credits](/docs/setup/backend/credits) | [`/api/credits`](https://local.reloop.sh/api/credits) | `8023` |
| Admin | [`/api/admin`](https://local.reloop.sh/api/admin) | `8024` |


## Docker & Mail

| Service | Port | Notes |
| :--- | :--- | :--- |
| Caddy | `80`, `443` | Reverse proxy / TLS |
| Mailpit | `8025` | [http://localhost:8025](http://localhost:8025) — captured outbound mail |
| [SMTP](/docs/setup/backend/smtp) (outbound) | `465`, `587`, `2025`, `2465`, `2587`, `8020` | KumoMTA |
| [Inbound](/docs/setup/backend/inbound) (MX) | `25`, `8030` | KumoMTA |


## Infrastructure

| Service | Port | Notes |
| :--- | :--- | :--- |
| PostgreSQL | `5432` | Shared DB for all backends (including activity logs) |
| Redis | `6379` | Sessions, OTP, caches |
| NATS | `4222` | Event bus between services |
| MinIO | `9010` (API), `9001` (console) | [Upload](/docs/setup/backend/upload) object storage — [console](http://localhost:9001) |
| Spam (Rspamd) | `11332` / `11333` / `11334` | [spam](/docs/setup/backend/spam) scan + UI for [inbound](/docs/setup/backend/inbound) |
