Files
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

46 lines
1.4 KiB
Markdown

# Backend Services
Outline's backend is split into several distinct [services](../server/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:
```bash
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](../server/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.
```bash
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`.