Document chapter 02

* Install a self hosted instance of element-call
* As a container instances or pods
* Via OS native packages
This commit is contained in:
Ralf Zerres
2024-10-17 17:29:13 +02:00
parent 36bb3d6b8a
commit 8529021733

View File

@@ -1,11 +1,7 @@
## Installation
The first step is to install Rust. This is described in depth following
[Rust book Chapter 1](https://github.com/rust-lang/book/blob/master/src/ch01-01-installation.md)
When creating a OrbTk application, we define the needed dependencies to the
OrbTk crates in the Cargo.toml file of our project. The complile process
will resolve the references and download the source as needed.
This section will help you to get up with you own self hosted instance
of `Element-Call`.
> ### Command Line Notation
>
@@ -20,69 +16,41 @@ will resolve the references and download the source as needed.
> ***WIP***: What are the most common culprits? Can we provide some general, basic solutions
### Local Documentation
### Container based
OrbTk offers the option to install its documentation locally, so you can read it
offline.
#### Precompiled docker instances
Any time a type, a function, a method or a crate is reference by the toolkit
and youre not sure what it does or how to use it, have a look at its application
programming interface [API documentation] to find out!
#### Source installation
<!-- [API documentation]: https://www.redox-os.org/orbtk/doc/en -->
<!-- [API documentation]: https://github.com/redox-os/orbtk -->
[API documentation]: https://docs.rs/orbtk
> ***WIP***: Decide what kind of detail is sufficiant
### Install Rust on Linux or macOS
### Native OS based
If you are using Linux or macOS open up an terminal and copy and paste the text below and hit the enter key on your keyboard:
> ***WIP***: Decide what list of distros we should mention and
> maintain the required package names inside the book
```bash
curl https://sh.rustup.rs -sSf | sh
```
#### Arch Linux packages
### Install Rust on Windows
For `Arch Linux` you may grep precompiled packages for all components from the `AUR`.
Download and run the Rust windows installer from https://www.rust-lang.org/tools/install.
#### Source installation
### Install Redoxer (Redox OS)
> ***WIP***: Decide what kind of detail is sufficiant
If you want build and run your Rust application on a [KVM](https://en.wikipedia.org/wiki/Kernel-based_Virtual_Machine) capable OS for Redox you can use [redoxer](https://gitlab.redox-os.org/redox-os/redoxer).
You need to download, compile and install the following packages
To install Redoxer you have to first install the rust toolchain. After that open up an terminal and copy and paste the text below and hit the enter key on your keyboard:
* element-call
* livekit
* livekit-jwt-service
* nginx
```bash
cargo +nightly install redoxer
```
### Adapt to your domain
To compile and run your application on Redox OS you should check the Redox OS Book.
> ***WIP***: Decide what kind of detail is sufficiant
### Editor and IDE integration
Please take a minute and make sure you have selected the correct
informations for your domain. It is a hassle to redo the configuration and search for typos that may break the correct execution.
A wide range of editors and IDE's are providing support for Rust code like
* like syntax-highlighting
* auto-completion
* linting
* lsp support
#### VS Code
There is a big community that rely on the visualstudio implementation
to handle their code base. Following are the steps needed to expand
your installation to support `VS Code for Rust` development:
1. Download VS Code [from](https://code.visualstudio.com/download).
2. Install [Rust Language Server plugin](https://marketplace.visualstudio.com/items?itemName=rust-lang.rust) (the
Rust Language Server).
#### Alternative Editors and IDEs
If you perefer other solution, you will find in depth help inside the
context of this inclomplete links:
* [Atom](https://atom.io/packages/language-rust)
* [Intellij IDEA](https://intellij-rust.github.io)
* [Vim](https://github.com/rust-lang/rust.vim)
* [Emacs](https://github.com/rust-lang/rust-mode)
* [Eclipse](https://github.com/eclipse/corrosion)
* Element-Call hostname (fqdn)
* LiveKit hostname
* Exposed Firewall ports (livekit, livekit-jwt, element-call, homeserver)