From 2dc0c15f5d0caca9b6f1538885a8b4a475348ae3 Mon Sep 17 00:00:00 2001 From: Vladan Popovic Date: Sat, 6 Feb 2021 00:48:49 +0100 Subject: [PATCH] Update the readme to the current state ... will be updated soon again --- alpine/matrix/README.md | 66 ++++++++--------------------------------- 1 file changed, 13 insertions(+), 53 deletions(-) diff --git a/alpine/matrix/README.md b/alpine/matrix/README.md index 3f55001..b7023d6 100644 --- a/alpine/matrix/README.md +++ b/alpine/matrix/README.md @@ -1,11 +1,9 @@ -Matrix synapse service with IRC and Telegram gateways -===================================================== +# Matrix synapse service with a TURN server and riot-web frontend -A collection of systemd services that run synapse and the IRC gateway -(matrix-appservice-irc) in an isolated read-only alpine squashfs image. +A collection of systemd services that run synapse, riot-web and a TURN server +as systemd portable services. -Building the squashfs image ---------------------------- +## Building the squashfs image Run: @@ -14,62 +12,24 @@ $ sh build.sh ``` It will create a rootfs/ folder with an alpine filesystem, install synapse, -matrix-appservice-irc and compress it into a squashfs image that will be used -as a root filesystem for the container. +compress it into a squashfs image that will be used as a root filesystem for +the container. -If the script finished successfully, you should get an \~45M matrix.raw +If the script finished successfully, you should get an \~25M matrix.raw image. -Running the portable services ------------------------------ +## Running the portable services Attach the container with `sudo portablectl attach ./matrix.raw`. - -The output should look something like this: - -``` {.sourceCode .shell} -$ sudo portablectl attach ./matrix.raw - -Created directory /etc/systemd/system.attached. -Created directory /etc/systemd/system.attached/matrix.service.d. -Written /etc/systemd/system.attached/matrix.service.d/20-portable.conf. -Created symlink /etc/systemd/system.attached/matrix.service.d/10-profile.conf → /usr/lib/systemd/portable/profile/default/service.conf. -Copied /etc/systemd/system.attached/matrix.service. -Created directory /etc/systemd/system.attached/matrix-appservice-irc.service.d. -Written /etc/systemd/system.attached/matrix-appservice-irc.service.d/20-portable.conf. -Created symlink /etc/systemd/system.attached/matrix-appservice-irc.service.d/10-profile.conf → /usr/lib/systemd/portable/profile/default/service.conf. -Copied /etc/systemd/system.attached/matrix-appservice-irc.service. -Created symlink /etc/portables/matrix.raw → /tmp/matrix.raw. - - Start/Stop as any other systemd service, e.g: ``` {.sourceCode .shell} -sudo systemctl start matrix-appservice-irc.service sudo systemctl stop matrix.service ``` -Existing matrix installations ------------------------------ +## Install another existing service -1. Stop your current services. -2. Copy all configuration files to `/etc/matrix`. -3. Run all portable services, so that they create all directories in - `/var/lib`. -4. Copy all data files, e.g. homeserver.db if you\'re using sqlite, - media and upload folders for synapse, rooms.db for the irc gateway, - etc. to `/var/lib/matrix-{synapse,appservice-irc}`. - -Warning -------- - -You should set up all logging to stdout. - -Any configuration that has something to do with the filesystem should be -configured to write files to `/var/lib/matrix-{synapse,appservice-irc}`. - -TODO ----- - -- Use a Makefile to build the image. Add attach, detach and clean - targets. +``` {.sourceCode .shell} +NAME=riot sh build.sh +sudo systemctl start riot.service +```