aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--net-im/conduit/conduit-0.5.0.ebuild36
-rw-r--r--net-im/conduit/files/conduit.toml52
2 files changed, 80 insertions, 8 deletions
diff --git a/net-im/conduit/conduit-0.5.0.ebuild b/net-im/conduit/conduit-0.5.0.ebuild
index d33bcac..7086084 100644
--- a/net-im/conduit/conduit-0.5.0.ebuild
+++ b/net-im/conduit/conduit-0.5.0.ebuild
@@ -705,15 +705,35 @@ src_unpack() {
mv "heed-traits" "../heed-traits-0.7.0" || die
mv "heed-types" "../heed-types-0.7.2" || die
rm "Cargo.toml" || die
-}
-src_prepare() {
- # Conduit uses custom forks or specific commits of Ruma, Reqwest and Heed
- # Because of this, Cargo will try to fetch from online. Since we
- # unpacked them in src_unpack, we update Cargo.toml to use those instead
+ # We also need to update Conduit's dependencies to let Cargo know
+ # that they are available in the local store and don't need to be
+ # fetched from their git repositoes
+ cd "${S}" || die
sed -i -e 's/^heed.*/heed = \{ version = "0.10.6", optional = true \}/' Cargo.toml || die
- sed -i -e 's/^reqwest.*/reqwest = { version = "0.11.9", features = \["rustls-tls-native-roots", "socks"\] }/' Cargo.toml || die
- sed -i -e 's/^ruma.*/ruma ={ version = "0.7.4", features = \["compat", "rand", "appservice-api-c", "client-api", "federation-api", "push-gateway-api-c", "state-res", "unstable-msc2448", "unstable-exhaustive-types", "ring-compat", "unstable-unspecified" \] }/' Cargo.toml || die
+ REQWESTFEATURES="features = "
+ REQWESTFEATURES+="\[\"rustls-tls-native-roots\", \"socks\"\]"
+ sed -i -e "s/^reqwest.*/reqwest = { version = \"0.11.9\", ${REQWESTFEATURES} }/" Cargo.toml || die
+ RUMAFEATURES="features = \["
+ RUMAFEATURES+="\"compat\", "
+ RUMAFEATURES+="\"rand\", "
+ RUMAFEATURES+="\"appservice-api-c\", "
+ RUMAFEATURES+="\"client-api\", "
+ RUMAFEATURES+="\"federation-api\", "
+ RUMAFEATURES+="\"push-gateway-api-c\", "
+ RUMAFEATURES+="\"state-res\", "
+ RUMAFEATURES+="\"unstable-msc2448\", "
+ RUMAFEATURES+="\"unstable-exhaustive-types\", "
+ RUMAFEATURES+="\"ring-compat\", "
+ RUMAFEATURES+="\"unstable-unspecified\""
+ RUMAFEATURES+="\]"
+ sed -i -e "s/^ruma.*/ruma = { version = \"0.7.4\", ${RUMAFEATURES} }/" Cargo.toml || die
+}
+
+src_install() {
+ cargo_src_install
- default
+ dodir "/etc/conduit"
+ insinto "/etc/conduit"
+ doins "${FILESDIR}/conduit.toml"
}
diff --git a/net-im/conduit/files/conduit.toml b/net-im/conduit/files/conduit.toml
new file mode 100644
index 0000000..0549030
--- /dev/null
+++ b/net-im/conduit/files/conduit.toml
@@ -0,0 +1,52 @@
+# =============================================================================
+# This is the official example config for Conduit.
+# If you use it for your server, you will need to adjust it to your own needs.
+# At the very least, change the server_name field!
+# =============================================================================
+
+
+[global]
+# The server_name is the pretty name of this server. It is used as a suffix for user
+# and room ids. Examples: matrix.org, conduit.rs
+
+# The Conduit server needs all /_matrix/ requests to be reachable at
+# https://your.server.name/ on port 443 (client-server) and 8448 (federation).
+
+# If that's not possible for you, you can create /.well-known files to redirect
+# requests. See
+# https://matrix.org/docs/spec/client_server/latest#get-well-known-matrix-client
+# and
+# https://matrix.org/docs/spec/server_server/r0.1.4#get-well-known-matrix-server
+# for more information
+
+# YOU NEED TO EDIT THIS
+#server_name = "your.server.name"
+
+# This is the only directory where Conduit will save its data
+database_path = "/var/lib/matrix-conduit/"
+database_backend = "rocksdb"
+
+# The port Conduit will be running on. You need to set up a reverse proxy in
+# your web server (e.g. apache or nginx), so all requests to /_matrix on port
+# 443 and 8448 will be forwarded to the Conduit instance running on this port
+# Docker users: Don't change this, you'll need to map an external port to this.
+port = 6167
+
+# Max size for uploads
+max_request_size = 20_000_000 # in bytes
+
+# Enables registration. If set to false, no users can register on this server.
+allow_registration = true
+
+allow_federation = true
+
+# Enable the display name lightning bolt on registration.
+enable_lightning_bolt = true
+
+trusted_servers = ["matrix.org"]
+
+#max_concurrent_requests = 100 # How many requests Conduit sends to other servers at the same time
+#log = "warn,state_res=warn,rocket=off,_=off,sled=off"
+
+address = "127.0.0.1" # This makes sure Conduit can only be reached using the reverse proxy
+#address = "0.0.0.0" # If Conduit is running in a container, make sure the reverse proxy (ie. Traefik) can reach it.