Compare commits

...

4 Commits

Author SHA1 Message Date
Jade Ellis 2f11bf4d74 docs: Document image mirrors 2026-01-06 00:45:12 +00:00
Jade Ellis 1e8748d1a0 docs: Fix some issues 2026-01-06 00:45:12 +00:00
Tom Foster 70ef6e4211 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.
2026-01-06 00:45:12 +00:00
Renovate Bot 212c1bc14d chore(deps): update github-actions-non-major 2026-01-06 00:24:55 +00:00
4 changed files with 57 additions and 29 deletions
+1 -1
View File
@@ -43,7 +43,7 @@ jobs:
name: Renovate name: Renovate
runs-on: ubuntu-latest runs-on: ubuntu-latest
container: container:
image: ghcr.io/renovatebot/renovate:42.11.0@sha256:656c1e5b808279eac16c37b89562fb4c699e02fc7e219244f4a1fc2f0a7ce367 image: ghcr.io/renovatebot/renovate:42.70.2@sha256:3c2ac1b94fa92ef2fa4d1a0493f2c3ba564454720a32fdbcac2db2846ff1ee47
options: --tmpfs /tmp:exec options: --tmpfs /tmp:exec
steps: steps:
- name: Checkout - name: Checkout
+1 -1
View File
@@ -23,7 +23,7 @@ jobs:
persist-credentials: true persist-credentials: true
token: ${{ secrets.FORGEJO_TOKEN }} token: ${{ secrets.FORGEJO_TOKEN }}
- uses: https://github.com/cachix/install-nix-action@7ab6e7fd29da88e74b1e314a4ae9ac6b5cda3801 # v31.8.0 - uses: https://github.com/cachix/install-nix-action@4e002c8ec80594ecd40e759629461e26c8abed15 # v31.9.0
with: with:
nix_path: nixpkgs=channel:nixos-unstable nix_path: nixpkgs=channel:nixos-unstable
+27 -9
View File
@@ -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
@@ -24,6 +24,15 @@ docker image pull $LINK
to pull it to your machine. to pull it to your machine.
#### Mirrors
Images are mirrored to multiple locations automatically, on a schedule:
- `ghcr.io/continuwuity/continuwuity`
- `docker.io/jadedblueeyes/continuwuity`
- `registry.gitlab.com/continuwuity/continuwuity`
- `git.nexy7574.co.uk/mirrored/continuwuity` (releases only, no `main`)
### Run ### Run
When you have the image, you can simply run it with When you have the image, you can simply run it with
@@ -49,7 +58,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 +167,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 +218,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
+28 -18
View File
@@ -8,29 +8,39 @@
## Installing Continuwuity ## Installing Continuwuity
### Static prebuilt binary ### 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) -
or aarch64). Run `uname -m` to see what you need. run the `uname -m` to check which you need.
You can download prebuilt fully static musl binaries from the latest tagged Prebuilt 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
packages. (includes Debian/Ubuntu 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
hash/revision, and `releases` are tagged releases. Sort by descending last by commit hash, while `releases` contains tagged versions. Sort
modified date to find the latest. by last modified date to find the most recent builds.
These binaries have jemalloc and io_uring statically linked and included with The binaries require jemalloc and io_uring on the host system. Currently
them, so no additional dynamic dependencies need to be installed. we can't cross-build static binaries - contributions are welcome here.
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
optimized binaries. The database backend, RocksDB, benefits most from this as it `-haswell-` optimised binaries for best performance. These
uses hardware-accelerated CRC32 hashing/checksumming, which is critical binaries enable hardware-accelerated CRC32 checksumming in
for performance. RocksDB, which significantly improves database performance.
The haswell instruction set provides an excellent balance of
compatibility and speed.
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.
### Compiling ### Compiling