mirror of
https://forgejo.ellis.link/continuwuation/continuwuity/
synced 2026-04-03 20:15:55 +00:00
Compare commits
20 Commits
nex/wip-75
...
jade/css-s
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5bae8b4f6c | ||
|
|
9b8b37f162 | ||
|
|
7a46563f23 | ||
|
|
1bf6537319 | ||
|
|
4ed04b343a | ||
|
|
a4ad72e11d | ||
|
|
1f57508879 | ||
|
|
a325dfa56a | ||
|
|
b5d2ef9a4a | ||
|
|
e200a7d991 | ||
|
|
034762c619 | ||
|
|
e31d261e66 | ||
|
|
c5db43ba9a | ||
|
|
ec08e16b9f | ||
|
|
f14725a51b | ||
|
|
d03325c65a | ||
|
|
066794fe90 | ||
|
|
beee996f72 | ||
|
|
7c58e40c96 | ||
|
|
5577ddca27 |
@@ -15,6 +15,7 @@ docker/
|
||||
.gitea
|
||||
.gitlab
|
||||
.github
|
||||
.forgejo
|
||||
|
||||
# Dot files
|
||||
.env
|
||||
|
||||
@@ -22,3 +22,7 @@ indent_size = 2
|
||||
[*.rs]
|
||||
indent_style = tab
|
||||
max_line_length = 98
|
||||
|
||||
[{.forgejo/**/*.yml,.github/**/*.yml}]
|
||||
indent_size = 2
|
||||
indent_style = space
|
||||
|
||||
53
.forgejo/actions/rust-toolchain/action.yml
Normal file
53
.forgejo/actions/rust-toolchain/action.yml
Normal file
@@ -0,0 +1,53 @@
|
||||
name: rust-toolchain
|
||||
description: |
|
||||
Install a Rust toolchain using rustup.
|
||||
See https://rust-lang.github.io/rustup/concepts/toolchains.html#toolchain-specification
|
||||
for more information about toolchains.
|
||||
inputs:
|
||||
toolchain:
|
||||
description: |
|
||||
Rust toolchain name.
|
||||
See https://rust-lang.github.io/rustup/concepts/toolchains.html#toolchain-specification
|
||||
required: false
|
||||
target:
|
||||
description: Target triple to install for this toolchain
|
||||
required: false
|
||||
components:
|
||||
description: Space-separated list of components to be additionally installed for a new toolchain
|
||||
required: false
|
||||
outputs:
|
||||
rustc_version:
|
||||
description: The rustc version installed
|
||||
value: ${{ steps.rustc-version.outputs.version }}
|
||||
|
||||
runs:
|
||||
using: composite
|
||||
steps:
|
||||
- name: Cache rustup toolchains
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: |
|
||||
~/.rustup
|
||||
!~/.rustup/tmp
|
||||
!~/.rustup/downloads
|
||||
# Requires repo to be cloned if toolchain is not specified
|
||||
key: ${{ runner.os }}-rustup-${{ inputs.toolchain || hashFiles('**/rust-toolchain.toml') }}
|
||||
- name: Install Rust toolchain
|
||||
shell: bash
|
||||
run: |
|
||||
if ! command -v rustup &> /dev/null ; then
|
||||
curl --proto '=https' --tlsv1.2 --retry 10 --retry-connrefused -fsSL "https://sh.rustup.rs" | sh -s -- --default-toolchain none -y
|
||||
echo "${CARGO_HOME:-$HOME/.cargo}/bin" >> $GITHUB_PATH
|
||||
fi
|
||||
- shell: bash
|
||||
run: |
|
||||
set -x
|
||||
${{ inputs.toolchain && format('rustup override set {0}', inputs.toolchain) }}
|
||||
${{ inputs.target && format('rustup target add {0}', inputs.target) }}
|
||||
${{ inputs.components && format('rustup component add {0}', inputs.components) }}
|
||||
cargo --version
|
||||
rustc --version
|
||||
- id: rustc-version
|
||||
shell: bash
|
||||
run: |
|
||||
echo "version=$(rustc --version)" >> $GITHUB_OUTPUT
|
||||
29
.forgejo/actions/sccache/action.yml
Normal file
29
.forgejo/actions/sccache/action.yml
Normal file
@@ -0,0 +1,29 @@
|
||||
name: sccache
|
||||
description: |
|
||||
Install sccache for caching builds in GitHub Actions.
|
||||
|
||||
inputs:
|
||||
token:
|
||||
description: 'A Github PAT'
|
||||
required: false
|
||||
|
||||
runs:
|
||||
using: composite
|
||||
steps:
|
||||
- name: Install sccache
|
||||
uses: https://github.com/mozilla-actions/sccache-action@v0.0.9
|
||||
with:
|
||||
token: ${{ inputs.token }}
|
||||
- name: Configure sccache
|
||||
uses: https://github.com/actions/github-script@v7
|
||||
with:
|
||||
script: |
|
||||
core.exportVariable('ACTIONS_RESULTS_URL', process.env.ACTIONS_RESULTS_URL || '');
|
||||
core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || '');
|
||||
- shell: bash
|
||||
run: |
|
||||
echo "SCCACHE_GHA_ENABLED=true" >> $GITHUB_ENV
|
||||
echo "RUSTC_WRAPPER=sccache" >> $GITHUB_ENV
|
||||
echo "CMAKE_C_COMPILER_LAUNCHER=sccache" >> $GITHUB_ENV
|
||||
echo "CMAKE_CXX_COMPILER_LAUNCHER=sccache" >> $GITHUB_ENV
|
||||
echo "CMAKE_CUDA_COMPILER_LAUNCHER=sccache" >> $GITHUB_ENV
|
||||
46
.forgejo/actions/timelord/action.yml
Normal file
46
.forgejo/actions/timelord/action.yml
Normal file
@@ -0,0 +1,46 @@
|
||||
name: timelord
|
||||
description: |
|
||||
Use timelord to set file timestamps
|
||||
inputs:
|
||||
key:
|
||||
description: |
|
||||
The key to use for caching the timelord data.
|
||||
This should be unique to the repository and the runner.
|
||||
required: true
|
||||
default: timelord-v0
|
||||
path:
|
||||
description: |
|
||||
The path to the directory to be timestamped.
|
||||
This should be the root of the repository.
|
||||
required: true
|
||||
default: .
|
||||
|
||||
runs:
|
||||
using: composite
|
||||
steps:
|
||||
- name: Cache timelord-cli installation
|
||||
id: cache-timelord-bin
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: ~/.cargo/bin/timelord
|
||||
key: timelord-cli-v3.0.1
|
||||
- name: Install timelord-cli
|
||||
uses: https://github.com/cargo-bins/cargo-binstall@main
|
||||
if: steps.cache-timelord-bin.outputs.cache-hit != 'true'
|
||||
- run: cargo binstall timelord-cli@3.0.1
|
||||
shell: bash
|
||||
if: steps.cache-timelord-bin.outputs.cache-hit != 'true'
|
||||
|
||||
- name: Load timelord files
|
||||
uses: actions/cache/restore@v3
|
||||
with:
|
||||
path: /timelord/
|
||||
key: ${{ inputs.key }}
|
||||
- name: Run timelord to set timestamps
|
||||
shell: bash
|
||||
run: timelord sync --source-dir ${{ inputs.path }} --cache-dir /timelord/
|
||||
- name: Save timelord
|
||||
uses: actions/cache/save@v3
|
||||
with:
|
||||
path: /timelord/
|
||||
key: ${{ inputs.key }}
|
||||
@@ -3,7 +3,6 @@ concurrency:
|
||||
group: "release-image-${{ github.ref }}"
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
push:
|
||||
paths-ignore:
|
||||
- "*.md"
|
||||
@@ -80,28 +79,14 @@ jobs:
|
||||
run: echo '${{ toJSON(fromJSON(needs.define-variables.outputs.build_matrix)) }}'
|
||||
- name: Echo matrix
|
||||
run: echo '${{ toJSON(matrix) }}'
|
||||
- run: |
|
||||
if ! command -v rustup &> /dev/null ; then
|
||||
curl --proto '=https' --tlsv1.2 --retry 10 --retry-connrefused -fsSL "https://sh.rustup.rs" | sh -s -- --default-toolchain none -y
|
||||
echo "${CARGO_HOME:-$HOME/.cargo}/bin" >> $GITHUB_PATH
|
||||
fi
|
||||
|
||||
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
persist-credentials: false
|
||||
|
||||
- name: Cache timelord-cli installation
|
||||
id: cache-timelord-bin
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: ~/.cargo/bin/timelord
|
||||
key: timelord-cli-v3.0.1
|
||||
- name: Install timelord-cli
|
||||
uses: https://github.com/cargo-bins/cargo-binstall@main
|
||||
if: steps.cache-timelord-bin.outputs.cache-hit != 'true'
|
||||
- run: cargo binstall timelord-cli@3.0.1
|
||||
if: steps.cache-timelord-bin.outputs.cache-hit != 'true'
|
||||
- name: Install rust
|
||||
id: rust-toolchain
|
||||
uses: ./.forgejo/actions/rust-toolchain
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
@@ -136,18 +121,58 @@ jobs:
|
||||
echo "COMMIT_SHORT_SHA=$calculatedSha" >> $GITHUB_ENV
|
||||
- name: Get Git commit timestamps
|
||||
run: echo "TIMESTAMP=$(git log -1 --pretty=%ct)" >> $GITHUB_ENV
|
||||
- name: Set up timelord
|
||||
uses: actions/cache/restore@v3
|
||||
|
||||
- uses: ./.forgejo/actions/timelord
|
||||
with:
|
||||
path: /timelord/
|
||||
key: timelord-v0 # Cache is already split per runner
|
||||
- name: Run timelord to set timestamps
|
||||
run: timelord sync --source-dir . --cache-dir /timelord/
|
||||
- name: Save timelord
|
||||
uses: actions/cache/save@v3
|
||||
with:
|
||||
path: /timelord/
|
||||
key: timelord-v0
|
||||
path: .
|
||||
|
||||
- name: Cache Rust registry
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: |
|
||||
.cargo/git
|
||||
.cargo/git/checkouts
|
||||
.cargo/registry
|
||||
.cargo/registry/src
|
||||
key: rust-registry-image-${{hashFiles('**/Cargo.lock') }}
|
||||
- name: Cache cargo target
|
||||
id: cache-cargo-target
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: |
|
||||
cargo-target-${{ matrix.slug }}
|
||||
key: cargo-target-${{ matrix.slug }}-${{hashFiles('**/Cargo.lock') }}-${{steps.rust-toolchain.outputs.rustc_version}}
|
||||
- name: Cache apt cache
|
||||
id: cache-apt
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: |
|
||||
var-cache-apt-${{ matrix.slug }}
|
||||
key: var-cache-apt-${{ matrix.slug }}
|
||||
- name: Cache apt lib
|
||||
id: cache-apt-lib
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: |
|
||||
var-lib-apt-${{ matrix.slug }}
|
||||
key: var-lib-apt-${{ matrix.slug }}
|
||||
- name: inject cache into docker
|
||||
uses: https://github.com/reproducible-containers/buildkit-cache-dance@v3.1.0
|
||||
with:
|
||||
cache-map: |
|
||||
{
|
||||
".cargo/registry": "/usr/local/cargo/registry",
|
||||
".cargo/git/db": "/usr/local/cargo/git/db",
|
||||
"cargo-target-${{ matrix.slug }}": {
|
||||
"target": "/app/target",
|
||||
"id": "cargo-target-${{ matrix.platform }}"
|
||||
},
|
||||
"var-cache-apt-${{ matrix.slug }}": "/var/cache/apt",
|
||||
"var-lib-apt-${{ matrix.slug }}": "/var/lib/apt"
|
||||
}
|
||||
skip-extraction: ${{ steps.cache.outputs.cache-hit }}
|
||||
|
||||
- name: Build and push Docker image by digest
|
||||
id: build
|
||||
uses: docker/build-push-action@v6
|
||||
|
||||
140
.forgejo/workflows/rust-checks.yml
Normal file
140
.forgejo/workflows/rust-checks.yml
Normal file
@@ -0,0 +1,140 @@
|
||||
name: Rust Checks
|
||||
|
||||
on:
|
||||
push:
|
||||
|
||||
jobs:
|
||||
format:
|
||||
name: Format
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
persist-credentials: false
|
||||
|
||||
- name: Install rust
|
||||
uses: ./.forgejo/actions/rust-toolchain
|
||||
with:
|
||||
toolchain: "nightly"
|
||||
components: "rustfmt"
|
||||
|
||||
- name: Check formatting
|
||||
run: |
|
||||
cargo +nightly fmt --all -- --check
|
||||
|
||||
clippy:
|
||||
name: Clippy
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
persist-credentials: false
|
||||
|
||||
- name: Install rust
|
||||
uses: ./.forgejo/actions/rust-toolchain
|
||||
|
||||
- uses: https://github.com/actions/create-github-app-token@v2
|
||||
id: app-token
|
||||
with:
|
||||
app-id: ${{ vars.GH_APP_ID }}
|
||||
private-key: ${{ secrets.GH_APP_PRIVATE_KEY }}
|
||||
github-api-url: https://api.github.com
|
||||
owner: ${{ vars.GH_APP_OWNER }}
|
||||
repositories: ""
|
||||
- name: Install sccache
|
||||
uses: ./.forgejo/actions/sccache
|
||||
with:
|
||||
token: ${{ steps.app-token.outputs.token }}
|
||||
- run: sudo apt-get update
|
||||
- name: Install system dependencies
|
||||
uses: https://github.com/awalsh128/cache-apt-pkgs-action@v1
|
||||
with:
|
||||
packages: clang liburing-dev
|
||||
version: 1
|
||||
- name: Cache Rust registry
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: |
|
||||
~/.cargo/git
|
||||
!~/.cargo/git/checkouts
|
||||
~/.cargo/registry
|
||||
!~/.cargo/registry/src
|
||||
key: rust-registry-${{hashFiles('**/Cargo.lock') }}
|
||||
- name: Timelord
|
||||
uses: ./.forgejo/actions/timelord
|
||||
with:
|
||||
key: sccache-v0
|
||||
path: .
|
||||
- name: Clippy
|
||||
run: |
|
||||
cargo clippy \
|
||||
--workspace \
|
||||
--locked \
|
||||
--no-deps \
|
||||
--profile test \
|
||||
-- \
|
||||
-D warnings
|
||||
|
||||
- name: Show sccache stats
|
||||
run: sccache --show-stats
|
||||
|
||||
cargo-test:
|
||||
name: Cargo Test
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
persist-credentials: false
|
||||
|
||||
- name: Install rust
|
||||
uses: ./.forgejo/actions/rust-toolchain
|
||||
|
||||
- uses: https://github.com/actions/create-github-app-token@v2
|
||||
id: app-token
|
||||
with:
|
||||
app-id: ${{ vars.GH_APP_ID }}
|
||||
private-key: ${{ secrets.GH_APP_PRIVATE_KEY }}
|
||||
github-api-url: https://api.github.com
|
||||
owner: ${{ vars.GH_APP_OWNER }}
|
||||
repositories: ""
|
||||
- name: Install sccache
|
||||
uses: ./.forgejo/actions/sccache
|
||||
with:
|
||||
token: ${{ steps.app-token.outputs.token }}
|
||||
- run: sudo apt-get update
|
||||
- name: Install system dependencies
|
||||
uses: https://github.com/awalsh128/cache-apt-pkgs-action@v1
|
||||
with:
|
||||
packages: clang liburing-dev
|
||||
version: 1
|
||||
- name: Cache Rust registry
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: |
|
||||
~/.cargo/git
|
||||
!~/.cargo/git/checkouts
|
||||
~/.cargo/registry
|
||||
!~/.cargo/registry/src
|
||||
key: rust-registry-${{hashFiles('**/Cargo.lock') }}
|
||||
- name: Timelord
|
||||
uses: ./.forgejo/actions/timelord
|
||||
with:
|
||||
key: sccache-v0
|
||||
path: .
|
||||
- name: Cargo Test
|
||||
run: |
|
||||
cargo test \
|
||||
--workspace \
|
||||
--locked \
|
||||
--profile test \
|
||||
--all-targets \
|
||||
--no-fail-fast
|
||||
|
||||
- name: Show sccache stats
|
||||
run: sccache --show-stats
|
||||
@@ -1,5 +1,9 @@
|
||||
[files]
|
||||
extend-exclude = ["*.csr"]
|
||||
|
||||
[default.extend-words]
|
||||
"allocatedp" = "allocatedp"
|
||||
"conduwuit" = "conduwuit"
|
||||
"continuwuity" = "continuwuity"
|
||||
"continuwity" = "continuwuity"
|
||||
"execuse" = "execuse"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Contributing guide
|
||||
|
||||
This page is for about contributing to conduwuit. The
|
||||
This page is for about contributing to Continuwuity. The
|
||||
[development](./development.md) page may be of interest for you as well.
|
||||
|
||||
If you would like to work on an [issue][issues] that is not assigned, preferably
|
||||
@@ -73,7 +73,7 @@ ### Matrix tests
|
||||
|
||||
### Writing documentation
|
||||
|
||||
conduwuit's website uses [`mdbook`][mdbook] and deployed via CI using GitHub
|
||||
Continuwuity's website uses [`mdbook`][mdbook] and deployed via CI using GitHub
|
||||
Pages in the [`documentation.yml`][documentation.yml] workflow file with Nix's
|
||||
mdbook in the devshell. All documentation is in the `docs/` directory at the top
|
||||
level. The compiled mdbook website is also uploaded as an artifact.
|
||||
|
||||
@@ -298,7 +298,7 @@ version = "1.15.0"
|
||||
default-features = false
|
||||
features = ["serde"]
|
||||
|
||||
# Used for reading the configuration from conduwuit.toml & environment variables
|
||||
# Used for reading the configuration from continuwuity.toml & environment variables
|
||||
[workspace.dependencies.figment]
|
||||
version = "0.10.19"
|
||||
default-features = false
|
||||
@@ -745,7 +745,6 @@ incremental = true
|
||||
|
||||
[profile.dev.package.conduwuit_core]
|
||||
inherits = "dev"
|
||||
incremental = false
|
||||
#rustflags = [
|
||||
# '--cfg', 'conduwuit_mods',
|
||||
# '-Ztime-passes',
|
||||
@@ -785,7 +784,6 @@ inherits = "dev"
|
||||
[profile.dev.package.'*']
|
||||
inherits = "dev"
|
||||
debug = 'limited'
|
||||
incremental = false
|
||||
codegen-units = 1
|
||||
opt-level = 'z'
|
||||
#rustflags = [
|
||||
@@ -807,7 +805,6 @@ inherits = "dev"
|
||||
strip = false
|
||||
opt-level = 0
|
||||
codegen-units = 16
|
||||
incremental = false
|
||||
|
||||
[profile.test.package.'*']
|
||||
inherits = "dev"
|
||||
@@ -815,7 +812,6 @@ debug = 0
|
||||
strip = false
|
||||
opt-level = 0
|
||||
codegen-units = 16
|
||||
incremental = false
|
||||
|
||||
###############################################################################
|
||||
#
|
||||
@@ -992,3 +988,6 @@ let_underscore_future = { level = "allow", priority = 1 }
|
||||
|
||||
# rust doesnt understand conduwuit's custom log macros
|
||||
literal_string_with_formatting_args = { level = "allow", priority = 1 }
|
||||
|
||||
|
||||
needless_raw_string_hashes = "allow"
|
||||
|
||||
@@ -7,10 +7,15 @@ ## A community-driven [Matrix](https://matrix.org/) homeserver in Rust
|
||||
<!-- ANCHOR_END: catchphrase -->
|
||||
|
||||
[continuwuity] is a Matrix homeserver written in Rust.
|
||||
It's a community continuation of the [conduwuit](https://github.com/girlbossceo/conduwuit) homeserver.
|
||||
It's a community continuation of the [conduwuit](https://github.com/girlbossceo/conduwuit) homeserver.
|
||||
|
||||
<!-- ANCHOR: body -->
|
||||
|
||||
[](https://forgejo.ellis.link/continuwuation/continuwuity)  [](https://forgejo.ellis.link/continuwuation/continuwuity/issues?state=open) [](https://forgejo.ellis.link/continuwuation/continuwuity/pulls?state=open)
|
||||
|
||||
[](https://github.com/continuwuity/continuwuity) 
|
||||
|
||||
[](https://codeberg.org/nexy7574/continuwuity) 
|
||||
|
||||
### Why does this exist?
|
||||
|
||||
@@ -112,4 +117,3 @@ #### Contact
|
||||
|
||||
|
||||
[continuwuity]: https://forgejo.ellis.link/continuwuation/continuwuity
|
||||
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
[Unit]
|
||||
Description=conduwuit Matrix homeserver
|
||||
|
||||
Description=Continuwuity - Matrix homeserver
|
||||
Wants=network-online.target
|
||||
After=network-online.target
|
||||
Documentation=https://conduwuit.puppyirl.gay/
|
||||
Documentation=https://continuwuity.org/
|
||||
RequiresMountsFor=/var/lib/private/conduwuit
|
||||
Alias=matrix-conduwuit.service
|
||||
|
||||
[Service]
|
||||
DynamicUser=yes
|
||||
Type=notify-reload
|
||||
@@ -59,7 +59,7 @@ StateDirectory=conduwuit
|
||||
RuntimeDirectory=conduwuit
|
||||
RuntimeDirectoryMode=0750
|
||||
|
||||
Environment="CONDUWUIT_CONFIG=/etc/conduwuit/conduwuit.toml"
|
||||
Environment="CONTINUWUITY_CONFIG=/etc/conduwuit/conduwuit.toml"
|
||||
BindPaths=/var/lib/private/conduwuit:/var/lib/matrix-conduit
|
||||
BindPaths=/var/lib/private/conduwuit:/var/lib/private/matrix-conduit
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
### conduwuit Configuration
|
||||
### continuwuity Configuration
|
||||
###
|
||||
### THIS FILE IS GENERATED. CHANGES/CONTRIBUTIONS IN THE REPO WILL BE
|
||||
### OVERWRITTEN!
|
||||
@@ -13,7 +13,7 @@
|
||||
### that say "YOU NEED TO EDIT THIS".
|
||||
###
|
||||
### For more information, see:
|
||||
### https://conduwuit.puppyirl.gay/configuration.html
|
||||
### https://continuwuity.org/configuration.html
|
||||
|
||||
[global]
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
# suffix for user and room IDs/aliases.
|
||||
#
|
||||
# See the docs for reverse proxying and delegation:
|
||||
# https://conduwuit.puppyirl.gay/deploying/generic.html#setting-up-the-reverse-proxy
|
||||
# https://continuwuity.org/deploying/generic.html#setting-up-the-reverse-proxy
|
||||
#
|
||||
# Also see the `[global.well_known]` config section at the very bottom.
|
||||
#
|
||||
@@ -32,11 +32,11 @@
|
||||
# YOU NEED TO EDIT THIS. THIS CANNOT BE CHANGED AFTER WITHOUT A DATABASE
|
||||
# WIPE.
|
||||
#
|
||||
# example: "conduwuit.woof"
|
||||
# example: "continuwuity.org"
|
||||
#
|
||||
#server_name =
|
||||
|
||||
# The default address (IPv4 or IPv6) conduwuit will listen on.
|
||||
# The default address (IPv4 or IPv6) continuwuity will listen on.
|
||||
#
|
||||
# If you are using Docker or a container NAT networking setup, this must
|
||||
# be "0.0.0.0".
|
||||
@@ -46,10 +46,10 @@
|
||||
#
|
||||
#address = ["127.0.0.1", "::1"]
|
||||
|
||||
# The port(s) conduwuit will listen on.
|
||||
# The port(s) continuwuity will listen on.
|
||||
#
|
||||
# For reverse proxying, see:
|
||||
# https://conduwuit.puppyirl.gay/deploying/generic.html#setting-up-the-reverse-proxy
|
||||
# https://continuwuity.org/deploying/generic.html#setting-up-the-reverse-proxy
|
||||
#
|
||||
# If you are using Docker, don't change this, you'll need to map an
|
||||
# external port to this.
|
||||
@@ -58,16 +58,17 @@
|
||||
#
|
||||
#port = 8008
|
||||
|
||||
# The UNIX socket conduwuit will listen on.
|
||||
# The UNIX socket continuwuity will listen on.
|
||||
#
|
||||
# conduwuit cannot listen on both an IP address and a UNIX socket. If
|
||||
# continuwuity cannot listen on both an IP address and a UNIX socket. If
|
||||
# listening on a UNIX socket, you MUST remove/comment the `address` key.
|
||||
#
|
||||
# Remember to make sure that your reverse proxy has access to this socket
|
||||
# file, either by adding your reverse proxy to the 'conduwuit' group or
|
||||
# granting world R/W permissions with `unix_socket_perms` (666 minimum).
|
||||
# file, either by adding your reverse proxy to the appropriate user group
|
||||
# or granting world R/W permissions with `unix_socket_perms` (666
|
||||
# minimum).
|
||||
#
|
||||
# example: "/run/conduwuit/conduwuit.sock"
|
||||
# example: "/run/continuwuity/continuwuity.sock"
|
||||
#
|
||||
#unix_socket_path =
|
||||
|
||||
@@ -75,23 +76,23 @@
|
||||
#
|
||||
#unix_socket_perms = 660
|
||||
|
||||
# This is the only directory where conduwuit will save its data, including
|
||||
# media. Note: this was previously "/var/lib/matrix-conduit".
|
||||
# This is the only directory where continuwuity will save its data,
|
||||
# including media. Note: this was previously "/var/lib/matrix-conduit".
|
||||
#
|
||||
# YOU NEED TO EDIT THIS.
|
||||
#
|
||||
# example: "/var/lib/conduwuit"
|
||||
# example: "/var/lib/continuwuity"
|
||||
#
|
||||
#database_path =
|
||||
|
||||
# conduwuit supports online database backups using RocksDB's Backup engine
|
||||
# API. To use this, set a database backup path that conduwuit can write
|
||||
# to.
|
||||
# continuwuity supports online database backups using RocksDB's Backup
|
||||
# engine API. To use this, set a database backup path that continuwuity
|
||||
# can write to.
|
||||
#
|
||||
# For more information, see:
|
||||
# https://conduwuit.puppyirl.gay/maintenance.html#backups
|
||||
# https://continuwuity.org/maintenance.html#backups
|
||||
#
|
||||
# example: "/opt/conduwuit-db-backups"
|
||||
# example: "/opt/continuwuity-db-backups"
|
||||
#
|
||||
#database_backup_path =
|
||||
|
||||
@@ -112,14 +113,14 @@
|
||||
#
|
||||
#new_user_displayname_suffix = "🏳️⚧️"
|
||||
|
||||
# If enabled, conduwuit will send a simple GET request periodically to
|
||||
# If enabled, continuwuity will send a simple GET request periodically to
|
||||
# `https://continuwuity.org/.well-known/continuwuity/announcements` for any new
|
||||
# announcements or major updates. This is not an update check endpoint.
|
||||
#
|
||||
#allow_announcements_check = true
|
||||
|
||||
# Set this to any float value to multiply conduwuit's in-memory LRU caches
|
||||
# with such as "auth_chain_cache_capacity".
|
||||
# Set this to any float value to multiply continuwuity's in-memory LRU
|
||||
# caches with such as "auth_chain_cache_capacity".
|
||||
#
|
||||
# May be useful if you have significant memory to spare to increase
|
||||
# performance.
|
||||
@@ -131,7 +132,7 @@
|
||||
#
|
||||
#cache_capacity_modifier = 1.0
|
||||
|
||||
# Set this to any float value in megabytes for conduwuit to tell the
|
||||
# Set this to any float value in megabytes for continuwuity to tell the
|
||||
# database engine that this much memory is available for database read
|
||||
# caches.
|
||||
#
|
||||
@@ -145,7 +146,7 @@
|
||||
#
|
||||
#db_cache_capacity_mb = varies by system
|
||||
|
||||
# Set this to any float value in megabytes for conduwuit to tell the
|
||||
# Set this to any float value in megabytes for continuwuity to tell the
|
||||
# database engine that this much memory is available for database write
|
||||
# caches.
|
||||
#
|
||||
@@ -250,9 +251,9 @@
|
||||
# Enable using *only* TCP for querying your specified nameservers instead
|
||||
# of UDP.
|
||||
#
|
||||
# If you are running conduwuit in a container environment, this config
|
||||
# If you are running continuwuity in a container environment, this config
|
||||
# option may need to be enabled. For more details, see:
|
||||
# https://conduwuit.puppyirl.gay/troubleshooting.html#potential-dns-issues-when-using-docker
|
||||
# https://continuwuity.org/troubleshooting.html#potential-dns-issues-when-using-docker
|
||||
#
|
||||
#query_over_tcp_only = false
|
||||
|
||||
@@ -418,9 +419,9 @@
|
||||
# tokens. Multiple tokens can be added if you separate them with
|
||||
# whitespace
|
||||
#
|
||||
# conduwuit must be able to access the file, and it must not be empty
|
||||
# continuwuity must be able to access the file, and it must not be empty
|
||||
#
|
||||
# example: "/etc/conduwuit/.reg_token"
|
||||
# example: "/etc/continuwuity/.reg_token"
|
||||
#
|
||||
#registration_token_file =
|
||||
|
||||
@@ -512,16 +513,16 @@
|
||||
#allow_room_creation = true
|
||||
|
||||
# Set to false to disable users from joining or creating room versions
|
||||
# that aren't officially supported by conduwuit.
|
||||
# that aren't officially supported by continuwuity.
|
||||
#
|
||||
# conduwuit officially supports room versions 6 - 11.
|
||||
# continuwuity officially supports room versions 6 - 11.
|
||||
#
|
||||
# conduwuit has slightly experimental (though works fine in practice)
|
||||
# continuwuity has slightly experimental (though works fine in practice)
|
||||
# support for versions 3 - 5.
|
||||
#
|
||||
#allow_unstable_room_versions = true
|
||||
|
||||
# Default room version conduwuit will create rooms with.
|
||||
# Default room version continuwuity will create rooms with.
|
||||
#
|
||||
# Per spec, room version 11 is the default.
|
||||
#
|
||||
@@ -587,7 +588,7 @@
|
||||
# Servers listed here will be used to gather public keys of other servers
|
||||
# (notary trusted key servers).
|
||||
#
|
||||
# Currently, conduwuit doesn't support inbound batched key requests, so
|
||||
# Currently, continuwuity doesn't support inbound batched key requests, so
|
||||
# this list should only contain other Synapse servers.
|
||||
#
|
||||
# example: ["matrix.org", "tchncs.de"]
|
||||
@@ -628,7 +629,7 @@
|
||||
#
|
||||
#trusted_server_batch_size = 1024
|
||||
|
||||
# Max log level for conduwuit. Allows debug, info, warn, or error.
|
||||
# Max log level for continuwuity. Allows debug, info, warn, or error.
|
||||
#
|
||||
# See also:
|
||||
# https://docs.rs/tracing-subscriber/latest/tracing_subscriber/filter/struct.EnvFilter.html#directives
|
||||
@@ -649,8 +650,9 @@
|
||||
#
|
||||
#log_span_events = "none"
|
||||
|
||||
# Configures whether CONDUWUIT_LOG EnvFilter matches values using regular
|
||||
# expressions. See the tracing_subscriber documentation on Directives.
|
||||
# Configures whether CONTINUWUITY_LOG EnvFilter matches values using
|
||||
# regular expressions. See the tracing_subscriber documentation on
|
||||
# Directives.
|
||||
#
|
||||
#log_filter_regex = true
|
||||
|
||||
@@ -718,7 +720,7 @@
|
||||
# This takes priority over "turn_secret" first, and falls back to
|
||||
# "turn_secret" if invalid or failed to open.
|
||||
#
|
||||
# example: "/etc/conduwuit/.turn_secret"
|
||||
# example: "/etc/continuwuity/.turn_secret"
|
||||
#
|
||||
#turn_secret_file =
|
||||
|
||||
@@ -726,12 +728,12 @@
|
||||
#
|
||||
#turn_ttl = 86400
|
||||
|
||||
# List/vector of room IDs or room aliases that conduwuit will make newly
|
||||
# registered users join. The rooms specified must be rooms that you have
|
||||
# joined at least once on the server, and must be public.
|
||||
# List/vector of room IDs or room aliases that continuwuity will make
|
||||
# newly registered users join. The rooms specified must be rooms that you
|
||||
# have joined at least once on the server, and must be public.
|
||||
#
|
||||
# example: ["#conduwuit:puppygock.gay",
|
||||
# "!eoIzvAvVwY23LPDay8:puppygock.gay"]
|
||||
# example: ["#continuwuity:continuwuity.org",
|
||||
# "!main-1:continuwuity.org"]
|
||||
#
|
||||
#auto_join_rooms = []
|
||||
|
||||
@@ -754,10 +756,10 @@
|
||||
#
|
||||
#auto_deactivate_banned_room_attempts = false
|
||||
|
||||
# RocksDB log level. This is not the same as conduwuit's log level. This
|
||||
# is the log level for the RocksDB engine/library which show up in your
|
||||
# database folder/path as `LOG` files. conduwuit will log RocksDB errors
|
||||
# as normal through tracing or panics if severe for safety.
|
||||
# RocksDB log level. This is not the same as continuwuity's log level.
|
||||
# This is the log level for the RocksDB engine/library which show up in
|
||||
# your database folder/path as `LOG` files. continuwuity will log RocksDB
|
||||
# errors as normal through tracing or panics if severe for safety.
|
||||
#
|
||||
#rocksdb_log_level = "error"
|
||||
|
||||
@@ -777,7 +779,7 @@
|
||||
# Set this to true to use RocksDB config options that are tailored to HDDs
|
||||
# (slower device storage).
|
||||
#
|
||||
# It is worth noting that by default, conduwuit will use RocksDB with
|
||||
# It is worth noting that by default, continuwuity will use RocksDB with
|
||||
# Direct IO enabled. *Generally* speaking this improves performance as it
|
||||
# bypasses buffered I/O (system page cache). However there is a potential
|
||||
# chance that Direct IO may cause issues with database operations if your
|
||||
@@ -785,7 +787,7 @@
|
||||
# possibly ZFS filesystem. RocksDB generally deals/corrects these issues
|
||||
# but it cannot account for all setups. If you experience any weird
|
||||
# RocksDB issues, try enabling this option as it turns off Direct IO and
|
||||
# feel free to report in the conduwuit Matrix room if this option fixes
|
||||
# feel free to report in the continuwuity Matrix room if this option fixes
|
||||
# your DB issues.
|
||||
#
|
||||
# For more information, see:
|
||||
@@ -840,7 +842,7 @@
|
||||
# as they all differ. See their `kDefaultCompressionLevel`.
|
||||
#
|
||||
# Note when using the default value we may override it with a setting
|
||||
# tailored specifically conduwuit.
|
||||
# tailored specifically for continuwuity.
|
||||
#
|
||||
#rocksdb_compression_level = 32767
|
||||
|
||||
@@ -856,7 +858,7 @@
|
||||
# algorithm.
|
||||
#
|
||||
# Note when using the default value we may override it with a setting
|
||||
# tailored specifically conduwuit.
|
||||
# tailored specifically for continuwuity.
|
||||
#
|
||||
#rocksdb_bottommost_compression_level = 32767
|
||||
|
||||
@@ -896,13 +898,13 @@
|
||||
# 0 = AbsoluteConsistency
|
||||
# 1 = TolerateCorruptedTailRecords (default)
|
||||
# 2 = PointInTime (use me if trying to recover)
|
||||
# 3 = SkipAnyCorruptedRecord (you now voided your Conduwuit warranty)
|
||||
# 3 = SkipAnyCorruptedRecord (you now voided your Continuwuity warranty)
|
||||
#
|
||||
# For more information on these modes, see:
|
||||
# https://github.com/facebook/rocksdb/wiki/WAL-Recovery-Modes
|
||||
#
|
||||
# For more details on recovering a corrupt database, see:
|
||||
# https://conduwuit.puppyirl.gay/troubleshooting.html#database-corruption
|
||||
# https://continuwuity.org/troubleshooting.html#database-corruption
|
||||
#
|
||||
#rocksdb_recovery_mode = 1
|
||||
|
||||
@@ -942,7 +944,7 @@
|
||||
# - Disabling repair mode and restarting the server is recommended after
|
||||
# running the repair.
|
||||
#
|
||||
# See https://conduwuit.puppyirl.gay/troubleshooting.html#database-corruption for more details on recovering a corrupt database.
|
||||
# See https://continuwuity.org/troubleshooting.html#database-corruption for more details on recovering a corrupt database.
|
||||
#
|
||||
#rocksdb_repair = false
|
||||
|
||||
@@ -969,7 +971,7 @@
|
||||
# Enables RocksDB compaction. You should never ever have to set this
|
||||
# option to false. If you for some reason find yourself needing to use
|
||||
# this option as part of troubleshooting or a bug, please reach out to us
|
||||
# in the conduwuit Matrix room with information and details.
|
||||
# in the continuwuity Matrix room with information and details.
|
||||
#
|
||||
# Disabling compaction will lead to a significantly bloated and
|
||||
# explosively large database, gradually poor performance, unnecessarily
|
||||
@@ -995,7 +997,7 @@
|
||||
# purposes such as recovering/recreating your admin room, or inviting
|
||||
# yourself back.
|
||||
#
|
||||
# See https://conduwuit.puppyirl.gay/troubleshooting.html#lost-access-to-admin-room for other ways to get back into your admin room.
|
||||
# See https://continuwuity.org/troubleshooting.html#lost-access-to-admin-room for other ways to get back into your admin room.
|
||||
#
|
||||
# Once this password is unset, all sessions will be logged out for
|
||||
# security purposes.
|
||||
@@ -1010,8 +1012,8 @@
|
||||
|
||||
# Allow local (your server only) presence updates/requests.
|
||||
#
|
||||
# Note that presence on conduwuit is very fast unlike Synapse's. If using
|
||||
# outgoing presence, this MUST be enabled.
|
||||
# Note that presence on continuwuity is very fast unlike Synapse's. If
|
||||
# using outgoing presence, this MUST be enabled.
|
||||
#
|
||||
#allow_local_presence = true
|
||||
|
||||
@@ -1019,7 +1021,7 @@
|
||||
#
|
||||
# This option receives presence updates from other servers, but does not
|
||||
# send any unless `allow_outgoing_presence` is true. Note that presence on
|
||||
# conduwuit is very fast unlike Synapse's.
|
||||
# continuwuity is very fast unlike Synapse's.
|
||||
#
|
||||
#allow_incoming_presence = true
|
||||
|
||||
@@ -1027,8 +1029,8 @@
|
||||
#
|
||||
# This option sends presence updates to other servers, but does not
|
||||
# receive any unless `allow_incoming_presence` is true. Note that presence
|
||||
# on conduwuit is very fast unlike Synapse's. If using outgoing presence,
|
||||
# you MUST enable `allow_local_presence` as well.
|
||||
# on continuwuity is very fast unlike Synapse's. If using outgoing
|
||||
# presence, you MUST enable `allow_local_presence` as well.
|
||||
#
|
||||
#allow_outgoing_presence = true
|
||||
|
||||
@@ -1081,8 +1083,8 @@
|
||||
#
|
||||
#typing_client_timeout_max_s = 45
|
||||
|
||||
# Set this to true for conduwuit to compress HTTP response bodies using
|
||||
# zstd. This option does nothing if conduwuit was not built with
|
||||
# Set this to true for continuwuity to compress HTTP response bodies using
|
||||
# zstd. This option does nothing if continuwuity was not built with
|
||||
# `zstd_compression` feature. Please be aware that enabling HTTP
|
||||
# compression may weaken TLS. Most users should not need to enable this.
|
||||
# See https://breachattack.com/ and https://wikipedia.org/wiki/BREACH
|
||||
@@ -1090,8 +1092,8 @@
|
||||
#
|
||||
#zstd_compression = false
|
||||
|
||||
# Set this to true for conduwuit to compress HTTP response bodies using
|
||||
# gzip. This option does nothing if conduwuit was not built with
|
||||
# Set this to true for continuwuity to compress HTTP response bodies using
|
||||
# gzip. This option does nothing if continuwuity was not built with
|
||||
# `gzip_compression` feature. Please be aware that enabling HTTP
|
||||
# compression may weaken TLS. Most users should not need to enable this.
|
||||
# See https://breachattack.com/ and https://wikipedia.org/wiki/BREACH before
|
||||
@@ -1102,8 +1104,8 @@
|
||||
#
|
||||
#gzip_compression = false
|
||||
|
||||
# Set this to true for conduwuit to compress HTTP response bodies using
|
||||
# brotli. This option does nothing if conduwuit was not built with
|
||||
# Set this to true for continuwuity to compress HTTP response bodies using
|
||||
# brotli. This option does nothing if continuwuity was not built with
|
||||
# `brotli_compression` feature. Please be aware that enabling HTTP
|
||||
# compression may weaken TLS. Most users should not need to enable this.
|
||||
# See https://breachattack.com/ and https://wikipedia.org/wiki/BREACH
|
||||
@@ -1165,7 +1167,7 @@
|
||||
# Otherwise setting this to false reduces filesystem clutter and overhead
|
||||
# for managing these symlinks in the directory. This is now disabled by
|
||||
# default. You may still return to upstream Conduit but you have to run
|
||||
# conduwuit at least once with this set to true and allow the
|
||||
# continuwuity at least once with this set to true and allow the
|
||||
# media_startup_check to take place before shutting down to return to
|
||||
# Conduit.
|
||||
#
|
||||
@@ -1210,8 +1212,8 @@
|
||||
#
|
||||
#allowed_remote_server_names = []
|
||||
|
||||
# Vector list of regex patterns of server names that conduwuit will refuse
|
||||
# to download remote media from.
|
||||
# Vector list of regex patterns of server names that continuwuity will
|
||||
# refuse to download remote media from.
|
||||
#
|
||||
# example: ["badserver\.tld$", "badphrase", "19dollarfortnitecards"]
|
||||
#
|
||||
@@ -1225,7 +1227,7 @@
|
||||
#
|
||||
#forbidden_remote_room_directory_server_names = []
|
||||
|
||||
# Vector list of regex patterns of server names that conduwuit will not
|
||||
# Vector list of regex patterns of server names that continuwuity will not
|
||||
# send messages to the client from.
|
||||
#
|
||||
# Note that there is no way for clients to receive messages once a server
|
||||
@@ -1249,7 +1251,7 @@
|
||||
#send_messages_from_ignored_users_to_client = false
|
||||
|
||||
# Vector list of IPv4 and IPv6 CIDR ranges / subnets *in quotes* that you
|
||||
# do not want conduwuit to send outbound requests to. Defaults to
|
||||
# do not want continuwuity to send outbound requests to. Defaults to
|
||||
# RFC1918, unroutable, loopback, multicast, and testnet addresses for
|
||||
# security.
|
||||
#
|
||||
@@ -1399,26 +1401,26 @@
|
||||
|
||||
# Allow admins to enter commands in rooms other than "#admins" (admin
|
||||
# room) by prefixing your message with "\!admin" or "\\!admin" followed up
|
||||
# a normal conduwuit admin command. The reply will be publicly visible to
|
||||
# the room, originating from the sender.
|
||||
# a normal continuwuity admin command. The reply will be publicly visible
|
||||
# to the room, originating from the sender.
|
||||
#
|
||||
# example: \\!admin debug ping puppygock.gay
|
||||
#
|
||||
#admin_escape_commands = true
|
||||
|
||||
# Automatically activate the conduwuit admin room console / CLI on
|
||||
# startup. This option can also be enabled with `--console` conduwuit
|
||||
# Automatically activate the continuwuity admin room console / CLI on
|
||||
# startup. This option can also be enabled with `--console` continuwuity
|
||||
# argument.
|
||||
#
|
||||
#admin_console_automatic = false
|
||||
|
||||
# List of admin commands to execute on startup.
|
||||
#
|
||||
# This option can also be configured with the `--execute` conduwuit
|
||||
# This option can also be configured with the `--execute` continuwuity
|
||||
# argument and can take standard shell commands and environment variables
|
||||
#
|
||||
# For example: `./conduwuit --execute "server admin-notice conduwuit has
|
||||
# started up at $(date)"`
|
||||
# For example: `./continuwuity --execute "server admin-notice continuwuity
|
||||
# has started up at $(date)"`
|
||||
#
|
||||
# example: admin_execute = ["debug ping puppygock.gay", "debug echo hi"]`
|
||||
#
|
||||
@@ -1426,7 +1428,7 @@
|
||||
|
||||
# Ignore errors in startup commands.
|
||||
#
|
||||
# If false, conduwuit will error and fail to start if an admin execute
|
||||
# If false, continuwuity will error and fail to start if an admin execute
|
||||
# command (`--execute` / `admin_execute`) fails.
|
||||
#
|
||||
#admin_execute_errors_ignore = false
|
||||
@@ -1447,15 +1449,14 @@
|
||||
# The default room tag to apply on the admin room.
|
||||
#
|
||||
# On some clients like Element, the room tag "m.server_notice" is a
|
||||
# special pinned room at the very bottom of your room list. The conduwuit
|
||||
# admin room can be pinned here so you always have an easy-to-access
|
||||
# shortcut dedicated to your admin room.
|
||||
# special pinned room at the very bottom of your room list. The
|
||||
# continuwuity admin room can be pinned here so you always have an
|
||||
# easy-to-access shortcut dedicated to your admin room.
|
||||
#
|
||||
#admin_room_tag = "m.server_notice"
|
||||
|
||||
# Sentry.io crash/panic reporting, performance monitoring/metrics, etc.
|
||||
# This is NOT enabled by default. conduwuit's default Sentry reporting
|
||||
# endpoint domain is `o4506996327251968.ingest.us.sentry.io`.
|
||||
# This is NOT enabled by default.
|
||||
#
|
||||
#sentry = false
|
||||
|
||||
@@ -1463,7 +1464,7 @@
|
||||
#
|
||||
#sentry_endpoint = ""
|
||||
|
||||
# Report your conduwuit server_name in Sentry.io crash reports and
|
||||
# Report your continuwuity server_name in Sentry.io crash reports and
|
||||
# metrics.
|
||||
#
|
||||
#sentry_send_server_name = false
|
||||
@@ -1500,7 +1501,7 @@
|
||||
# Enable the tokio-console. This option is only relevant to developers.
|
||||
#
|
||||
# For more information, see:
|
||||
# https://conduwuit.puppyirl.gay/development.html#debugging-with-tokio-console
|
||||
# https://continuwuity.org/development.html#debugging-with-tokio-console
|
||||
#
|
||||
#tokio_console = false
|
||||
|
||||
|
||||
4
debian/README.md
vendored
4
debian/README.md
vendored
@@ -1,4 +1,4 @@
|
||||
# conduwuit for Debian
|
||||
# Continuwuity for Debian
|
||||
|
||||
Information about downloading and deploying the Debian package. This may also be
|
||||
referenced for other `apt`-based distros such as Ubuntu.
|
||||
@@ -22,7 +22,7 @@ ### Configuration
|
||||
|
||||
### Running
|
||||
|
||||
The package uses the [`conduwuit.service`](../configuration/examples.md#example-systemd-unit-file) systemd unit file to start and stop conduwuit. The binary is installed at `/usr/sbin/conduwuit`.
|
||||
The package uses the [`conduwuit.service`](../configuration/examples.md#example-systemd-unit-file) systemd unit file to start and stop Continuwuity. The binary is installed at `/usr/sbin/conduwuit`.
|
||||
|
||||
This package assumes by default that conduwuit will be placed behind a reverse proxy. The default config options apply (listening on `localhost` and TCP port `6167`). Matrix federation requires a valid domain name and TLS, so you will need to set up TLS certificates and renewal for it to work properly if you intend to federate.
|
||||
|
||||
|
||||
7
debian/conduwuit.service
vendored
7
debian/conduwuit.service
vendored
@@ -1,9 +1,10 @@
|
||||
[Unit]
|
||||
Description=conduwuit Matrix homeserver
|
||||
|
||||
Description=Continuwuity - Matrix homeserver
|
||||
Wants=network-online.target
|
||||
After=network-online.target
|
||||
Alias=matrix-conduwuit.service
|
||||
Documentation=https://continuwuity.org/
|
||||
Alias=matrix-conduwuit.service
|
||||
|
||||
[Service]
|
||||
DynamicUser=yes
|
||||
@@ -11,7 +12,7 @@ User=conduwuit
|
||||
Group=conduwuit
|
||||
Type=notify
|
||||
|
||||
Environment="CONDUWUIT_CONFIG=/etc/conduwuit/conduwuit.toml"
|
||||
Environment="CONTINUWUITY_CONFIG=/etc/conduwuit/conduwuit.toml"
|
||||
|
||||
ExecStart=/usr/sbin/conduwuit
|
||||
|
||||
|
||||
@@ -18,13 +18,14 @@ ARG LLVM_VERSION=19
|
||||
# Line three: for xx-verify
|
||||
RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
|
||||
--mount=type=cache,target=/var/lib/apt,sharing=locked \
|
||||
apt-get update && apt-get install -y \
|
||||
apt-get update && apt-get install -y \
|
||||
clang-${LLVM_VERSION} lld-${LLVM_VERSION} pkg-config make jq \
|
||||
curl git \
|
||||
file
|
||||
|
||||
# Create symlinks for LLVM tools
|
||||
RUN <<EOF
|
||||
set -o xtrace
|
||||
# clang
|
||||
ln -s /usr/bin/clang-${LLVM_VERSION} /usr/bin/clang
|
||||
ln -s "/usr/bin/clang++-${LLVM_VERSION}" "/usr/bin/clang++"
|
||||
@@ -46,6 +47,7 @@ ENV LDDTREE_VERSION=0.3.7
|
||||
|
||||
# Install unpackaged tools
|
||||
RUN <<EOF
|
||||
set -o xtrace
|
||||
curl --retry 5 -L --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/cargo-bins/cargo-binstall/main/install-from-binstall-release.sh | bash
|
||||
cargo binstall --no-confirm cargo-sbom --version $CARGO_SBOM_VERSION
|
||||
cargo binstall --no-confirm lddtree --version $LDDTREE_VERSION
|
||||
@@ -59,7 +61,7 @@ ARG TARGETPLATFORM
|
||||
# xx-* are xx-specific meta-packages
|
||||
RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
|
||||
--mount=type=cache,target=/var/lib/apt,sharing=locked \
|
||||
xx-apt-get install -y \
|
||||
xx-apt-get install -y \
|
||||
xx-c-essentials xx-cxx-essentials pkg-config \
|
||||
liburing-dev
|
||||
|
||||
@@ -75,6 +77,7 @@ RUN echo "CARGO_INCREMENTAL=0" >> /etc/environment
|
||||
|
||||
# Configure pkg-config
|
||||
RUN <<EOF
|
||||
set -o xtrace
|
||||
echo "PKG_CONFIG_LIBDIR=/usr/lib/$(xx-info)/pkgconfig" >> /etc/environment
|
||||
echo "PKG_CONFIG=/usr/bin/$(xx-info)-pkg-config" >> /etc/environment
|
||||
echo "PKG_CONFIG_ALLOW_CROSS=true" >> /etc/environment
|
||||
@@ -82,12 +85,14 @@ EOF
|
||||
|
||||
# Configure cc to use clang version
|
||||
RUN <<EOF
|
||||
set -o xtrace
|
||||
echo "CC=clang" >> /etc/environment
|
||||
echo "CXX=clang++" >> /etc/environment
|
||||
EOF
|
||||
|
||||
# Cross-language LTO
|
||||
RUN <<EOF
|
||||
set -o xtrace
|
||||
echo "CFLAGS=-flto" >> /etc/environment
|
||||
echo "CXXFLAGS=-flto" >> /etc/environment
|
||||
# Linker is set to target-compatible clang by xx
|
||||
@@ -98,6 +103,7 @@ EOF
|
||||
ARG TARGET_CPU=
|
||||
RUN <<EOF
|
||||
set -o allexport
|
||||
set -o xtrace
|
||||
. /etc/environment
|
||||
if [ -n "${TARGET_CPU}" ]; then
|
||||
echo "CFLAGS='${CFLAGS} -march=${TARGET_CPU}'" >> /etc/environment
|
||||
@@ -118,7 +124,6 @@ COPY . .
|
||||
ARG TARGETPLATFORM
|
||||
|
||||
# Verify environment configuration
|
||||
RUN cat /etc/environment
|
||||
RUN xx-cargo --print-target-triple
|
||||
|
||||
# Conduwuit version info
|
||||
@@ -139,9 +144,10 @@ ENV CONTINUWUITY_VERSION_EXTRA=$CONTINUWUITY_VERSION_EXTRA
|
||||
# Build the binary
|
||||
RUN --mount=type=cache,target=/usr/local/cargo/registry \
|
||||
--mount=type=cache,target=/usr/local/cargo/git/db \
|
||||
--mount=type=cache,target=/app/target \
|
||||
--mount=type=cache,target=/app/target,id=cargo-target-${TARGETPLATFORM} \
|
||||
bash <<'EOF'
|
||||
set -o allexport
|
||||
set -o xtrace
|
||||
. /etc/environment
|
||||
TARGET_DIR=($(cargo metadata --no-deps --format-version 1 | \
|
||||
jq -r ".target_directory"))
|
||||
@@ -162,6 +168,7 @@ EOF
|
||||
RUN --mount=type=cache,target=/usr/local/cargo/registry \
|
||||
--mount=type=cache,target=/usr/local/cargo/git/db \
|
||||
bash <<'EOF'
|
||||
set -o xtrace
|
||||
mkdir /out/sbom
|
||||
typeset -A PACKAGES
|
||||
for BINARY in /out/sbin/*; do
|
||||
@@ -180,6 +187,7 @@ EOF
|
||||
|
||||
# Extract dynamically linked dependencies
|
||||
RUN <<EOF
|
||||
set -o xtrace
|
||||
mkdir /out/libs
|
||||
mkdir /out/libs-root
|
||||
for BINARY in /out/sbin/*; do
|
||||
|
||||
@@ -7,30 +7,30 @@ services:
|
||||
image: forgejo.ellis.link/continuwuation/continuwuity:latest
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- db:/var/lib/conduwuit
|
||||
- /etc/resolv.conf:/etc/resolv.conf:ro # Use the host's DNS resolver rather than Docker's.
|
||||
#- ./conduwuit.toml:/etc/conduwuit.toml
|
||||
- db:/var/lib/continuwuity
|
||||
- /etc/resolv.conf:/etc/resolv.conf:ro # Use the host's DNS resolver rather than Docker's.
|
||||
#- ./continuwuity.toml:/etc/continuwuity.toml
|
||||
networks:
|
||||
- proxy
|
||||
environment:
|
||||
CONDUWUIT_SERVER_NAME: your.server.name.example # EDIT THIS
|
||||
CONDUWUIT_DATABASE_PATH: /var/lib/conduwuit
|
||||
CONDUWUIT_PORT: 6167 # should match the loadbalancer traefik label
|
||||
CONDUWUIT_MAX_REQUEST_SIZE: 20000000 # in bytes, ~20 MB
|
||||
CONDUWUIT_ALLOW_REGISTRATION: 'true'
|
||||
CONDUWUIT_REGISTRATION_TOKEN: 'YOUR_TOKEN' # A registration token is required when registration is allowed.
|
||||
#CONDUWUIT_YES_I_AM_VERY_VERY_SURE_I_WANT_AN_OPEN_REGISTRATION_SERVER_PRONE_TO_ABUSE: 'true'
|
||||
CONDUWUIT_ALLOW_FEDERATION: 'true'
|
||||
CONDUWUIT_ALLOW_CHECK_FOR_UPDATES: 'true'
|
||||
CONDUWUIT_TRUSTED_SERVERS: '["matrix.org"]'
|
||||
#CONDUWUIT_LOG: warn,state_res=warn
|
||||
CONDUWUIT_ADDRESS: 0.0.0.0
|
||||
#CONDUWUIT_CONFIG: '/etc/conduwuit.toml' # Uncomment if you mapped config toml above
|
||||
CONTINUWUITY_SERVER_NAME: your.server.name.example # EDIT THIS
|
||||
CONTINUWUITY_DATABASE_PATH: /var/lib/continuwuity
|
||||
CONTINUWUITY_PORT: 6167 # should match the loadbalancer traefik label
|
||||
CONTINUWUITY_MAX_REQUEST_SIZE: 20000000 # in bytes, ~20 MB
|
||||
CONTINUWUITY_ALLOW_REGISTRATION: 'true'
|
||||
CONTINUWUITY_REGISTRATION_TOKEN: 'YOUR_TOKEN' # A registration token is required when registration is allowed.
|
||||
#CONTINUWUITY_YES_I_AM_VERY_VERY_SURE_I_WANT_AN_OPEN_REGISTRATION_SERVER_PRONE_TO_ABUSE: 'true'
|
||||
CONTINUWUITY_ALLOW_FEDERATION: 'true'
|
||||
CONTINUWUITY_ALLOW_CHECK_FOR_UPDATES: 'true'
|
||||
CONTINUWUITY_TRUSTED_SERVERS: '["matrix.org"]'
|
||||
#CONTINUWUITY_LOG: warn,state_res=warn
|
||||
CONTINUWUITY_ADDRESS: 0.0.0.0
|
||||
#CONTINUWUITY_CONFIG: '/etc/continuwuity.toml' # Uncomment if you mapped config toml above
|
||||
|
||||
# We need some way to serve the client and server .well-known json. The simplest way is via the CONDUWUIT_WELL_KNOWN
|
||||
# variable / config option, there are multiple ways to do this, e.g. in the conduwuit.toml file, and in a separate
|
||||
# We need some way to serve the client and server .well-known json. The simplest way is via the CONTINUWUITY_WELL_KNOWN
|
||||
# variable / config option, there are multiple ways to do this, e.g. in the continuwuity.toml file, and in a separate
|
||||
# see the override file for more information about delegation
|
||||
CONDUWUIT_WELL_KNOWN: |
|
||||
CONTINUWUITY_WELL_KNOWN: |
|
||||
{
|
||||
client=https://your.server.name.example,
|
||||
server=your.server.name.example:443
|
||||
|
||||
@@ -6,11 +6,11 @@ services:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.docker.network=proxy" # Change this to the name of your Traefik docker proxy network
|
||||
|
||||
- "traefik.http.routers.to-conduwuit.rule=Host(`<SUBDOMAIN>.<DOMAIN>`)" # Change to the address on which Continuwuity is hosted
|
||||
- "traefik.http.routers.to-conduwuit.tls=true"
|
||||
- "traefik.http.routers.to-conduwuit.tls.certresolver=letsencrypt"
|
||||
- "traefik.http.routers.to-conduwuit.middlewares=cors-headers@docker"
|
||||
- "traefik.http.services.to_conduwuit.loadbalancer.server.port=6167"
|
||||
- "traefik.http.routers.to-continuwuity.rule=Host(`<SUBDOMAIN>.<DOMAIN>`)" # Change to the address on which Continuwuity is hosted
|
||||
- "traefik.http.routers.to-continuwuity.tls=true"
|
||||
- "traefik.http.routers.to-continuwuity.tls.certresolver=letsencrypt"
|
||||
- "traefik.http.routers.to-continuwuity.middlewares=cors-headers@docker"
|
||||
- "traefik.http.services.to_continuwuity.loadbalancer.server.port=6167"
|
||||
|
||||
- "traefik.http.middlewares.cors-headers.headers.accessControlAllowOriginList=*"
|
||||
- "traefik.http.middlewares.cors-headers.headers.accessControlAllowHeaders=Origin, X-Requested-With, Content-Type, Accept, Authorization"
|
||||
|
||||
@@ -25,23 +25,23 @@ services:
|
||||
image: forgejo.ellis.link/continuwuation/continuwuity:latest
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- db:/var/lib/conduwuit
|
||||
- db:/var/lib/continuwuity
|
||||
- /etc/resolv.conf:/etc/resolv.conf:ro # Use the host's DNS resolver rather than Docker's.
|
||||
#- ./conduwuit.toml:/etc/conduwuit.toml
|
||||
#- ./continuwuity.toml:/etc/continuwuity.toml
|
||||
environment:
|
||||
CONDUWUIT_SERVER_NAME: example.com # EDIT THIS
|
||||
CONDUWUIT_DATABASE_PATH: /var/lib/conduwuit
|
||||
CONDUWUIT_PORT: 6167
|
||||
CONDUWUIT_MAX_REQUEST_SIZE: 20000000 # in bytes, ~20 MB
|
||||
CONDUWUIT_ALLOW_REGISTRATION: 'true'
|
||||
CONDUWUIT_REGISTRATION_TOKEN: 'YOUR_TOKEN' # A registration token is required when registration is allowed.
|
||||
#CONDUWUIT_YES_I_AM_VERY_VERY_SURE_I_WANT_AN_OPEN_REGISTRATION_SERVER_PRONE_TO_ABUSE: 'true'
|
||||
CONDUWUIT_ALLOW_FEDERATION: 'true'
|
||||
CONDUWUIT_ALLOW_CHECK_FOR_UPDATES: 'true'
|
||||
CONDUWUIT_TRUSTED_SERVERS: '["matrix.org"]'
|
||||
#CONDUWUIT_LOG: warn,state_res=warn
|
||||
CONDUWUIT_ADDRESS: 0.0.0.0
|
||||
#CONDUWUIT_CONFIG: '/etc/conduwuit.toml' # Uncomment if you mapped config toml above
|
||||
CONTINUWUITY_SERVER_NAME: example.com # EDIT THIS
|
||||
CONTINUWUITY_DATABASE_PATH: /var/lib/continuwuity
|
||||
CONTINUWUITY_PORT: 6167
|
||||
CONTINUWUITY_MAX_REQUEST_SIZE: 20000000 # in bytes, ~20 MB
|
||||
CONTINUWUITY_ALLOW_REGISTRATION: 'true'
|
||||
CONTINUWUITY_REGISTRATION_TOKEN: 'YOUR_TOKEN' # A registration token is required when registration is allowed.
|
||||
#CONTINUWUITY_YES_I_AM_VERY_VERY_SURE_I_WANT_AN_OPEN_REGISTRATION_SERVER_PRONE_TO_ABUSE: 'true'
|
||||
CONTINUWUITY_ALLOW_FEDERATION: 'true'
|
||||
CONTINUWUITY_ALLOW_CHECK_FOR_UPDATES: 'true'
|
||||
CONTINUWUITY_TRUSTED_SERVERS: '["matrix.org"]'
|
||||
#CONTINUWUITY_LOG: warn,state_res=warn
|
||||
CONTINUWUITY_ADDRESS: 0.0.0.0
|
||||
#CONTINUWUITY_CONFIG: '/etc/continuwuity.toml' # Uncomment if you mapped config toml above
|
||||
networks:
|
||||
- caddy
|
||||
labels:
|
||||
|
||||
@@ -7,38 +7,38 @@ services:
|
||||
image: forgejo.ellis.link/continuwuation/continuwuity:latest
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- db:/var/lib/conduwuit
|
||||
- db:/var/lib/continuwuity
|
||||
- /etc/resolv.conf:/etc/resolv.conf:ro # Use the host's DNS resolver rather than Docker's.
|
||||
#- ./conduwuit.toml:/etc/conduwuit.toml
|
||||
#- ./continuwuity.toml:/etc/continuwuity.toml
|
||||
networks:
|
||||
- proxy
|
||||
environment:
|
||||
CONDUWUIT_SERVER_NAME: your.server.name.example # EDIT THIS
|
||||
CONDUWUIT_TRUSTED_SERVERS: '["matrix.org"]'
|
||||
CONDUWUIT_ALLOW_REGISTRATION: 'false' # After setting a secure registration token, you can enable this
|
||||
CONDUWUIT_REGISTRATION_TOKEN: "" # This is a token you can use to register on the server
|
||||
#CONDUWUIT_REGISTRATION_TOKEN_FILE: "" # Alternatively you can configure a path to a token file to read
|
||||
CONDUWUIT_ADDRESS: 0.0.0.0
|
||||
CONDUWUIT_PORT: 6167 # you need to match this with the traefik load balancer label if you're want to change it
|
||||
CONDUWUIT_DATABASE_PATH: /var/lib/conduwuit
|
||||
#CONDUWUIT_CONFIG: '/etc/conduit.toml' # Uncomment if you mapped config toml above
|
||||
CONTINUWUITY_SERVER_NAME: your.server.name.example # EDIT THIS
|
||||
CONTINUWUITY_TRUSTED_SERVERS: '["matrix.org"]'
|
||||
CONTINUWUITY_ALLOW_REGISTRATION: 'false' # After setting a secure registration token, you can enable this
|
||||
CONTINUWUITY_REGISTRATION_TOKEN: "" # This is a token you can use to register on the server
|
||||
#CONTINUWUITY_REGISTRATION_TOKEN_FILE: "" # Alternatively you can configure a path to a token file to read
|
||||
CONTINUWUITY_ADDRESS: 0.0.0.0
|
||||
CONTINUWUITY_PORT: 6167 # you need to match this with the traefik load balancer label if you're want to change it
|
||||
CONTINUWUITY_DATABASE_PATH: /var/lib/continuwuity
|
||||
#CONTINUWUITY_CONFIG: '/etc/continuwuity.toml' # Uncomment if you mapped config toml above
|
||||
### Uncomment and change values as desired, note that Continuwuity has plenty of config options, so you should check out the example example config too
|
||||
# Available levels are: error, warn, info, debug, trace - more info at: https://docs.rs/env_logger/*/env_logger/#enabling-logging
|
||||
# CONDUWUIT_LOG: info # default is: "warn,state_res=warn"
|
||||
# CONDUWUIT_ALLOW_ENCRYPTION: 'true'
|
||||
# CONDUWUIT_ALLOW_FEDERATION: 'true'
|
||||
# CONDUWUIT_ALLOW_CHECK_FOR_UPDATES: 'true'
|
||||
# CONDUWUIT_ALLOW_INCOMING_PRESENCE: true
|
||||
# CONDUWUIT_ALLOW_OUTGOING_PRESENCE: true
|
||||
# CONDUWUIT_ALLOW_LOCAL_PRESENCE: true
|
||||
# CONDUWUIT_WORKERS: 10
|
||||
# CONDUWUIT_MAX_REQUEST_SIZE: 20000000 # in bytes, ~20 MB
|
||||
# CONDUWUIT_NEW_USER_DISPLAYNAME_SUFFIX = "🏳<200d>⚧"
|
||||
# CONTINUWUITY_LOG: info # default is: "warn,state_res=warn"
|
||||
# CONTINUWUITY_ALLOW_ENCRYPTION: 'true'
|
||||
# CONTINUWUITY_ALLOW_FEDERATION: 'true'
|
||||
# CONTINUWUITY_ALLOW_CHECK_FOR_UPDATES: 'true'
|
||||
# CONTINUWUITY_ALLOW_INCOMING_PRESENCE: true
|
||||
# CONTINUWUITY_ALLOW_OUTGOING_PRESENCE: true
|
||||
# CONTINUWUITY_ALLOW_LOCAL_PRESENCE: true
|
||||
# CONTINUWUITY_WORKERS: 10
|
||||
# CONTINUWUITY_MAX_REQUEST_SIZE: 20000000 # in bytes, ~20 MB
|
||||
# CONTINUWUITY_NEW_USER_DISPLAYNAME_SUFFIX = "🏳<200d>⚧"
|
||||
|
||||
# We need some way to serve the client and server .well-known json. The simplest way is via the CONDUWUIT_WELL_KNOWN
|
||||
# variable / config option, there are multiple ways to do this, e.g. in the conduwuit.toml file, and in a separate
|
||||
# We need some way to serve the client and server .well-known json. The simplest way is via the CONTINUWUITY_WELL_KNOWN
|
||||
# variable / config option, there are multiple ways to do this, e.g. in the continuwuity.toml file, and in a separate
|
||||
# reverse proxy, but since you do not have a reverse proxy and following this guide, this example is included
|
||||
CONDUWUIT_WELL_KNOWN: |
|
||||
CONTINUWUITY_WELL_KNOWN: |
|
||||
{
|
||||
client=https://your.server.name.example,
|
||||
server=your.server.name.example:443
|
||||
|
||||
@@ -9,22 +9,22 @@ services:
|
||||
ports:
|
||||
- 8448:6167
|
||||
volumes:
|
||||
- db:/var/lib/conduwuit
|
||||
#- ./conduwuit.toml:/etc/conduwuit.toml
|
||||
- db:/var/lib/continuwuity
|
||||
#- ./continuwuity.toml:/etc/continuwuity.toml
|
||||
environment:
|
||||
CONDUWUIT_SERVER_NAME: your.server.name # EDIT THIS
|
||||
CONDUWUIT_DATABASE_PATH: /var/lib/conduwuit
|
||||
CONDUWUIT_PORT: 6167
|
||||
CONDUWUIT_MAX_REQUEST_SIZE: 20000000 # in bytes, ~20 MB
|
||||
CONDUWUIT_ALLOW_REGISTRATION: 'true'
|
||||
CONDUWUIT_REGISTRATION_TOKEN: 'YOUR_TOKEN' # A registration token is required when registration is allowed.
|
||||
#CONDUWUIT_YES_I_AM_VERY_VERY_SURE_I_WANT_AN_OPEN_REGISTRATION_SERVER_PRONE_TO_ABUSE: 'true'
|
||||
CONDUWUIT_ALLOW_FEDERATION: 'true'
|
||||
CONDUWUIT_ALLOW_CHECK_FOR_UPDATES: 'true'
|
||||
CONDUWUIT_TRUSTED_SERVERS: '["matrix.org"]'
|
||||
#CONDUWUIT_LOG: warn,state_res=warn
|
||||
CONDUWUIT_ADDRESS: 0.0.0.0
|
||||
#CONDUWUIT_CONFIG: '/etc/conduwuit.toml' # Uncomment if you mapped config toml above
|
||||
CONTINUWUITY_SERVER_NAME: your.server.name # EDIT THIS
|
||||
CONTINUWUITY_DATABASE_PATH: /var/lib/continuwuity
|
||||
CONTINUWUITY_PORT: 6167
|
||||
CONTINUWUITY_MAX_REQUEST_SIZE: 20000000 # in bytes, ~20 MB
|
||||
CONTINUWUITY_ALLOW_REGISTRATION: 'true'
|
||||
CONTINUWUITY_REGISTRATION_TOKEN: 'YOUR_TOKEN' # A registration token is required when registration is allowed.
|
||||
#CONTINUWUITY_YES_I_AM_VERY_VERY_SURE_I_WANT_AN_OPEN_REGISTRATION_SERVER_PRONE_TO_ABUSE: 'true'
|
||||
CONTINUWUITY_ALLOW_FEDERATION: 'true'
|
||||
CONTINUWUITY_ALLOW_CHECK_FOR_UPDATES: 'true'
|
||||
CONTINUWUITY_TRUSTED_SERVERS: '["matrix.org"]'
|
||||
#CONTINUWUITY_LOG: warn,state_res=warn
|
||||
CONTINUWUITY_ADDRESS: 0.0.0.0
|
||||
#CONTINUWUITY_CONFIG: '/etc/continuwuity.toml' # Uncomment if you mapped config toml above
|
||||
#
|
||||
### Uncomment if you want to use your own Element-Web App.
|
||||
### Note: You need to provide a config.json for Element and you also need a second
|
||||
|
||||
@@ -30,16 +30,16 @@ ### Run
|
||||
|
||||
```bash
|
||||
docker run -d -p 8448:6167 \
|
||||
-v db:/var/lib/conduwuit/ \
|
||||
-e CONDUWUIT_SERVER_NAME="your.server.name" \
|
||||
-e CONDUWUIT_ALLOW_REGISTRATION=false \
|
||||
--name conduwuit $LINK
|
||||
-v db:/var/lib/continuwuity/ \
|
||||
-e CONTINUWUITY_SERVER_NAME="your.server.name" \
|
||||
-e CONTINUWUITY_ALLOW_REGISTRATION=false \
|
||||
--name continuwuity $LINK
|
||||
```
|
||||
|
||||
or you can use [docker compose](#docker-compose).
|
||||
|
||||
The `-d` flag lets the container run in detached mode. You may supply an
|
||||
optional `conduwuit.toml` config file, the example config can be found
|
||||
optional `continuwuity.toml` config file, the example config can be found
|
||||
[here](../configuration/examples.md). You can pass in different env vars to
|
||||
change config values on the fly. You can even configure Continuwuity completely by
|
||||
using env vars. For an overview of possible values, please take a look at the
|
||||
|
||||
@@ -115,7 +115,7 @@ ## Setting up a systemd service
|
||||
## Creating the Continuwuity configuration file
|
||||
|
||||
Now we need to create the Continuwuity's config file in
|
||||
`/etc/conduwuit/conduwuit.toml`. The example config can be found at
|
||||
`/etc/continuwuity/continuwuity.toml`. The example config can be found at
|
||||
[conduwuit-example.toml](../configuration/examples.md).
|
||||
|
||||
**Please take a moment to read the config. You need to change at least the
|
||||
|
||||
@@ -190,7 +190,7 @@ ### Interesting related issues/bugs
|
||||
- [Workspace-level metadata
|
||||
(cargo-deb)](https://github.com/kornelski/cargo-deb/issues/68)
|
||||
|
||||
[1]: https://github.com/girlbossceo/conduwuit/pull/387
|
||||
[1]: https://forgejo.ellis.link/continuwuation/continuwuity/pulls/387
|
||||
[2]: https://wiki.musl-libc.org/functional-differences-from-glibc.html#Unloading-libraries
|
||||
[3]: https://github.com/rust-lang/rust/issues/28794
|
||||
[4]: https://github.com/rust-lang/rust/issues/28794#issuecomment-368693049
|
||||
|
||||
@@ -24,8 +24,9 @@ ## Complement
|
||||
If you're on macOS and need to build an image, run `nix build .#linux-complement`.
|
||||
|
||||
We have a Complement fork as some tests have needed to be fixed. This can be found
|
||||
at: <https://github.com/girlbossceo/complement>
|
||||
at: <https://forgejo.ellis.link/continuwuation/complement>
|
||||
|
||||
[ci-workflows]: https://github.com/girlbossceo/conduwuit/actions/workflows/ci.yml?query=event%3Apush+is%3Asuccess+actor%3Agirlbossceo
|
||||
[ci-workflows]:
|
||||
https://forgejo.ellis.link/continuwuation/continuwuity/actions/?workflow=ci.yml&actor=0&status=1
|
||||
[complement]: https://github.com/matrix-org/complement
|
||||
[direnv]: https://direnv.net/docs/hook.html
|
||||
|
||||
@@ -75,9 +75,9 @@ dockerTools.buildImage {
|
||||
else [];
|
||||
|
||||
Env = [
|
||||
"CONDUWUIT_TLS__KEY=${./private_key.key}"
|
||||
"CONDUWUIT_TLS__CERTS=${./certificate.crt}"
|
||||
"CONDUWUIT_CONFIG=${./config.toml}"
|
||||
"CONTINUWUITY_TLS__KEY=${./private_key.key}"
|
||||
"CONTINUWUITY_TLS__CERTS=${./certificate.crt}"
|
||||
"CONTINUWUITY_CONFIG=${./config.toml}"
|
||||
"RUST_BACKTRACE=full"
|
||||
];
|
||||
|
||||
|
||||
@@ -33,13 +33,13 @@ dockerTools.buildLayeredImage {
|
||||
<jason@zemos.net>";
|
||||
"org.opencontainers.image.created" ="@${toString inputs.self.lastModified}";
|
||||
"org.opencontainers.image.description" = "a very cool Matrix chat homeserver written in Rust";
|
||||
"org.opencontainers.image.documentation" = "https://conduwuit.puppyirl.gay/";
|
||||
"org.opencontainers.image.documentation" = "https://continuwuity.org/";
|
||||
"org.opencontainers.image.licenses" = "Apache-2.0";
|
||||
"org.opencontainers.image.revision" = inputs.self.rev or inputs.self.dirtyRev or "";
|
||||
"org.opencontainers.image.source" = "https://github.com/girlbossceo/conduwuit";
|
||||
"org.opencontainers.image.source" = "https://forgejo.ellis.link/continuwuation/continuwuity";
|
||||
"org.opencontainers.image.title" = main.pname;
|
||||
"org.opencontainers.image.url" = "https://conduwuit.puppyirl.gay/";
|
||||
"org.opencontainers.image.vendor" = "girlbossceo";
|
||||
"org.opencontainers.image.url" = "https://continuwuity.org/";
|
||||
"org.opencontainers.image.vendor" = "continuwuation";
|
||||
"org.opencontainers.image.version" = main.version;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -94,7 +94,7 @@ async fn process_command(services: Arc<Services>, input: &CommandInput) -> Proce
|
||||
#[allow(clippy::result_large_err)]
|
||||
fn handle_panic(error: &Error, command: &CommandInput) -> ProcessorResult {
|
||||
let link =
|
||||
"Please submit a [bug report](https://github.com/girlbossceo/conduwuit/issues/new). 🥺";
|
||||
"Please submit a [bug report](https://forgejo.ellis.link/continuwuation/continuwuity/issues/new). 🥺";
|
||||
let msg = format!("Panic occurred while processing command:\n```\n{error:#?}\n```\n{link}");
|
||||
let content = RoomMessageEventContent::notice_markdown(msg);
|
||||
error!("Panic while processing command: {error:?}");
|
||||
|
||||
@@ -118,7 +118,7 @@ pub fn check(config: &Config) -> Result {
|
||||
if cfg!(not(debug_assertions)) && config.server_name == "your.server.name" {
|
||||
return Err!(Config(
|
||||
"server_name",
|
||||
"You must specify a valid server name for production usage of conduwuit."
|
||||
"You must specify a valid server name for production usage of continuwuity."
|
||||
));
|
||||
}
|
||||
|
||||
@@ -290,7 +290,7 @@ fn warn_deprecated(config: &Config) {
|
||||
|
||||
if was_deprecated {
|
||||
warn!(
|
||||
"Read conduwuit config documentation at https://conduwuit.puppyirl.gay/configuration.html and check your \
|
||||
"Read continuwuity config documentation at https://continuwuity.org/configuration.html and check your \
|
||||
configuration if any new configuration parameters should be adjusted"
|
||||
);
|
||||
}
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
pub use self::{check::check, manager::Manager};
|
||||
use crate::{Result, err, error::Error, utils::sys};
|
||||
|
||||
/// All the config options for conduwuit.
|
||||
/// All the config options for continuwuity.
|
||||
#[allow(clippy::struct_excessive_bools)]
|
||||
#[allow(rustdoc::broken_intra_doc_links, rustdoc::bare_urls)]
|
||||
#[derive(Clone, Debug, Deserialize)]
|
||||
@@ -35,7 +35,7 @@
|
||||
filename = "conduwuit-example.toml",
|
||||
section = "global",
|
||||
undocumented = "# This item is undocumented. Please contribute documentation for it.",
|
||||
header = r#"### conduwuit Configuration
|
||||
header = r#"### continuwuity Configuration
|
||||
###
|
||||
### THIS FILE IS GENERATED. CHANGES/CONTRIBUTIONS IN THE REPO WILL BE
|
||||
### OVERWRITTEN!
|
||||
@@ -50,7 +50,7 @@
|
||||
### that say "YOU NEED TO EDIT THIS".
|
||||
###
|
||||
### For more information, see:
|
||||
### https://conduwuit.puppyirl.gay/configuration.html
|
||||
### https://continuwuity.org/configuration.html
|
||||
"#,
|
||||
ignore = "catchall well_known tls blurhashing allow_invalid_tls_certificates_yes_i_know_what_the_fuck_i_am_doing_with_this_and_i_know_this_is_insecure"
|
||||
)]
|
||||
@@ -59,7 +59,7 @@ pub struct Config {
|
||||
/// suffix for user and room IDs/aliases.
|
||||
///
|
||||
/// See the docs for reverse proxying and delegation:
|
||||
/// https://conduwuit.puppyirl.gay/deploying/generic.html#setting-up-the-reverse-proxy
|
||||
/// https://continuwuity.org/deploying/generic.html#setting-up-the-reverse-proxy
|
||||
///
|
||||
/// Also see the `[global.well_known]` config section at the very bottom.
|
||||
///
|
||||
@@ -70,10 +70,10 @@ pub struct Config {
|
||||
/// YOU NEED TO EDIT THIS. THIS CANNOT BE CHANGED AFTER WITHOUT A DATABASE
|
||||
/// WIPE.
|
||||
///
|
||||
/// example: "conduwuit.woof"
|
||||
/// example: "continuwuity.org"
|
||||
pub server_name: OwnedServerName,
|
||||
|
||||
/// The default address (IPv4 or IPv6) conduwuit will listen on.
|
||||
/// The default address (IPv4 or IPv6) continuwuity will listen on.
|
||||
///
|
||||
/// If you are using Docker or a container NAT networking setup, this must
|
||||
/// be "0.0.0.0".
|
||||
@@ -85,10 +85,10 @@ pub struct Config {
|
||||
#[serde(default = "default_address")]
|
||||
address: ListeningAddr,
|
||||
|
||||
/// The port(s) conduwuit will listen on.
|
||||
/// The port(s) continuwuity will listen on.
|
||||
///
|
||||
/// For reverse proxying, see:
|
||||
/// https://conduwuit.puppyirl.gay/deploying/generic.html#setting-up-the-reverse-proxy
|
||||
/// https://continuwuity.org/deploying/generic.html#setting-up-the-reverse-proxy
|
||||
///
|
||||
/// If you are using Docker, don't change this, you'll need to map an
|
||||
/// external port to this.
|
||||
@@ -103,16 +103,17 @@ pub struct Config {
|
||||
#[serde(default)]
|
||||
pub tls: TlsConfig,
|
||||
|
||||
/// The UNIX socket conduwuit will listen on.
|
||||
/// The UNIX socket continuwuity will listen on.
|
||||
///
|
||||
/// conduwuit cannot listen on both an IP address and a UNIX socket. If
|
||||
/// continuwuity cannot listen on both an IP address and a UNIX socket. If
|
||||
/// listening on a UNIX socket, you MUST remove/comment the `address` key.
|
||||
///
|
||||
/// Remember to make sure that your reverse proxy has access to this socket
|
||||
/// file, either by adding your reverse proxy to the 'conduwuit' group or
|
||||
/// granting world R/W permissions with `unix_socket_perms` (666 minimum).
|
||||
/// file, either by adding your reverse proxy to the appropriate user group
|
||||
/// or granting world R/W permissions with `unix_socket_perms` (666
|
||||
/// minimum).
|
||||
///
|
||||
/// example: "/run/conduwuit/conduwuit.sock"
|
||||
/// example: "/run/continuwuity/continuwuity.sock"
|
||||
pub unix_socket_path: Option<PathBuf>,
|
||||
|
||||
/// The default permissions (in octal) to create the UNIX socket with.
|
||||
@@ -121,22 +122,22 @@ pub struct Config {
|
||||
#[serde(default = "default_unix_socket_perms")]
|
||||
pub unix_socket_perms: u32,
|
||||
|
||||
/// This is the only directory where conduwuit will save its data, including
|
||||
/// media. Note: this was previously "/var/lib/matrix-conduit".
|
||||
/// This is the only directory where continuwuity will save its data,
|
||||
/// including media. Note: this was previously "/var/lib/matrix-conduit".
|
||||
///
|
||||
/// YOU NEED TO EDIT THIS.
|
||||
///
|
||||
/// example: "/var/lib/conduwuit"
|
||||
/// example: "/var/lib/continuwuity"
|
||||
pub database_path: PathBuf,
|
||||
|
||||
/// conduwuit supports online database backups using RocksDB's Backup engine
|
||||
/// API. To use this, set a database backup path that conduwuit can write
|
||||
/// to.
|
||||
/// continuwuity supports online database backups using RocksDB's Backup
|
||||
/// engine API. To use this, set a database backup path that continuwuity
|
||||
/// can write to.
|
||||
///
|
||||
/// For more information, see:
|
||||
/// https://conduwuit.puppyirl.gay/maintenance.html#backups
|
||||
/// https://continuwuity.org/maintenance.html#backups
|
||||
///
|
||||
/// example: "/opt/conduwuit-db-backups"
|
||||
/// example: "/opt/continuwuity-db-backups"
|
||||
pub database_backup_path: Option<PathBuf>,
|
||||
|
||||
/// The amount of online RocksDB database backups to keep/retain, if using
|
||||
@@ -160,7 +161,7 @@ pub struct Config {
|
||||
#[serde(default = "default_new_user_displayname_suffix")]
|
||||
pub new_user_displayname_suffix: String,
|
||||
|
||||
/// If enabled, conduwuit will send a simple GET request periodically to
|
||||
/// If enabled, continuwuity will send a simple GET request periodically to
|
||||
/// `https://continuwuity.org/.well-known/continuwuity/announcements` for any new
|
||||
/// announcements or major updates. This is not an update check endpoint.
|
||||
///
|
||||
@@ -168,8 +169,8 @@ pub struct Config {
|
||||
#[serde(alias = "allow_check_for_updates", default = "true_fn")]
|
||||
pub allow_announcements_check: bool,
|
||||
|
||||
/// Set this to any float value to multiply conduwuit's in-memory LRU caches
|
||||
/// with such as "auth_chain_cache_capacity".
|
||||
/// Set this to any float value to multiply continuwuity's in-memory LRU
|
||||
/// caches with such as "auth_chain_cache_capacity".
|
||||
///
|
||||
/// May be useful if you have significant memory to spare to increase
|
||||
/// performance.
|
||||
@@ -186,7 +187,7 @@ pub struct Config {
|
||||
)]
|
||||
pub cache_capacity_modifier: f64,
|
||||
|
||||
/// Set this to any float value in megabytes for conduwuit to tell the
|
||||
/// Set this to any float value in megabytes for continuwuity to tell the
|
||||
/// database engine that this much memory is available for database read
|
||||
/// caches.
|
||||
///
|
||||
@@ -202,7 +203,7 @@ pub struct Config {
|
||||
#[serde(default = "default_db_cache_capacity_mb")]
|
||||
pub db_cache_capacity_mb: f64,
|
||||
|
||||
/// Set this to any float value in megabytes for conduwuit to tell the
|
||||
/// Set this to any float value in megabytes for continuwuity to tell the
|
||||
/// database engine that this much memory is available for database write
|
||||
/// caches.
|
||||
///
|
||||
@@ -319,9 +320,9 @@ pub struct Config {
|
||||
/// Enable using *only* TCP for querying your specified nameservers instead
|
||||
/// of UDP.
|
||||
///
|
||||
/// If you are running conduwuit in a container environment, this config
|
||||
/// If you are running continuwuity in a container environment, this config
|
||||
/// option may need to be enabled. For more details, see:
|
||||
/// https://conduwuit.puppyirl.gay/troubleshooting.html#potential-dns-issues-when-using-docker
|
||||
/// https://continuwuity.org/troubleshooting.html#potential-dns-issues-when-using-docker
|
||||
#[serde(default)]
|
||||
pub query_over_tcp_only: bool,
|
||||
|
||||
@@ -534,9 +535,9 @@ pub struct Config {
|
||||
/// tokens. Multiple tokens can be added if you separate them with
|
||||
/// whitespace
|
||||
///
|
||||
/// conduwuit must be able to access the file, and it must not be empty
|
||||
/// continuwuity must be able to access the file, and it must not be empty
|
||||
///
|
||||
/// example: "/etc/conduwuit/.reg_token"
|
||||
/// example: "/etc/continuwuity/.reg_token"
|
||||
pub registration_token_file: Option<PathBuf>,
|
||||
|
||||
/// Controls whether encrypted rooms and events are allowed.
|
||||
@@ -627,16 +628,16 @@ pub struct Config {
|
||||
pub allow_room_creation: bool,
|
||||
|
||||
/// Set to false to disable users from joining or creating room versions
|
||||
/// that aren't officially supported by conduwuit.
|
||||
/// that aren't officially supported by continuwuity.
|
||||
///
|
||||
/// conduwuit officially supports room versions 6 - 11.
|
||||
/// continuwuity officially supports room versions 6 - 11.
|
||||
///
|
||||
/// conduwuit has slightly experimental (though works fine in practice)
|
||||
/// continuwuity has slightly experimental (though works fine in practice)
|
||||
/// support for versions 3 - 5.
|
||||
#[serde(default = "true_fn")]
|
||||
pub allow_unstable_room_versions: bool,
|
||||
|
||||
/// Default room version conduwuit will create rooms with.
|
||||
/// Default room version continuwuity will create rooms with.
|
||||
///
|
||||
/// Per spec, room version 11 is the default.
|
||||
///
|
||||
@@ -710,7 +711,7 @@ pub struct Config {
|
||||
/// Servers listed here will be used to gather public keys of other servers
|
||||
/// (notary trusted key servers).
|
||||
///
|
||||
/// Currently, conduwuit doesn't support inbound batched key requests, so
|
||||
/// Currently, continuwuity doesn't support inbound batched key requests, so
|
||||
/// this list should only contain other Synapse servers.
|
||||
///
|
||||
/// example: ["matrix.org", "tchncs.de"]
|
||||
@@ -755,7 +756,7 @@ pub struct Config {
|
||||
#[serde(default = "default_trusted_server_batch_size")]
|
||||
pub trusted_server_batch_size: usize,
|
||||
|
||||
/// Max log level for conduwuit. Allows debug, info, warn, or error.
|
||||
/// Max log level for continuwuity. Allows debug, info, warn, or error.
|
||||
///
|
||||
/// See also:
|
||||
/// https://docs.rs/tracing-subscriber/latest/tracing_subscriber/filter/struct.EnvFilter.html#directives
|
||||
@@ -780,8 +781,9 @@ pub struct Config {
|
||||
#[serde(default = "default_log_span_events")]
|
||||
pub log_span_events: String,
|
||||
|
||||
/// Configures whether CONDUWUIT_LOG EnvFilter matches values using regular
|
||||
/// expressions. See the tracing_subscriber documentation on Directives.
|
||||
/// Configures whether CONTINUWUITY_LOG EnvFilter matches values using
|
||||
/// regular expressions. See the tracing_subscriber documentation on
|
||||
/// Directives.
|
||||
///
|
||||
/// default: true
|
||||
#[serde(default = "true_fn")]
|
||||
@@ -863,7 +865,7 @@ pub struct Config {
|
||||
/// This takes priority over "turn_secret" first, and falls back to
|
||||
/// "turn_secret" if invalid or failed to open.
|
||||
///
|
||||
/// example: "/etc/conduwuit/.turn_secret"
|
||||
/// example: "/etc/continuwuity/.turn_secret"
|
||||
pub turn_secret_file: Option<PathBuf>,
|
||||
|
||||
/// TURN TTL, in seconds.
|
||||
@@ -872,12 +874,12 @@ pub struct Config {
|
||||
#[serde(default = "default_turn_ttl")]
|
||||
pub turn_ttl: u64,
|
||||
|
||||
/// List/vector of room IDs or room aliases that conduwuit will make newly
|
||||
/// registered users join. The rooms specified must be rooms that you have
|
||||
/// joined at least once on the server, and must be public.
|
||||
/// List/vector of room IDs or room aliases that continuwuity will make
|
||||
/// newly registered users join. The rooms specified must be rooms that you
|
||||
/// have joined at least once on the server, and must be public.
|
||||
///
|
||||
/// example: ["#conduwuit:puppygock.gay",
|
||||
/// "!eoIzvAvVwY23LPDay8:puppygock.gay"]
|
||||
/// example: ["#continuwuity:continuwuity.org",
|
||||
/// "!main-1:continuwuity.org"]
|
||||
///
|
||||
/// default: []
|
||||
#[serde(default = "Vec::new")]
|
||||
@@ -902,10 +904,10 @@ pub struct Config {
|
||||
#[serde(default)]
|
||||
pub auto_deactivate_banned_room_attempts: bool,
|
||||
|
||||
/// RocksDB log level. This is not the same as conduwuit's log level. This
|
||||
/// is the log level for the RocksDB engine/library which show up in your
|
||||
/// database folder/path as `LOG` files. conduwuit will log RocksDB errors
|
||||
/// as normal through tracing or panics if severe for safety.
|
||||
/// RocksDB log level. This is not the same as continuwuity's log level.
|
||||
/// This is the log level for the RocksDB engine/library which show up in
|
||||
/// your database folder/path as `LOG` files. continuwuity will log RocksDB
|
||||
/// errors as normal through tracing or panics if severe for safety.
|
||||
///
|
||||
/// default: "error"
|
||||
#[serde(default = "default_rocksdb_log_level")]
|
||||
@@ -930,7 +932,7 @@ pub struct Config {
|
||||
/// Set this to true to use RocksDB config options that are tailored to HDDs
|
||||
/// (slower device storage).
|
||||
///
|
||||
/// It is worth noting that by default, conduwuit will use RocksDB with
|
||||
/// It is worth noting that by default, continuwuity will use RocksDB with
|
||||
/// Direct IO enabled. *Generally* speaking this improves performance as it
|
||||
/// bypasses buffered I/O (system page cache). However there is a potential
|
||||
/// chance that Direct IO may cause issues with database operations if your
|
||||
@@ -938,7 +940,7 @@ pub struct Config {
|
||||
/// possibly ZFS filesystem. RocksDB generally deals/corrects these issues
|
||||
/// but it cannot account for all setups. If you experience any weird
|
||||
/// RocksDB issues, try enabling this option as it turns off Direct IO and
|
||||
/// feel free to report in the conduwuit Matrix room if this option fixes
|
||||
/// feel free to report in the continuwuity Matrix room if this option fixes
|
||||
/// your DB issues.
|
||||
///
|
||||
/// For more information, see:
|
||||
@@ -999,7 +1001,7 @@ pub struct Config {
|
||||
/// as they all differ. See their `kDefaultCompressionLevel`.
|
||||
///
|
||||
/// Note when using the default value we may override it with a setting
|
||||
/// tailored specifically conduwuit.
|
||||
/// tailored specifically for continuwuity.
|
||||
///
|
||||
/// default: 32767
|
||||
#[serde(default = "default_rocksdb_compression_level")]
|
||||
@@ -1017,7 +1019,7 @@ pub struct Config {
|
||||
/// algorithm.
|
||||
///
|
||||
/// Note when using the default value we may override it with a setting
|
||||
/// tailored specifically conduwuit.
|
||||
/// tailored specifically for continuwuity.
|
||||
///
|
||||
/// default: 32767
|
||||
#[serde(default = "default_rocksdb_bottommost_compression_level")]
|
||||
@@ -1059,13 +1061,13 @@ pub struct Config {
|
||||
/// 0 = AbsoluteConsistency
|
||||
/// 1 = TolerateCorruptedTailRecords (default)
|
||||
/// 2 = PointInTime (use me if trying to recover)
|
||||
/// 3 = SkipAnyCorruptedRecord (you now voided your Conduwuit warranty)
|
||||
/// 3 = SkipAnyCorruptedRecord (you now voided your Continuwuity warranty)
|
||||
///
|
||||
/// For more information on these modes, see:
|
||||
/// https://github.com/facebook/rocksdb/wiki/WAL-Recovery-Modes
|
||||
///
|
||||
/// For more details on recovering a corrupt database, see:
|
||||
/// https://conduwuit.puppyirl.gay/troubleshooting.html#database-corruption
|
||||
/// https://continuwuity.org/troubleshooting.html#database-corruption
|
||||
///
|
||||
/// default: 1
|
||||
#[serde(default = "default_rocksdb_recovery_mode")]
|
||||
@@ -1109,7 +1111,7 @@ pub struct Config {
|
||||
/// - Disabling repair mode and restarting the server is recommended after
|
||||
/// running the repair.
|
||||
///
|
||||
/// See https://conduwuit.puppyirl.gay/troubleshooting.html#database-corruption for more details on recovering a corrupt database.
|
||||
/// See https://continuwuity.org/troubleshooting.html#database-corruption for more details on recovering a corrupt database.
|
||||
#[serde(default)]
|
||||
pub rocksdb_repair: bool,
|
||||
|
||||
@@ -1134,7 +1136,7 @@ pub struct Config {
|
||||
/// Enables RocksDB compaction. You should never ever have to set this
|
||||
/// option to false. If you for some reason find yourself needing to use
|
||||
/// this option as part of troubleshooting or a bug, please reach out to us
|
||||
/// in the conduwuit Matrix room with information and details.
|
||||
/// in the continuwuity Matrix room with information and details.
|
||||
///
|
||||
/// Disabling compaction will lead to a significantly bloated and
|
||||
/// explosively large database, gradually poor performance, unnecessarily
|
||||
@@ -1162,7 +1164,7 @@ pub struct Config {
|
||||
/// purposes such as recovering/recreating your admin room, or inviting
|
||||
/// yourself back.
|
||||
///
|
||||
/// See https://conduwuit.puppyirl.gay/troubleshooting.html#lost-access-to-admin-room for other ways to get back into your admin room.
|
||||
/// See https://continuwuity.org/troubleshooting.html#lost-access-to-admin-room for other ways to get back into your admin room.
|
||||
///
|
||||
/// Once this password is unset, all sessions will be logged out for
|
||||
/// security purposes.
|
||||
@@ -1178,8 +1180,8 @@ pub struct Config {
|
||||
|
||||
/// Allow local (your server only) presence updates/requests.
|
||||
///
|
||||
/// Note that presence on conduwuit is very fast unlike Synapse's. If using
|
||||
/// outgoing presence, this MUST be enabled.
|
||||
/// Note that presence on continuwuity is very fast unlike Synapse's. If
|
||||
/// using outgoing presence, this MUST be enabled.
|
||||
#[serde(default = "true_fn")]
|
||||
pub allow_local_presence: bool,
|
||||
|
||||
@@ -1187,7 +1189,7 @@ pub struct Config {
|
||||
///
|
||||
/// This option receives presence updates from other servers, but does not
|
||||
/// send any unless `allow_outgoing_presence` is true. Note that presence on
|
||||
/// conduwuit is very fast unlike Synapse's.
|
||||
/// continuwuity is very fast unlike Synapse's.
|
||||
#[serde(default = "true_fn")]
|
||||
pub allow_incoming_presence: bool,
|
||||
|
||||
@@ -1195,8 +1197,8 @@ pub struct Config {
|
||||
///
|
||||
/// This option sends presence updates to other servers, but does not
|
||||
/// receive any unless `allow_incoming_presence` is true. Note that presence
|
||||
/// on conduwuit is very fast unlike Synapse's. If using outgoing presence,
|
||||
/// you MUST enable `allow_local_presence` as well.
|
||||
/// on continuwuity is very fast unlike Synapse's. If using outgoing
|
||||
/// presence, you MUST enable `allow_local_presence` as well.
|
||||
#[serde(default = "true_fn")]
|
||||
pub allow_outgoing_presence: bool,
|
||||
|
||||
@@ -1259,8 +1261,8 @@ pub struct Config {
|
||||
#[serde(default = "default_typing_client_timeout_max_s")]
|
||||
pub typing_client_timeout_max_s: u64,
|
||||
|
||||
/// Set this to true for conduwuit to compress HTTP response bodies using
|
||||
/// zstd. This option does nothing if conduwuit was not built with
|
||||
/// Set this to true for continuwuity to compress HTTP response bodies using
|
||||
/// zstd. This option does nothing if continuwuity was not built with
|
||||
/// `zstd_compression` feature. Please be aware that enabling HTTP
|
||||
/// compression may weaken TLS. Most users should not need to enable this.
|
||||
/// See https://breachattack.com/ and https://wikipedia.org/wiki/BREACH
|
||||
@@ -1268,8 +1270,8 @@ pub struct Config {
|
||||
#[serde(default)]
|
||||
pub zstd_compression: bool,
|
||||
|
||||
/// Set this to true for conduwuit to compress HTTP response bodies using
|
||||
/// gzip. This option does nothing if conduwuit was not built with
|
||||
/// Set this to true for continuwuity to compress HTTP response bodies using
|
||||
/// gzip. This option does nothing if continuwuity was not built with
|
||||
/// `gzip_compression` feature. Please be aware that enabling HTTP
|
||||
/// compression may weaken TLS. Most users should not need to enable this.
|
||||
/// See https://breachattack.com/ and https://wikipedia.org/wiki/BREACH before
|
||||
@@ -1280,8 +1282,8 @@ pub struct Config {
|
||||
#[serde(default)]
|
||||
pub gzip_compression: bool,
|
||||
|
||||
/// Set this to true for conduwuit to compress HTTP response bodies using
|
||||
/// brotli. This option does nothing if conduwuit was not built with
|
||||
/// Set this to true for continuwuity to compress HTTP response bodies using
|
||||
/// brotli. This option does nothing if continuwuity was not built with
|
||||
/// `brotli_compression` feature. Please be aware that enabling HTTP
|
||||
/// compression may weaken TLS. Most users should not need to enable this.
|
||||
/// See https://breachattack.com/ and https://wikipedia.org/wiki/BREACH
|
||||
@@ -1342,7 +1344,7 @@ pub struct Config {
|
||||
/// Otherwise setting this to false reduces filesystem clutter and overhead
|
||||
/// for managing these symlinks in the directory. This is now disabled by
|
||||
/// default. You may still return to upstream Conduit but you have to run
|
||||
/// conduwuit at least once with this set to true and allow the
|
||||
/// continuwuity at least once with this set to true and allow the
|
||||
/// media_startup_check to take place before shutting down to return to
|
||||
/// Conduit.
|
||||
#[serde(default)]
|
||||
@@ -1391,8 +1393,8 @@ pub struct Config {
|
||||
#[serde(default, with = "serde_regex")]
|
||||
pub allowed_remote_server_names: RegexSet,
|
||||
|
||||
/// Vector list of regex patterns of server names that conduwuit will refuse
|
||||
/// to download remote media from.
|
||||
/// Vector list of regex patterns of server names that continuwuity will
|
||||
/// refuse to download remote media from.
|
||||
///
|
||||
/// example: ["badserver\.tld$", "badphrase", "19dollarfortnitecards"]
|
||||
///
|
||||
@@ -1410,7 +1412,7 @@ pub struct Config {
|
||||
#[serde(default, with = "serde_regex")]
|
||||
pub forbidden_remote_room_directory_server_names: RegexSet,
|
||||
|
||||
/// Vector list of regex patterns of server names that conduwuit will not
|
||||
/// Vector list of regex patterns of server names that continuwuity will not
|
||||
/// send messages to the client from.
|
||||
///
|
||||
/// Note that there is no way for clients to receive messages once a server
|
||||
@@ -1436,7 +1438,7 @@ pub struct Config {
|
||||
pub send_messages_from_ignored_users_to_client: bool,
|
||||
|
||||
/// Vector list of IPv4 and IPv6 CIDR ranges / subnets *in quotes* that you
|
||||
/// do not want conduwuit to send outbound requests to. Defaults to
|
||||
/// do not want continuwuity to send outbound requests to. Defaults to
|
||||
/// RFC1918, unroutable, loopback, multicast, and testnet addresses for
|
||||
/// security.
|
||||
///
|
||||
@@ -1604,26 +1606,26 @@ pub struct Config {
|
||||
|
||||
/// Allow admins to enter commands in rooms other than "#admins" (admin
|
||||
/// room) by prefixing your message with "\!admin" or "\\!admin" followed up
|
||||
/// a normal conduwuit admin command. The reply will be publicly visible to
|
||||
/// the room, originating from the sender.
|
||||
/// a normal continuwuity admin command. The reply will be publicly visible
|
||||
/// to the room, originating from the sender.
|
||||
///
|
||||
/// example: \\!admin debug ping puppygock.gay
|
||||
#[serde(default = "true_fn")]
|
||||
pub admin_escape_commands: bool,
|
||||
|
||||
/// Automatically activate the conduwuit admin room console / CLI on
|
||||
/// startup. This option can also be enabled with `--console` conduwuit
|
||||
/// Automatically activate the continuwuity admin room console / CLI on
|
||||
/// startup. This option can also be enabled with `--console` continuwuity
|
||||
/// argument.
|
||||
#[serde(default)]
|
||||
pub admin_console_automatic: bool,
|
||||
|
||||
/// List of admin commands to execute on startup.
|
||||
///
|
||||
/// This option can also be configured with the `--execute` conduwuit
|
||||
/// This option can also be configured with the `--execute` continuwuity
|
||||
/// argument and can take standard shell commands and environment variables
|
||||
///
|
||||
/// For example: `./conduwuit --execute "server admin-notice conduwuit has
|
||||
/// started up at $(date)"`
|
||||
/// For example: `./continuwuity --execute "server admin-notice continuwuity
|
||||
/// has started up at $(date)"`
|
||||
///
|
||||
/// example: admin_execute = ["debug ping puppygock.gay", "debug echo hi"]`
|
||||
///
|
||||
@@ -1633,7 +1635,7 @@ pub struct Config {
|
||||
|
||||
/// Ignore errors in startup commands.
|
||||
///
|
||||
/// If false, conduwuit will error and fail to start if an admin execute
|
||||
/// If false, continuwuity will error and fail to start if an admin execute
|
||||
/// command (`--execute` / `admin_execute`) fails.
|
||||
#[serde(default)]
|
||||
pub admin_execute_errors_ignore: bool,
|
||||
@@ -1658,17 +1660,16 @@ pub struct Config {
|
||||
/// The default room tag to apply on the admin room.
|
||||
///
|
||||
/// On some clients like Element, the room tag "m.server_notice" is a
|
||||
/// special pinned room at the very bottom of your room list. The conduwuit
|
||||
/// admin room can be pinned here so you always have an easy-to-access
|
||||
/// shortcut dedicated to your admin room.
|
||||
/// special pinned room at the very bottom of your room list. The
|
||||
/// continuwuity admin room can be pinned here so you always have an
|
||||
/// easy-to-access shortcut dedicated to your admin room.
|
||||
///
|
||||
/// default: "m.server_notice"
|
||||
#[serde(default = "default_admin_room_tag")]
|
||||
pub admin_room_tag: String,
|
||||
|
||||
/// Sentry.io crash/panic reporting, performance monitoring/metrics, etc.
|
||||
/// This is NOT enabled by default. conduwuit's default Sentry reporting
|
||||
/// endpoint domain is `o4506996327251968.ingest.us.sentry.io`.
|
||||
/// This is NOT enabled by default.
|
||||
#[serde(default)]
|
||||
pub sentry: bool,
|
||||
|
||||
@@ -1679,7 +1680,7 @@ pub struct Config {
|
||||
#[serde(default = "default_sentry_endpoint")]
|
||||
pub sentry_endpoint: Option<Url>,
|
||||
|
||||
/// Report your conduwuit server_name in Sentry.io crash reports and
|
||||
/// Report your continuwuity server_name in Sentry.io crash reports and
|
||||
/// metrics.
|
||||
#[serde(default)]
|
||||
pub sentry_send_server_name: bool,
|
||||
@@ -1720,7 +1721,7 @@ pub struct Config {
|
||||
/// Enable the tokio-console. This option is only relevant to developers.
|
||||
///
|
||||
/// For more information, see:
|
||||
/// https://conduwuit.puppyirl.gay/development.html#debugging-with-tokio-console
|
||||
/// https://continuwuity.org/development.html#debugging-with-tokio-console
|
||||
#[serde(default)]
|
||||
pub tokio_console: bool,
|
||||
|
||||
@@ -1962,7 +1963,11 @@ pub fn load<'a, I>(paths: I) -> Result<Figment>
|
||||
where
|
||||
I: Iterator<Item = &'a Path>,
|
||||
{
|
||||
let envs = [Env::var("CONDUIT_CONFIG"), Env::var("CONDUWUIT_CONFIG")];
|
||||
let envs = [
|
||||
Env::var("CONDUIT_CONFIG"),
|
||||
Env::var("CONDUWUIT_CONFIG"),
|
||||
Env::var("CONTINUWUITY_CONFIG"),
|
||||
];
|
||||
|
||||
let config = envs
|
||||
.into_iter()
|
||||
@@ -1971,7 +1976,8 @@ pub fn load<'a, I>(paths: I) -> Result<Figment>
|
||||
.chain(paths.map(Toml::file))
|
||||
.fold(Figment::new(), |config, file| config.merge(file.nested()))
|
||||
.merge(Env::prefixed("CONDUIT_").global().split("__"))
|
||||
.merge(Env::prefixed("CONDUWUIT_").global().split("__"));
|
||||
.merge(Env::prefixed("CONDUWUIT_").global().split("__"))
|
||||
.merge(Env::prefixed("CONTINUWUITY_").global().split("__"));
|
||||
|
||||
Ok(config)
|
||||
}
|
||||
|
||||
@@ -74,17 +74,30 @@ pub(crate) struct Args {
|
||||
/// with the exception of the last bucket, try increasing this value to e.g.
|
||||
/// 50 or 100. Inversely, decrease to 10 etc if the histogram lacks
|
||||
/// resolution.
|
||||
#[arg(long, hide(true), env = "CONDUWUIT_RUNTIME_HISTOGRAM_INTERVAL", default_value = "25")]
|
||||
#[arg(
|
||||
long,
|
||||
hide(true),
|
||||
env = "CONTINUWUITY_RUNTIME_HISTOGRAM_INTERVAL",
|
||||
env = "CONDUWUIT_RUNTIME_HISTOGRAM_INTERVAL",
|
||||
default_value = "25"
|
||||
)]
|
||||
pub(crate) worker_histogram_interval: u64,
|
||||
|
||||
/// Set the histogram bucket count (tokio_unstable). Default is 20.
|
||||
#[arg(long, hide(true), env = "CONDUWUIT_RUNTIME_HISTOGRAM_BUCKETS", default_value = "20")]
|
||||
#[arg(
|
||||
long,
|
||||
hide(true),
|
||||
env = "CONTINUWUITY_RUNTIME_HISTOGRAM_BUCKETS",
|
||||
env = "CONDUWUIT_RUNTIME_HISTOGRAM_BUCKETS",
|
||||
default_value = "20"
|
||||
)]
|
||||
pub(crate) worker_histogram_buckets: usize,
|
||||
|
||||
/// Toggles worker affinity feature.
|
||||
#[arg(
|
||||
long,
|
||||
hide(true),
|
||||
env = "CONTINUWUITY_RUNTIME_WORKER_AFFINITY",
|
||||
env = "CONDUWUIT_RUNTIME_WORKER_AFFINITY",
|
||||
action = ArgAction::Set,
|
||||
num_args = 0..=1,
|
||||
@@ -99,6 +112,7 @@ pub(crate) struct Args {
|
||||
#[arg(
|
||||
long,
|
||||
hide(true),
|
||||
env = "CONTINUWUITY_RUNTIME_GC_ON_PARK",
|
||||
env = "CONDUWUIT_RUNTIME_GC_ON_PARK",
|
||||
action = ArgAction::Set,
|
||||
num_args = 0..=1,
|
||||
|
||||
@@ -165,7 +165,7 @@ pub async fn create_admin_room(services: &Services) -> Result {
|
||||
.timeline
|
||||
.build_and_append_pdu(
|
||||
PduBuilder::state(String::new(), &RoomTopicEventContent {
|
||||
topic: format!("Manage {} | Run commands prefixed with `!admin` | Run `!admin -h` for help | Documentation: https://conduwuit.puppyirl.gay/", services.config.server_name),
|
||||
topic: format!("Manage {} | Run commands prefixed with `!admin` | Run `!admin -h` for help | Documentation: https://continuwuity.org/", services.config.server_name),
|
||||
}),
|
||||
server_user,
|
||||
&room_id,
|
||||
|
||||
@@ -1,68 +1,85 @@
|
||||
:root {
|
||||
color-scheme: light;
|
||||
--font-stack: sans-serif;
|
||||
color-scheme: light;
|
||||
--font-stack: sans-serif;
|
||||
|
||||
--background-color: #fff;
|
||||
--text-color: #000;
|
||||
--background-color: #fff;
|
||||
--text-color: #000;
|
||||
|
||||
--bg: oklch(0.76 0.0854 317.27);
|
||||
--panel-bg: oklch(0.91 0.042 317.27);
|
||||
--bg: oklch(0.76 0.0854 317.27);
|
||||
--panel-bg: oklch(0.91 0.042 317.27);
|
||||
|
||||
--name-lightness: 0.45;
|
||||
--name-lightness: 0.45;
|
||||
|
||||
@media (prefers-color-scheme: dark) {
|
||||
color-scheme: dark;
|
||||
--text-color: #fff;
|
||||
--bg: oklch(0.15 0.042 317.27);
|
||||
--panel-bg: oklch(0.24 0.03 317.27);
|
||||
@media (prefers-color-scheme: dark) {
|
||||
color-scheme: dark;
|
||||
--text-color: #fff;
|
||||
--bg: oklch(0.15 0.042 317.27);
|
||||
--panel-bg: oklch(0.24 0.03 317.27);
|
||||
|
||||
--name-lightness: 0.8;
|
||||
}
|
||||
--name-lightness: 0.8;
|
||||
}
|
||||
|
||||
--c1: oklch(0.44 0.177 353.06);
|
||||
--c2: oklch(0.59 0.158 150.88);
|
||||
--c1: oklch(0.44 0.177 353.06);
|
||||
--c2: oklch(0.59 0.158 150.88);
|
||||
|
||||
--normal-font-size: 1rem;
|
||||
--small-font-size: 0.8rem;
|
||||
--normal-font-size: 1rem;
|
||||
--small-font-size: 0.8rem;
|
||||
}
|
||||
|
||||
body {
|
||||
color: var(--text-color);
|
||||
font-family: var(--font-stack);
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
display: grid;
|
||||
place-items: center;
|
||||
min-height: 100vh;
|
||||
color: var(--text-color);
|
||||
font-family: var(--font-stack);
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
display: grid;
|
||||
place-items: center;
|
||||
min-height: 100vh;
|
||||
}
|
||||
|
||||
html {
|
||||
background-color: var(--bg);
|
||||
background-image: linear-gradient(
|
||||
70deg,
|
||||
oklch(from var(--bg) l + 0.2 c h),
|
||||
oklch(from var(--bg) l - 0.2 c h)
|
||||
);
|
||||
font-size: 16px;
|
||||
background-color: var(--bg);
|
||||
background-image: linear-gradient(
|
||||
70deg,
|
||||
oklch(from var(--bg) l + 0.2 c h),
|
||||
oklch(from var(--bg) l - 0.2 c h)
|
||||
);
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.panel {
|
||||
width: min(clamp(24rem, 12rem + 40vw, 48rem), 100vw);
|
||||
border-radius: 15px;
|
||||
background-color: var(--panel-bg);
|
||||
padding-inline: 1.5rem;
|
||||
padding-block: 1rem;
|
||||
box-shadow: 0 0.25em 0.375em hsla(0, 0%, 0%, 0.1);
|
||||
width: min(clamp(24rem, 12rem + 40vw, 48rem), calc(100vw - 3rem));
|
||||
border-radius: 15px;
|
||||
background-color: var(--panel-bg);
|
||||
padding-inline: 1.5rem;
|
||||
padding-block: 1rem;
|
||||
box-shadow: 0 0.25em 0.375em hsla(0, 0%, 0%, 0.1);
|
||||
}
|
||||
|
||||
@media (max-width: 24rem) {
|
||||
.panel {
|
||||
padding-inline: 0.25rem;
|
||||
width: calc(100vw - 0.5rem);
|
||||
border-radius: 0;
|
||||
margin-block-start: 0.2rem;
|
||||
}
|
||||
main {
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
footer {
|
||||
padding-inline: 0.25rem;
|
||||
height: max(fit-content, 2rem);
|
||||
}
|
||||
|
||||
.project-name {
|
||||
text-decoration: none;
|
||||
background: linear-gradient(
|
||||
130deg,
|
||||
oklch(from var(--c1) var(--name-lightness) c h),
|
||||
oklch(from var(--c2) var(--name-lightness) c h)
|
||||
);
|
||||
background-clip: text;
|
||||
color: transparent;
|
||||
filter: brightness(1.2);
|
||||
text-decoration: none;
|
||||
background: linear-gradient(
|
||||
130deg,
|
||||
oklch(from var(--c1) var(--name-lightness) c h),
|
||||
oklch(from var(--c2) var(--name-lightness) c h)
|
||||
);
|
||||
background-clip: text;
|
||||
color: transparent;
|
||||
filter: brightness(1.2);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user