Add basic README
This commit is contained in:
		
							parent
							
								
									909e7b58ef
								
							
						
					
					
						commit
						9846867740
					
				
					 1 changed files with 81 additions and 0 deletions
				
			
		
							
								
								
									
										81
									
								
								alpine-matrix/README.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										81
									
								
								alpine-matrix/README.md
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,81 @@
 | 
			
		|||
Matrix synapse service with IRC and Telegram gateways
 | 
			
		||||
=====================================================
 | 
			
		||||
 | 
			
		||||
A collection of systemd services that run synapse, matrix-appservice-irc
 | 
			
		||||
and mautrix-telegram in a read-only alpine squashfs image.
 | 
			
		||||
 | 
			
		||||
Building the squashfs image
 | 
			
		||||
---------------------------
 | 
			
		||||
 | 
			
		||||
Run:
 | 
			
		||||
 | 
			
		||||
``` {.sourceCode .shell}
 | 
			
		||||
$ sh build.sh
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
It will create a rootfs/ folder with an alpine filesystem, install
 | 
			
		||||
synapse, matrix-appservice-irc and mautrix-telegram and 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 \~50M matrix.raw
 | 
			
		||||
image.
 | 
			
		||||
 | 
			
		||||
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-telegram.service.d.
 | 
			
		||||
Written /etc/systemd/system.attached/matrix-telegram.service.d/20-portable.conf.
 | 
			
		||||
Created symlink /etc/systemd/system.attached/matrix-telegram.service.d/10-profile.conf → /usr/lib/systemd/portable/profile/default/service.conf.
 | 
			
		||||
Copied /etc/systemd/system.attached/matrix-telegram.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 → /home/vladan/dev/portabled/alpine-matrix/matrix.raw.
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
Start/Stop as any other systemd service, e.g:
 | 
			
		||||
 | 
			
		||||
``` {.sourceCode .shell}
 | 
			
		||||
sudo systemctl start matrix-appservice-irc.service matrix-telegram.service
 | 
			
		||||
sudo systemctl stop matrix.service
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
Existing matrix installations
 | 
			
		||||
-----------------------------
 | 
			
		||||
 | 
			
		||||
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,telegram,appservice-irc}`.
 | 
			
		||||
 | 
			
		||||
Warning
 | 
			
		||||
-------
 | 
			
		||||
 | 
			
		||||
You\'ll need to modify the configuration if the services are configured
 | 
			
		||||
to log to disk, i.e. modify any filesystem except
 | 
			
		||||
`/var/lib/matrix-{synapse,telegram,appservice-irc}`.
 | 
			
		||||
 | 
			
		||||
TODO
 | 
			
		||||
----
 | 
			
		||||
 | 
			
		||||
-   Use a Makefile to build the image. Add attach, detach and clean
 | 
			
		||||
    targets.
 | 
			
		||||
-   Rename matrix.service to matrix-synapse.service and add
 | 
			
		||||
    matrix.target that starts matrix.service
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue