Files
outline/docs/SERVICES.md
T
codegen-sh[bot] 97f8d0f265 Separate Prettier and ESLint according to best practices (#9565)
* Separate Prettier and ESLint according to best practices

- Create standalone .prettierrc configuration file
- Remove eslint-plugin-prettier integration from ESLint config
- Replace with eslint-config-prettier to disable conflicting rules
- Remove eslint-plugin-prettier dependency
- Add dedicated format and format:check scripts
- Update lint-staged to run Prettier and ESLint separately
- Format entire codebase with new Prettier configuration

This follows the recommended approach from Prettier documentation:
https://prettier.io/docs/integrating-with-linters#notes

* Remove test comment

---------

Co-authored-by: codegen-sh[bot] <131295404+codegen-sh[bot]@users.noreply.github.com>
2025-07-08 18:01:48 -04:00

1.4 KiB

Backend Services

Outline's backend is split into several distinct services that combined form the application. When running the official Docker container it will run all of the production services by default.

You can choose which services to run through either a comma separated CLI flag, --services, or the SERVICES environment variable. For example:

yarn start --services=web,worker

Admin

Currently this service is only used in development to view and debug the queues. It can be viewed at /admin when enabled.

Web

The web server hosts the Application and API, as such this is the main service and must be run by at least one process.

Websockets

The websocket server is used to communicate with the frontend, it can be ran on the same box as the web server or separately.

Worker

At least one worker process is required to process the queues.

Collaboration

The collaboration server coordinates all realtime editing and updating of documents, it can be ran on the same box as the web server or separately.

yarn start --services=collaboration

If the collaboration service is hosted on a separate domain then the COLLABORATION_URL env must be set to the publicly accessible URL. For example, if the app is hosted at https://docs.example.com you may use something like: COLLABORATION_URL=wss://docs-collaboration.example.com.