> ## Documentation Index
> Fetch the complete documentation index at: https://ayakaleaf-pro.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Overview

Overleaf runs as several services that call each other over HTTP inside the Docker network. The pages in this section describe these internal APIs. They come from the OpenAPI files in [`develop/hoppscotch/openapi/`](https://github.com/ayaka-notes/ayakaleaf-pro/tree/server-pro/develop/hoppscotch/openapi), which are written from the code of each service.

None of these APIs is public: they are only reachable inside the Docker network, and most of them have no authentication.

## Services

| Service | Address | What it does |
| - | - | - |
| web | `http://web:3000` | The main app. Its private API is called by the other services and the cron scripts of the image |
| document-updater | `http://document-updater:3003` | Holds the docs open in the editor in Redis, applies edits and flushes them back to Mongo |
| docstore | `http://docstore:3016` | Stores every doc of every project in the Mongo `docs` collection |
| real-time | `http://real-time:3026` | Holds the editor's socket.io connections and relays edits between browsers and services |
| chat | `http://chat:3010` | Stores the project chat and the comment threads |
| project-history | `http://project-history:3054` | Turns queued edits into history changes and sends them to history-v1; keeps labels |
| history-v1 | `http://history-v1:3100` | Stores the full history of every project and the file content as blobs |
| filestore | `http://filestore:3009` | Serves template files and, read-only, the blobs that history-v1 writes |
| clsi | `http://clsi:3013` | Compiles projects, runs SyncTeX and word counts, converts documents |
| notifications | `http://notifications:3042` | Stores the notifications shown on the project list |
| linked-url-proxy | `http://linked-url-proxy:3066` | Fetches external URLs for web and refuses internal addresses |
| third-party-datastore | `http://third-party-datastore:3002` | Syncs projects with Dropbox through one job queue per user |

## Authentication

* **web:** HTTP basic auth with `WEB_API_USER` and `WEB_API_PASSWORD`. The git-bridge routes take a personal access token instead.
* **history-v1:** HTTP basic auth as `staging` with `STAGING_PASSWORD`, or a JWT.
* **All other services:** none.

## Try them

The development environment runs [Hoppscotch](https://github.com/hoppscotch/hoppscotch) on `http://localhost:9170`, with a proxy that reaches the services by their Docker addresses. Its [README](https://github.com/ayaka-notes/ayakaleaf-pro/blob/server-pro/develop/README.md#hoppscotch) shows how to set the proxy and import the OpenAPI files.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.