mirror of
https://forgejo.ellis.link/continuwuation/continuwuity.git
synced 2026-05-26 20:49:55 +00:00
docs: Document maxperf Docker image variants from #1017
Add documentation for the new performance-optimised Docker images with "-maxperf" suffix. These use the release-max-perf build profile with LTO and target haswell CPU architecture on amd64 for optimal performance. Also restructure the static prebuilt binary section in generic deployment docs for better clarity and fix various UK English spelling issues.
This commit is contained in:
@@ -11,10 +11,10 @@ OCI images for Continuwuity are available in the registries listed below.
|
|||||||
|
|
||||||
| Registry | Image | Notes |
|
| Registry | Image | Notes |
|
||||||
| --------------- | --------------------------------------------------------------- | -----------------------|
|
| --------------- | --------------------------------------------------------------- | -----------------------|
|
||||||
| Forgejo Registry| [forgejo.ellis.link/continuwuation/continuwuity:latest][fj] | Latest tagged image. |
|
| Forgejo Registry| [forgejo.ellis.link/continuwuation/continuwuity:latest](https://forgejo.ellis.link/continuwuation/-/packages/container/continuwuity/latest) | Latest tagged image. |
|
||||||
| Forgejo Registry| [forgejo.ellis.link/continuwuation/continuwuity:main][fj] | Main branch image. |
|
| Forgejo Registry| [forgejo.ellis.link/continuwuation/continuwuity:main](https://forgejo.ellis.link/continuwuation/-/packages/container/continuwuity/main) | Main branch image. |
|
||||||
|
| Forgejo Registry| [forgejo.ellis.link/continuwuation/continuwuity:latest-maxperf](https://forgejo.ellis.link/continuwuation/-/packages/container/continuwuity/latest-maxperf) | Performance optimised version. |
|
||||||
[fj]: https://forgejo.ellis.link/continuwuation/-/packages/container/continuwuity
|
| Forgejo Registry| [forgejo.ellis.link/continuwuation/continuwuity:main-maxperf](https://forgejo.ellis.link/continuwuation/-/packages/container/continuwuity/main-maxperf) | Performance optimised version. |
|
||||||
|
|
||||||
Use
|
Use
|
||||||
|
|
||||||
@@ -49,7 +49,7 @@ If you just want to test Continuwuity for a short time, you can use the `--rm`
|
|||||||
flag, which cleans up everything related to your container after you stop
|
flag, which cleans up everything related to your container after you stop
|
||||||
it.
|
it.
|
||||||
|
|
||||||
### Docker-compose
|
### Docker Compose
|
||||||
|
|
||||||
If the `docker run` command is not suitable for you or your setup, you can also use one
|
If the `docker run` command is not suitable for you or your setup, you can also use one
|
||||||
of the provided `docker-compose` files.
|
of the provided `docker-compose` files.
|
||||||
@@ -158,8 +158,19 @@ docker buildx build --load --tag continuwuity:latest -f docker/Dockerfile .
|
|||||||
# Example: Build for specific platforms and push to a registry.
|
# Example: Build for specific platforms and push to a registry.
|
||||||
# docker buildx build --platform linux/amd64,linux/arm64 --tag registry.io/org/continuwuity:latest -f docker/Dockerfile . --push
|
# docker buildx build --platform linux/amd64,linux/arm64 --tag registry.io/org/continuwuity:latest -f docker/Dockerfile . --push
|
||||||
|
|
||||||
# Example: Build binary optimized for the current CPU
|
# Example: Build binary optimised for the current CPU (standard release profile)
|
||||||
# docker buildx build --load --tag continuwuity:latest --build-arg TARGET_CPU=native -f docker/Dockerfile .
|
# docker buildx build --load \
|
||||||
|
# --tag continuwuity:latest \
|
||||||
|
# --build-arg TARGET_CPU=native \
|
||||||
|
# -f docker/Dockerfile .
|
||||||
|
|
||||||
|
# Example: Build maxperf variant (release-max-perf profile with LTO)
|
||||||
|
# Optimised for runtime performance and smaller binary size, but requires longer build time
|
||||||
|
# docker buildx build --load \
|
||||||
|
# --tag continuwuity:latest-maxperf \
|
||||||
|
# --build-arg TARGET_CPU=native \
|
||||||
|
# --build-arg RUST_PROFILE=release-max-perf \
|
||||||
|
# -f docker/Dockerfile .
|
||||||
```
|
```
|
||||||
|
|
||||||
Refer to the Docker Buildx documentation for more advanced build options.
|
Refer to the Docker Buildx documentation for more advanced build options.
|
||||||
@@ -198,5 +209,3 @@ Alternatively, you can use Continuwuity's built-in delegation file capability. S
|
|||||||
## Voice communication
|
## Voice communication
|
||||||
|
|
||||||
See the [TURN](../turn.md) page.
|
See the [TURN](../turn.md) page.
|
||||||
|
|
||||||
[nix-buildlayeredimage]: https://ryantm.github.io/nixpkgs/builders/images/dockertools/#ssec-pkgs-dockerTools-buildLayeredImage
|
|
||||||
|
|||||||
+11
-17
@@ -10,27 +10,21 @@
|
|||||||
|
|
||||||
### Static prebuilt binary
|
### Static prebuilt binary
|
||||||
|
|
||||||
You may simply download the binary that fits your machine architecture (x86_64
|
Download the binary for your architecture (x86_64 or aarch64) - run `uname -m` to check which you need.
|
||||||
or aarch64). Run `uname -m` to see what you need.
|
|
||||||
|
|
||||||
You can download prebuilt fully static musl binaries from the latest tagged
|
Prebuilt static binaries are available from:
|
||||||
release [here](https://forgejo.ellis.link/continuwuation/continuwuity/releases/latest) or
|
- **Tagged releases**: [Latest release page](https://forgejo.ellis.link/continuwuation/continuwuity/releases/latest)
|
||||||
from the `main` CI branch workflow artifact output. These also include Debian/Ubuntu
|
- **Development builds**: CI artifacts from the `main` branch (includes Debian/Ubuntu packages)
|
||||||
packages.
|
|
||||||
|
|
||||||
You can download these directly using curl. The `ci-bins` are CI workflow binaries organized by commit
|
When browsing CI artifacts, `ci-bins` contains binaries organised by commit hash, while `releases` contains tagged versions. Sort by last modified date to find the most recent builds.
|
||||||
hash/revision, and `releases` are tagged releases. Sort by descending last
|
|
||||||
modified date to find the latest.
|
|
||||||
|
|
||||||
These binaries have jemalloc and io_uring statically linked and included with
|
The binaries include jemalloc and io_uring statically linked, so you won't need to install any additional dependencies.
|
||||||
them, so no additional dynamic dependencies need to be installed.
|
|
||||||
|
|
||||||
For the **best** performance: if you are using an `x86_64` CPU made in the last ~15 years,
|
#### Performance-optimised builds
|
||||||
we recommend using the `-haswell-` optimized binaries. These set
|
|
||||||
`-march=haswell`, which provides the most compatible and highest performance with
|
For x86_64 systems with CPUs from the last ~15 years, use the `-haswell-` optimised binaries for best performance. These binaries enable hardware-accelerated CRC32 checksumming in RocksDB, which significantly improves database performance. The haswell instruction set provides an excellent balance of compatibility and speed.
|
||||||
optimized binaries. The database backend, RocksDB, benefits most from this as it
|
|
||||||
uses hardware-accelerated CRC32 hashing/checksumming, which is critical
|
If you're using Docker instead, equivalent performance-optimised images are available with the `-maxperf` suffix (e.g. `forgejo.ellis.link/continuwuation/continuwuity:latest-maxperf`). These images use the `release-max-perf` build profile with [link-time optimisation (LTO)](https://doc.rust-lang.org/cargo/reference/profiles.html#lto) and, for amd64, target the haswell CPU architecture.
|
||||||
for performance.
|
|
||||||
|
|
||||||
### Compiling
|
### Compiling
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user