Compare commits

...

3 Commits

Author SHA1 Message Date
Kai Curry
2355826d24
Merge 8c69927438 into 5f2536dcd8 2026-02-19 10:42:44 -08:00
Shay Collings
5f2536dcd8
Added section for macOS installation including port conflict warning, example compose file and reference to Apple Silicon Detector (#22025)
Co-authored-by: Shay Collings <shay.collings@gmail.com>
2026-02-19 08:04:28 -06:00
Kai Curry
8c69927438 docs: Add documentation style guide for internal links 2026-02-09 18:27:44 -01:00
2 changed files with 92 additions and 0 deletions

View File

@ -8,3 +8,56 @@ For installation and contributing instructions, please follow the [Contributing
1. Run `npm i` to install dependencies
2. Run `npm run start` to start the website
# Documentation Style Guide
## Internal Links
When adding or editing internal links, follow these conventions:
### Do not include the `.md` extension
Use paths without extensions. This avoids needing `index.md` for directory index pages and matches the web URL.
```markdown
<!-- Good -->
[zones](/configuration/zones)
[getting started](../guides/getting_started)
<!-- Bad -->
[zones](/configuration/zones.md)
```
### Use relative paths for same-directory links
Use relative `./` paths for links to pages in the same directory.
```markdown
[zones](./zones)
[masks](./masks)
```
### Use absolute paths for everything else
For links outside the current directory, use absolute paths from the docs root. The exception is deeply nested subdirectories (e.g., `configuration/custom_classification/`) where `../` to the parent directory is acceptable.
```markdown
[object detectors](/configuration/object_detectors)
[hardware](/frigate/hardware)
[getting started](/guides/getting_started)
<!-- Also OK from a nested subdirectory -->
[zones](../zones)
```
### Never use full URLs for internal links
```markdown
<!-- Good -->
[zones](/configuration/zones)
<!-- Bad -->
[zones](https://docs.frigate.video/configuration/zones)
```
> **Note:** Some existing links still use `.md` extensions. These should be updated when the file is being edited for other reasons.

View File

@ -689,3 +689,42 @@ docker run \
```
Log into QNAP, open Container Station. Frigate docker container should be listed under 'Overview' and running. Visit Frigate Web UI by clicking Frigate docker, and then clicking the URL shown at the top of the detail page.
## macOS - Apple Silicon
:::warning
macOS uses port 5000 for its Airplay Receiver service. If you want to expose port 5000 in Frigate for local app and API access the port will need to be mapped to another port on the host e.g. 5001
Failure to remap port 5000 on the host will result in the WebUI and all API endpoints on port 5000 being unreachable, even if port 5000 is exposed correctly in Docker.
:::
Docker containers on macOS can be orchestrated by either [Docker Desktop](https://docs.docker.com/desktop/setup/install/mac-install/) or [OrbStack](https://orbstack.dev) (native swift app). The difference in inference speeds is negligable, however CPU, power consumption and container start times will be lower on OrbStack because it is a native Swift application.
To allow Frigate to use the Apple Silicon Neural Engine / Processing Unit (NPU) the host must be running [Apple Silicon Detector](../configuration/object_detectors.md#apple-silicon-detector) on the host (outside Docker)
#### Docker Compose example
```yaml
services:
frigate:
container_name: frigate
image: ghcr.io/blakeblackshear/frigate:stable-arm64
restart: unless-stopped
shm_size: "512mb" # update for your cameras based on calculation above
volumes:
- /etc/localtime:/etc/localtime:ro
- /path/to/your/config:/config
- /path/to/your/recordings:/recordings
ports:
- "8971:8971"
# If exposing on macOS map to a diffent host port like 5001 or any orher port with no conflicts
# - "5001:5000" # Internal unauthenticated access. Expose carefully.
- "8554:8554" # RTSP feeds
extra_hosts:
# This is very important
# It allows frigate access to the NPU on Apple Silicon via Apple Silicon Detector
- "host.docker.internal:host-gateway" # Required to talk to the NPU detector
environment:
- FRIGATE_RTSP_PASSWORD: "password"
```