summaryrefslogtreecommitdiff
path: root/DEPLOY.md
diff options
context:
space:
mode:
authorJonas Zohren <gitlab-jfowl-0ux98@sh14.de>2021-11-21 17:34:08 +0000
committerTimo Kösters <timo@koesters.xyz>2021-11-21 17:34:08 +0000
commit2fff720df38c83673269fa597361c5631e991c9a (patch)
tree62ad8f3e7aefce0347fe59d6c9db6d16b30afd82 /DEPLOY.md
parent24a835647c0d9d5a678a495c2edf4ed7b7a39bdf (diff)
downloadconduit-2fff720df38c83673269fa597361c5631e991c9a.zip
CI: New Multiarch builds and Docker images + cargo clippy/test output now integrated into GitLab
Diffstat (limited to 'DEPLOY.md')
-rw-r--r--DEPLOY.md52
1 files changed, 26 insertions, 26 deletions
diff --git a/DEPLOY.md b/DEPLOY.md
index 84dd2be..6470c90 100644
--- a/DEPLOY.md
+++ b/DEPLOY.md
@@ -2,25 +2,30 @@
## Getting help
-If you run into any problems while setting up Conduit, write an email to `timo@koesters.xyz`, ask us in `#conduit:matrix.org` or [open an issue on GitLab](https://gitlab.com/famedly/conduit/-/issues/new).
+If you run into any problems while setting up Conduit, write an email to `timo@koesters.xyz`, ask us
+in `#conduit:matrix.org` or [open an issue on GitLab](https://gitlab.com/famedly/conduit/-/issues/new).
## Installing Conduit
-You may simply download the binary that fits your machine. Run `uname -m` to see what you need. Now copy the right url:
+Although you might be able to compile Conduit for Windows, we do recommend running it on a linux server. We therefore
+only offer Linux binaries.
-| CPU Architecture | GNU (Ubuntu, Debian, ArchLinux, ...) | MUSL (Alpine, ... ) |
-| -------------------- | ------------------------------------- | ----------------------- |
-| x84_64 / amd64 | [Download][x84_64-gnu] | [Download][x84_64-musl] |
-| armv7 (Raspberry Pi) | [Download][armv7-gnu] | - |
-| armv8 / aarch64 | [Download][armv8-gnu] | - |
+You may simply download the binary that fits your machine. Run `uname -m` to see what you need. Now copy the right url:
-[x84_64-gnu]: https://gitlab.com/famedly/conduit/-/jobs/artifacts/master/raw/conduit-x86_64-unknown-linux-gnu?job=build:release:cargo:x86_64-unknown-linux-gnu
+| CPU Architecture | Download link |
+| ------------------------------------------- | ----------------------- |
+| x84_64 / amd64 (Most servers and computers) | [Download][x84_64-musl] |
+| armv6 | [Download][armv6-musl] |
+| armv7 (e.g. Raspberry Pi by default) | [Download][armv7-musl] |
+| armv8 / aarch64 | [Download][armv8-musl] |
[x84_64-musl]: https://gitlab.com/famedly/conduit/-/jobs/artifacts/master/raw/conduit-x86_64-unknown-linux-musl?job=build:release:cargo:x86_64-unknown-linux-musl
-[armv7-gnu]: https://gitlab.com/famedly/conduit/-/jobs/artifacts/master/raw/conduit-armv7-unknown-linux-gnueabihf?job=build:release:cargo:armv7-unknown-linux-gnueabihf
+[armv6-musl]: https://gitlab.com/famedly/conduit/-/jobs/artifacts/master/raw/conduit-arm-unknown-linux-musleabihf?job=build:release:cargo:arm-unknown-linux-musleabihf
+
+[armv7-musl]: https://gitlab.com/famedly/conduit/-/jobs/artifacts/master/raw/conduit-armv7-unknown-linux-musleabihf?job=build:release:cargo:armv7-unknown-linux-musleabihf
-[armv8-gnu]: https://gitlab.com/famedly/conduit/-/jobs/artifacts/master/raw/conduit-aarch64-unknown-linux-gnu?job=build:release:cargo:aarch64-unknown-linux-gnu
+[armv8-musl]: https://gitlab.com/famedly/conduit/-/jobs/artifacts/master/raw/conduit-aarch64-unknown-linux-musl?job=build:release:cargo:aarch64-unknown-linux-musl
```bash
$ sudo wget -O /usr/local/bin/matrix-conduit <url>
@@ -32,15 +37,15 @@ Alternatively, you may compile the binary yourself using
```bash
$ cargo build --release
```
+
Note that this currently requires Rust 1.50.
If you want to cross compile Conduit to another architecture, read the [Cross-Compile Guide](CROSS_COMPILE.md).
-
## Adding a Conduit user
-While Conduit can run as any user it is usually better to use dedicated users for different services.
-This also allows you to make sure that the file permissions are correctly set up.
+While Conduit can run as any user it is usually better to use dedicated users for different services. This also allows
+you to make sure that the file permissions are correctly set up.
In Debian you can use this command to create a Conduit user:
@@ -50,9 +55,8 @@ sudo adduser --system conduit --no-create-home
## Setting up a systemd service
-Now we'll set up a systemd service for Conduit, so it's easy to start/stop
-Conduit and set it to autostart when your server reboots. Simply paste the
-default systemd service you can find below into
+Now we'll set up a systemd service for Conduit, so it's easy to start/stop Conduit and set it to autostart when your
+server reboots. Simply paste the default systemd service you can find below into
`/etc/systemd/system/conduit.service`.
```systemd
@@ -77,10 +81,10 @@ Finally, run
$ sudo systemctl daemon-reload
```
-
## Creating the Conduit configuration file
-Now we need to create the Conduit's config file in `/etc/matrix-conduit/conduit.toml`. Paste this in **and take a moment to read it. You need to change at least the server name.**
+Now we need to create the Conduit's config file in `/etc/matrix-conduit/conduit.toml`. Paste this in **and take a moment
+to read it. You need to change at least the server name.**
```toml
[global]
@@ -128,8 +132,8 @@ address = "127.0.0.1" # This makes sure Conduit can only be reached using the re
## Setting the correct file permissions
-As we are using a Conduit specific user we need to allow it to read the config.
-To do that you can run this command on Debian:
+As we are using a Conduit specific user we need to allow it to read the config. To do that you can run this command on
+Debian:
```bash
sudo chown -R conduit:nogroup /etc/matrix-conduit
@@ -142,7 +146,6 @@ sudo mkdir -p /var/lib/matrix-conduit/conduit_db
sudo chown -R conduit:nogroup /var/lib/matrix-conduit/conduit_db
```
-
## Setting up the Reverse Proxy
This depends on whether you use Apache, Nginx or another web server.
@@ -171,11 +174,9 @@ ProxyPassReverse /_matrix/ http://127.0.0.1:6167/_matrix/
$ sudo systemctl reload apache2
```
-
### Nginx
-If you use Nginx and not Apache, add the following server section inside the
-http section of `/etc/nginx/nginx.conf`
+If you use Nginx and not Apache, add the following server section inside the http section of `/etc/nginx/nginx.conf`
```nginx
server {
@@ -198,13 +199,13 @@ server {
include /etc/letsencrypt/options-ssl-nginx.conf;
}
```
+
**You need to make some edits again.** When you are done, run
```bash
$ sudo systemctl reload nginx
```
-
## SSL Certificate
The easiest way to get an SSL certificate, if you don't have one already, is to install `certbot` and run this:
@@ -213,7 +214,6 @@ The easiest way to get an SSL certificate, if you don't have one already, is to
$ sudo certbot -d your.server.name
```
-
## You're done!
Now you can start Conduit with: