app: Conduit
This commit is contained in:
parent
e705fa05fc
commit
8377c72d60
|
@ -15,6 +15,7 @@ This is the official repository for the Tipi App Store. It contains all the apps
|
||||||
- [Chatpad AI](https://github.com/deiucanta/chatpad) - Not just another ChatGPT user-interface!
|
- [Chatpad AI](https://github.com/deiucanta/chatpad) - Not just another ChatGPT user-interface!
|
||||||
- [Code-Server](https://github.com/coder/code-server) - Web VS Code
|
- [Code-Server](https://github.com/coder/code-server) - Web VS Code
|
||||||
- [Codex.Docs](https://github.com/codex-team/codex.docst) - Free Docs app powered by Editor.js ecosystem.
|
- [Codex.Docs](https://github.com/codex-team/codex.docst) - Free Docs app powered by Editor.js ecosystem.
|
||||||
|
- [Conduit](https://gitlab.com/famedly/conduit) - Conduit is a simple, fast and reliable chat server written in Rust
|
||||||
- [DailyTXT](https://github.com/PhiTux/DailyTxT) - Encrypted Diary Web-App
|
- [DailyTXT](https://github.com/PhiTux/DailyTxT) - Encrypted Diary Web-App
|
||||||
- [Dash.](https://github.com/MauriceNino/dashdot) - A simple, modern server dashboard, primarily used by smaller private server
|
- [Dash.](https://github.com/MauriceNino/dashdot) - A simple, modern server dashboard, primarily used by smaller private server
|
||||||
- [Deluge](https://github.com/linuxserver/docker-deluge) - Deluge is a lightweight, Free Software, cross-platform BitTorrent client
|
- [Deluge](https://github.com/linuxserver/docker-deluge) - Deluge is a lightweight, Free Software, cross-platform BitTorrent client
|
||||||
|
|
54
apps/matrix-conduit/config.json
Normal file
54
apps/matrix-conduit/config.json
Normal file
|
@ -0,0 +1,54 @@
|
||||||
|
{
|
||||||
|
"$schema": "../schema.json",
|
||||||
|
"name": "Conduit",
|
||||||
|
"port": 6167,
|
||||||
|
"available": true,
|
||||||
|
"exposable": true,
|
||||||
|
"no_gui": true,
|
||||||
|
"id": "matrix-conduit",
|
||||||
|
"tipi_version": 1,
|
||||||
|
"version": "0.5.0",
|
||||||
|
"categories": ["social"],
|
||||||
|
"description": "Conduit is a fast Matrix homeserver that’s easy to set up and just works. You can install it on a mini-computer like the Raspberry Pi to host Matrix for your family, friends or company.",
|
||||||
|
"short_desc": "Conduit is a simple, fast and reliable chat server written in Rust",
|
||||||
|
"author": "Timo Kösters",
|
||||||
|
"source": "https://gitlab.com/famedly/conduit",
|
||||||
|
"website": "https://matrix.org/docs/projects/server/conduit",
|
||||||
|
"form_fields": [
|
||||||
|
{
|
||||||
|
"type": "boolean",
|
||||||
|
"label": "Allow Registration",
|
||||||
|
"hint": "WARNING! First user will be admin",
|
||||||
|
"required": false,
|
||||||
|
"env_variable": "ALLOW_REGISTRATION"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "boolean",
|
||||||
|
"label": "Allow Federation",
|
||||||
|
"required": false,
|
||||||
|
"env_variable": "ALLOW_FEDERATION"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "array",
|
||||||
|
"label": "Trusted Servers",
|
||||||
|
"hint": "[\"matrix.org\"]",
|
||||||
|
"required": false,
|
||||||
|
"env_variable": "TRUSTED_SERVERS"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "number",
|
||||||
|
"label": "Max request size",
|
||||||
|
"hint": "In bytes, for example 20000000",
|
||||||
|
"required": false,
|
||||||
|
"env_variable": "MAX_REQUEST_SIZE"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "text",
|
||||||
|
"label": "Loggin Level",
|
||||||
|
"hint": "Available levels: error, warn, info, debug, trace",
|
||||||
|
"placeholder": "-warn,rocket=off,_=off,sled=off",
|
||||||
|
"required": false,
|
||||||
|
"env_variable": "LOG"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
50
apps/matrix-conduit/docker-compose.yml
Normal file
50
apps/matrix-conduit/docker-compose.yml
Normal file
|
@ -0,0 +1,50 @@
|
||||||
|
version: "3.7"
|
||||||
|
|
||||||
|
services:
|
||||||
|
homeserver:
|
||||||
|
container_name: matrix
|
||||||
|
image: matrixconduit/matrix-conduit:v0.5.0
|
||||||
|
ports:
|
||||||
|
- ${APP_PORT}:6167
|
||||||
|
environment:
|
||||||
|
CONDUIT_SERVER_NAME: ${APP_DOMAIN}
|
||||||
|
CONDUIT_DATABASE_PATH: /var/lib/matrix-conduit/
|
||||||
|
CONDUIT_DATABASE_BACKEND: rocksdb
|
||||||
|
CONDUIT_PORT: 6167
|
||||||
|
CONDUIT_MAX_REQUEST_SIZE: ${MAX_REQUEST_SIZE:-20000000}
|
||||||
|
CONDUIT_ALLOW_REGISTRATION: ${ALLOW_REGISTRATION:-false}
|
||||||
|
CONDUIT_ALLOW_FEDERATION: ${ALLOW_FEDERATION:-false}
|
||||||
|
CONDUIT_TRUSTED_SERVERS: ${TRUSTED_SERVERS:-[]}
|
||||||
|
CONDUIT_LOG: ${LOG:-warn,rocket=off,_=off,sled=off}
|
||||||
|
CONDUIT_ADDRESS: 0.0.0.0
|
||||||
|
CONDUIT_CONFIG: '' # Ignore this
|
||||||
|
restart: unless-stopped
|
||||||
|
volumes:
|
||||||
|
- ${APP_DATA_DIR}/data:/var/lib/matrix-conduit/
|
||||||
|
networks:
|
||||||
|
- tipi_main_network
|
||||||
|
labels:
|
||||||
|
traefik.enable: ${APP_EXPOSED}
|
||||||
|
traefik.http.routers.matrix.rule: Host(`${APP_DOMAIN}`)
|
||||||
|
traefik.http.routers.matrix.entrypoints: websecure
|
||||||
|
traefik.http.routers.matrix.service: matrix
|
||||||
|
traefik.http.routers.matrix.tls.certresolver: myresolver
|
||||||
|
traefik.http.services.matrix.loadbalancer.server.port: 6167
|
||||||
|
|
||||||
|
well-known:
|
||||||
|
container_name: matrix-well-known
|
||||||
|
build:
|
||||||
|
context: nginx
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
environment:
|
||||||
|
APP_DOMAIN: ${APP_DOMAIN}
|
||||||
|
restart: unless-stopped
|
||||||
|
networks:
|
||||||
|
- tipi_main_network
|
||||||
|
labels:
|
||||||
|
traefik.enable: ${APP_EXPOSED}
|
||||||
|
traefik.http.routers.matrix-well-knows.rule: Host(`${APP_DOMAIN}`) && PathPrefix(`/.well-known/matrix`)
|
||||||
|
traefik.http.routers.matrix-well-knows.entrypoints: websecure
|
||||||
|
traefik.http.routers.matrix-well-knows.service: matrix-well-knows
|
||||||
|
traefik.http.routers.matrix-well-knows.tls.certresolver: myresolver
|
||||||
|
traefik.http.services.matrix-well-knows.loadbalancer.server.port: 80
|
82
apps/matrix-conduit/metadata/description.md
Normal file
82
apps/matrix-conduit/metadata/description.md
Normal file
|
@ -0,0 +1,82 @@
|
||||||
|
# Conduit
|
||||||
|
### A Matrix homeserver written in Rust
|
||||||
|
|
||||||
|
#### What is Matrix?
|
||||||
|
[Matrix](https://matrix.org) is an open network for secure and decentralized
|
||||||
|
communication. Users from every Matrix homeserver can chat with users from all
|
||||||
|
other Matrix servers. You can even use bridges (also called Matrix appservices)
|
||||||
|
to communicate with users outside of Matrix, like a community on Discord.
|
||||||
|
|
||||||
|
#### What is the goal?
|
||||||
|
|
||||||
|
An efficient Matrix homeserver that's easy to set up and just works. You can install
|
||||||
|
it on a mini-computer like the Raspberry Pi to host Matrix for your family,
|
||||||
|
friends or company.
|
||||||
|
|
||||||
|
#### Can I try it out?
|
||||||
|
|
||||||
|
Yes! You can test our Conduit instance by opening a Matrix client (<https://app.element.io> or Element Android for
|
||||||
|
example) and registering on the `conduit.rs` homeserver.
|
||||||
|
|
||||||
|
*Registration is currently disabled because of scammers. For an account please
|
||||||
|
message us (see contact section below).*
|
||||||
|
|
||||||
|
Server hosting for conduit.rs is donated by the Matrix.org Foundation.
|
||||||
|
|
||||||
|
#### What is the current status?
|
||||||
|
|
||||||
|
Conduit is Beta, meaning you can join and participate in most
|
||||||
|
Matrix rooms, but not all features are supported and you might run into bugs
|
||||||
|
from time to time.
|
||||||
|
|
||||||
|
There are still a few important features missing:
|
||||||
|
|
||||||
|
- E2EE emoji comparison over federation (E2EE chat works)
|
||||||
|
- Outgoing read receipts, typing, presence over federation (incoming works)
|
||||||
|
|
||||||
|
Check out the [Conduit 1.0 Release Milestone](https://gitlab.com/famedly/conduit/-/milestones/3).
|
||||||
|
|
||||||
|
#### How can I deploy my own?
|
||||||
|
|
||||||
|
- Simple install (this was tested the most): [DEPLOY.md](DEPLOY.md)
|
||||||
|
- Debian package: [debian/README.Debian](debian/README.Debian)
|
||||||
|
- Nix/NixOS: [nix/README.md](nix/README.md)
|
||||||
|
- Docker: [docker/README.md](docker/README.md)
|
||||||
|
|
||||||
|
If you want to connect an Appservice to Conduit, take a look at [APPSERVICES.md](APPSERVICES.md).
|
||||||
|
|
||||||
|
#### How can I contribute?
|
||||||
|
|
||||||
|
1. Look for an issue you would like to work on and make sure it's not assigned
|
||||||
|
to other users
|
||||||
|
2. Ask someone to assign the issue to you (comment on the issue or chat in
|
||||||
|
[#conduit:fachschaften.org](https://matrix.to/#/#conduit:fachschaften.org))
|
||||||
|
3. Fork the repo and work on the issue.[#conduit:fachschaften.org](https://matrix.to/#/#conduit:fachschaften.org) is happy to help :)
|
||||||
|
4. Submit a MR
|
||||||
|
|
||||||
|
#### Thanks to
|
||||||
|
|
||||||
|
Thanks to FUTO, Famedly, Prototype Fund (DLR and German BMBF) and all individuals for financially supporting this project.
|
||||||
|
|
||||||
|
Thanks to the contributors to Conduit and all libraries we use, for example:
|
||||||
|
|
||||||
|
- Ruma: A clean library for the Matrix Spec in Rust
|
||||||
|
- axum: A modular web framework
|
||||||
|
|
||||||
|
#### Contact
|
||||||
|
|
||||||
|
If you run into any question, feel free to
|
||||||
|
- Ask us in `#conduit:fachschaften.org` on Matrix
|
||||||
|
- Write an E-Mail to `conduit@koesters.xyz`
|
||||||
|
- Send an direct message to `timo@fachschaften.org` on Matrix
|
||||||
|
- [Open an issue on GitLab](https://gitlab.com/famedly/conduit/-/issues/new)
|
||||||
|
|
||||||
|
#### Donate
|
||||||
|
|
||||||
|
Liberapay: <https://liberapay.com/timokoesters/>\
|
||||||
|
Bitcoin: `bc1qnnykf986tw49ur7wx9rpw2tevpsztvar5x8w4n`
|
||||||
|
|
||||||
|
#### Logo
|
||||||
|
|
||||||
|
Lightning Bolt Logo: https://github.com/mozilla/fxemoji/blob/gh-pages/svgs/nature/u26A1-bolt.svg \
|
||||||
|
Logo License: https://github.com/mozilla/fxemoji/blob/gh-pages/LICENSE.md
|
BIN
apps/matrix-conduit/metadata/logo.jpg
Normal file
BIN
apps/matrix-conduit/metadata/logo.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 16 KiB |
4
apps/matrix-conduit/nginx/Dockerfile
Normal file
4
apps/matrix-conduit/nginx/Dockerfile
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
FROM nginx:1.24-alpine
|
||||||
|
|
||||||
|
RUN mkdir /etc/nginx/templates
|
||||||
|
COPY matrix.conf.template /etc/nginx/templates
|
19
apps/matrix-conduit/nginx/matrix.conf.template
Normal file
19
apps/matrix-conduit/nginx/matrix.conf.template
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
server {
|
||||||
|
server_name ${APP_DOMAIN};
|
||||||
|
listen 80 default_server;
|
||||||
|
|
||||||
|
location /.well-known/matrix/server {
|
||||||
|
return 200 '{"m.server": "${APP_DOMAIN}:443"}';
|
||||||
|
types { } default_type "application/json; charset=utf-8";
|
||||||
|
}
|
||||||
|
|
||||||
|
location /.well-known/matrix/client {
|
||||||
|
return 200 '{"m.homeserver": {"base_url": "https://${APP_DOMAIN}"}}';
|
||||||
|
types { } default_type "application/json; charset=utf-8";
|
||||||
|
add_header "Access-Control-Allow-Origin" *;
|
||||||
|
}
|
||||||
|
|
||||||
|
location / {
|
||||||
|
return 404;
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user