mirror of
https://forgejo.ellis.link/continuwuation/continuwuity.git
synced 2026-05-26 20:49:55 +00:00
Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| c91e9951a6 | |||
| de6a44d272 | |||
| c2ea303363 |
Generated
-37
@@ -1857,12 +1857,6 @@ dependencies = [
|
|||||||
"zune-inflate",
|
"zune-inflate",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "fastrand"
|
|
||||||
version = "2.3.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be"
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "fax"
|
name = "fax"
|
||||||
version = "0.2.6"
|
version = "0.2.6"
|
||||||
@@ -2163,34 +2157,6 @@ dependencies = [
|
|||||||
"tracing",
|
"tracing",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "h3"
|
|
||||||
version = "0.0.8"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "10872b55cfb02a821b69dc7cf8dc6a71d6af25eb9a79662bec4a9d016056b3be"
|
|
||||||
dependencies = [
|
|
||||||
"bytes",
|
|
||||||
"fastrand",
|
|
||||||
"futures-util",
|
|
||||||
"http",
|
|
||||||
"pin-project-lite",
|
|
||||||
"tokio",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "h3-quinn"
|
|
||||||
version = "0.0.10"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "8b2e732c8d91a74731663ac8479ab505042fbf547b9a207213ab7fbcbfc4f8b4"
|
|
||||||
dependencies = [
|
|
||||||
"bytes",
|
|
||||||
"futures",
|
|
||||||
"h3",
|
|
||||||
"quinn",
|
|
||||||
"tokio",
|
|
||||||
"tokio-util",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "half"
|
name = "half"
|
||||||
version = "2.7.1"
|
version = "2.7.1"
|
||||||
@@ -3953,7 +3919,6 @@ checksum = "b9e20a958963c291dc322d98411f541009df2ced7b5a4f2bd52337638cfccf20"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"bytes",
|
"bytes",
|
||||||
"cfg_aliases",
|
"cfg_aliases",
|
||||||
"futures-io",
|
|
||||||
"pin-project-lite",
|
"pin-project-lite",
|
||||||
"quinn-proto",
|
"quinn-proto",
|
||||||
"quinn-udp",
|
"quinn-udp",
|
||||||
@@ -4206,8 +4171,6 @@ dependencies = [
|
|||||||
"futures-core",
|
"futures-core",
|
||||||
"futures-util",
|
"futures-util",
|
||||||
"h2",
|
"h2",
|
||||||
"h3",
|
|
||||||
"h3-quinn",
|
|
||||||
"hickory-resolver",
|
"hickory-resolver",
|
||||||
"http",
|
"http",
|
||||||
"http-body",
|
"http-body",
|
||||||
|
|||||||
@@ -162,7 +162,6 @@ ENV CONDUWUIT_VERSION_EXTRA=$CONDUWUIT_VERSION_EXTRA
|
|||||||
ENV CONTINUWUITY_VERSION_EXTRA=$CONTINUWUITY_VERSION_EXTRA
|
ENV CONTINUWUITY_VERSION_EXTRA=$CONTINUWUITY_VERSION_EXTRA
|
||||||
|
|
||||||
ARG RUST_PROFILE=release
|
ARG RUST_PROFILE=release
|
||||||
ARG CARGO_FEATURES="default,http3"
|
|
||||||
|
|
||||||
# Build the binary
|
# Build the binary
|
||||||
RUN --mount=type=cache,target=/usr/local/cargo/registry \
|
RUN --mount=type=cache,target=/usr/local/cargo/registry \
|
||||||
@@ -172,20 +171,11 @@ RUN --mount=type=cache,target=/usr/local/cargo/registry \
|
|||||||
set -o allexport
|
set -o allexport
|
||||||
set -o xtrace
|
set -o xtrace
|
||||||
. /etc/environment
|
. /etc/environment
|
||||||
|
|
||||||
# Check if http3 feature is enabled and set appropriate RUSTFLAGS
|
|
||||||
if echo "${CARGO_FEATURES}" | grep -q "http3"; then
|
|
||||||
export RUSTFLAGS="${RUSTFLAGS} --cfg reqwest_unstable"
|
|
||||||
else
|
|
||||||
export RUSTFLAGS="${RUSTFLAGS}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
TARGET_DIR=($(cargo metadata --no-deps --format-version 1 | \
|
TARGET_DIR=($(cargo metadata --no-deps --format-version 1 | \
|
||||||
jq -r ".target_directory"))
|
jq -r ".target_directory"))
|
||||||
mkdir /out/sbin
|
mkdir /out/sbin
|
||||||
PACKAGE=conduwuit
|
PACKAGE=conduwuit
|
||||||
xx-cargo build --locked --profile ${RUST_PROFILE} \
|
xx-cargo build --locked --profile ${RUST_PROFILE} \
|
||||||
--no-default-features --features ${CARGO_FEATURES} \
|
|
||||||
-p $PACKAGE;
|
-p $PACKAGE;
|
||||||
BINARIES=($(cargo metadata --no-deps --format-version 1 | \
|
BINARIES=($(cargo metadata --no-deps --format-version 1 | \
|
||||||
jq -r ".packages[] | select(.name == \"$PACKAGE\") | .targets[] | select( .kind | map(. == \"bin\") | any ) | .name"))
|
jq -r ".packages[] | select(.name == \"$PACKAGE\") | .targets[] | select( .kind | map(. == \"bin\") | any ) | .name"))
|
||||||
|
|||||||
+41
-1
@@ -137,7 +137,7 @@ By default, all routes should be forwarded to Livekit with the exception of the
|
|||||||
# for lk-jwt-service
|
# for lk-jwt-service
|
||||||
@lk-jwt-service path /sfu/get* /healthz* /get_token*
|
@lk-jwt-service path /sfu/get* /healthz* /get_token*
|
||||||
route @lk-jwt-service {
|
route @lk-jwt-service {
|
||||||
reverse_proxy 127.0.0.1:8080
|
reverse_proxy 127.0.0.1:8081
|
||||||
}
|
}
|
||||||
|
|
||||||
# for livekit
|
# for livekit
|
||||||
@@ -146,6 +146,46 @@ By default, all routes should be forwarded to Livekit with the exception of the
|
|||||||
```
|
```
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary>Example nginx config</summary>
|
||||||
|
```
|
||||||
|
server {
|
||||||
|
server_name matrix-rtc.example.com;
|
||||||
|
|
||||||
|
# for lk-jwt-service
|
||||||
|
location ~ ^/(sfu/get|healthz|get_token) {
|
||||||
|
proxy_pass http://127.0.0.1:8081$request_uri;
|
||||||
|
proxy_set_header X-Forwarded-For $remote_addr;
|
||||||
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
|
proxy_set_header Host $http_host;
|
||||||
|
proxy_buffering off;
|
||||||
|
}
|
||||||
|
|
||||||
|
# for livekit
|
||||||
|
location / {
|
||||||
|
proxy_pass http://127.0.0.1:7880$request_uri;
|
||||||
|
proxy_set_header X-Forwarded-For $remote_addr;
|
||||||
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
|
proxy_set_header Host $http_host;
|
||||||
|
proxy_buffering off;
|
||||||
|
|
||||||
|
# websocket
|
||||||
|
proxy_http_version 1.1;
|
||||||
|
proxy_set_header Upgrade $http_upgrade;
|
||||||
|
proxy_set_header Connection $connection_upgrade;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
Note that for websockets to work, you need to have this somewhere outside your server block:
|
||||||
|
```
|
||||||
|
map $http_upgrade $connection_upgrade {
|
||||||
|
default upgrade;
|
||||||
|
'' close;
|
||||||
|
}
|
||||||
|
```
|
||||||
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>Example traefik router</summary>
|
<summary>Example traefik router</summary>
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -56,8 +56,6 @@ If wanting to build using standard Rust toolchains, make sure you install:
|
|||||||
|
|
||||||
You can build Continuwuity using `cargo build --release`.
|
You can build Continuwuity using `cargo build --release`.
|
||||||
|
|
||||||
Continuwuity supports various optional features that can be enabled during compilation. Please see the Cargo.toml file for a comprehensive list, or ask in our rooms.
|
|
||||||
|
|
||||||
### Building with Nix
|
### Building with Nix
|
||||||
|
|
||||||
If you prefer, you can use Nix (or [Lix](https://lix.systems)) to build Continuwuity. This provides improved reproducibility and makes it easy to set up a build environment and generate output. This approach also allows for easy cross-compilation.
|
If you prefer, you can use Nix (or [Lix](https://lix.systems)) to build Continuwuity. This provides improved reproducibility and makes it easy to set up a build environment and generate output. This approach also allows for easy cross-compilation.
|
||||||
|
|||||||
@@ -28,10 +28,6 @@ gzip_compression = [
|
|||||||
"conduwuit-service/gzip_compression",
|
"conduwuit-service/gzip_compression",
|
||||||
"reqwest/gzip",
|
"reqwest/gzip",
|
||||||
]
|
]
|
||||||
http3 = [
|
|
||||||
"conduwuit-core/http3",
|
|
||||||
"conduwuit-service/http3",
|
|
||||||
]
|
|
||||||
io_uring = [
|
io_uring = [
|
||||||
"conduwuit-service/io_uring",
|
"conduwuit-service/io_uring",
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -24,9 +24,6 @@ conduwuit_mods = [
|
|||||||
gzip_compression = [
|
gzip_compression = [
|
||||||
"reqwest/gzip",
|
"reqwest/gzip",
|
||||||
]
|
]
|
||||||
http3 = [
|
|
||||||
"reqwest/http3",
|
|
||||||
]
|
|
||||||
hardened_malloc = [
|
hardened_malloc = [
|
||||||
"dep:hardened_malloc-rs"
|
"dep:hardened_malloc-rs"
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -99,11 +99,6 @@ gzip_compression = [
|
|||||||
hardened_malloc = [
|
hardened_malloc = [
|
||||||
"conduwuit-core/hardened_malloc",
|
"conduwuit-core/hardened_malloc",
|
||||||
]
|
]
|
||||||
http3 = [
|
|
||||||
"conduwuit-api/http3",
|
|
||||||
"conduwuit-core/http3",
|
|
||||||
"conduwuit-service/http3",
|
|
||||||
]
|
|
||||||
io_uring = [
|
io_uring = [
|
||||||
"conduwuit-database/io_uring",
|
"conduwuit-database/io_uring",
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -32,9 +32,6 @@ gzip_compression = [
|
|||||||
"conduwuit-core/gzip_compression",
|
"conduwuit-core/gzip_compression",
|
||||||
"reqwest/gzip",
|
"reqwest/gzip",
|
||||||
]
|
]
|
||||||
http3 = [
|
|
||||||
"conduwuit-core/http3",
|
|
||||||
]
|
|
||||||
io_uring = [
|
io_uring = [
|
||||||
"conduwuit-database/io_uring",
|
"conduwuit-database/io_uring",
|
||||||
]
|
]
|
||||||
|
|||||||
Reference in New Issue
Block a user