- added polylith-example@.service to docs

- added SYSTEMD.md to docs/systemd and moved systemd Part from INSTALL.md
- small fixes in script
This commit is contained in:
dymattic 2020-10-21 10:47:21 +02:00
parent 832e0f04c8
commit b25380f39d
4 changed files with 68 additions and 37 deletions

View file

@ -300,39 +300,4 @@ amongst other things.
### Set up Systemd Services _(polylith)_
In order to run the whole polylith deployment daemonized with Systemd
the following script can set them up for you **(root-privileges required)**:
```bash
# ./install-polylith-systemd-units.sh
```
Example:
```bash
# ./install-polylith-systemd-units.sh -u dendrite -d /home/dendrite/server/ all
```
* user: dendrite
* path: /home/dendrite/server/
* selection: all
How to start a specific service (e.g clientapi):
```bash
# systemctl start dendrite@clientapi
```
...or all services using a wildcard:
```bash
# systemctl start dendrite@*
```
Monitor with journalctl:
```bash
# journalctl -fu dendrite@clientapi
```
or
```bash
# journalctl -fu dendrite@*
```
Go to [SYSTEMD.md](docs/systemd/SYSTEMD.md) for instructions on how to set up dendrite as a daemonized service.

52
docs/systemd/SYSTEMD.md Normal file
View file

@ -0,0 +1,52 @@
## Systemd setup and usage
#### Manual install
* Edit `docs/systemd/*.service` and copy the file to `/etc/systemd/system/`
* Reload systemd: `systemctl daemon-reload`
_Monolith:_
* Enable the service with: `systemctl enable monolith-example.service`
* Start the service: `systemctl start monolith-example.service`
_Polylith:_
* Enable the services with: `systemctl enable polylith-example@<server>.service` (repeat for each server)
* Start the services: `systemctl start polylith-example@*.service`
___
#### Scripted install (Polylith)
In order to run the whole polylith deployment daemonized with Systemd
the following script can set them up for you **(root-privileges required)**:
```bash
# ./install-polylith-systemd-units.sh
```
Example:
```bash
# ./install-polylith-systemd-units.sh -u dendrite -d /home/dendrite/server/ all
```
* user: dendrite
* path: /opt/dendrite/
* selection: all
How to start a specific service (e.g clientapi):
```bash
# systemctl start dendrite@clientapi
```
...or all services using a wildcard:
```bash
# systemctl start dendrite@*
```
Monitor with journalctl:
```bash
# journalctl -fu dendrite@clientapi
```
or
```bash
# journalctl -fu dendrite@*
```

View file

@ -0,0 +1,14 @@
[Unit]
Description= Dendrite Polylith Multi - %I
PartOf=polyDendrite.service
After=network.target
[Service]
User=dendrite
WorkingDirectory=/opt/dendrite
Type=forking
ExecStart=/opt/dendrite/bin/dendrite-polylith-multi --config=dendrite.yaml %i
Restart=on-failure
[Install]
WantedBy=multi-user.target

View file

@ -60,7 +60,7 @@ function generateServiceUnit()
User=$USER
WorkingDirectory=$DENDRITEDIR
Type=forking
ExecStart=/home/dendrite/server/bin/dendrite-polylith-multi --config=dendrite.yaml %i
ExecStart=$DENDRITEDIR/bin/dendrite-polylith-multi --config=dendrite.yaml %i
Restart=on-failure
[Install]