gemlog/public/uk/install-ergo-irc-server-in-linux.gmi
2026-03-14 03:21:20 +02:00

83 lines
No EOL
3.5 KiB
Text
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Встановлення IRC сервера Ergo в Linux
Віднедавна запустив сервер, багато писати не буду - бо тут все просто і детально розжовано в коментах файлу конфігурації.
Сервер Ergo написано мовою Go, тому при збірці останньої версії з репозиторію, починати потрібно з актуалізації останньої версії:
=> install-latest-golang-version-on-debian-linux.gmi Встановлення останньої версії Go в Debian
Далі виконується `make` і отримується бінарник `ergo`, який в свою чергу переміщується до канонічного розташування:
``` bash
sudo install ./ergo /usr/local/bin
```
Оскільки доки я не читав, systemd в мене виглядає так:
```
[Unit]
Description=Ergo IRC server
After=network.target
[Service]
Type=simple
User=ergo
Group=ergo
WorkingDirectory=/var/lib/ergo
ExecStart=/usr/local/bin/ergo run --conf /etc/ergo.yaml
StandardOutput=file:///var/log/ergo/debug.log
StandardError=file:///var/log/ergo/error.log
Restart=on-failure
[Install]
WantedBy=multi-user.target
```
* тут ключовим моментом є `WorkingDirectory`, де по суті зберігається база даних рушія `ircd.db`
* файл `/etc/ergo.yaml` створюється на базі `./default.yaml` і правиться під свої потреби
* `StandardOutput` пишеться в `StandardError` - тут може варто поставити на перший `null`
Юзера створив командою, без домашньої теки і племені:
``` bash
useradd -s /usr/sbin/nologin -Mr ergo
```
Для коректної роботи системного сервісу, руками додано такі розташування:
``` bash
mkdir /var/lib/ergo
mkdir /var/log/ergo
```
І виставлено права:
``` bash
chown ergo:ergo /var/lib/ergo
chown ergo:ergo /var/log/ergo
chown ergo:ergo /etc/ergo.yaml
chmod +x /usr/local/bin/ergo
```
Керування сервісом стандартно:
* `systemctl restart ergo` - (пере) запуск
* `systemctl enable ergo` - авт-запуск при старті системи
* `systemctl status ergo` - перевірка статусу
Не забуваємо про фаєрвол, для мереж Yggdrasil і Mycelium, команда `ufw` в мене виглядає так:
``` bash
ufw allow from 0200::/7 to 202:68d0:f0d5:b88d:1d1a:555e:2f6b:3148 port 6667 proto tcp
ufw allow from 0400::/7 to 505:6847:c778:61a1:5c6d:e802:d291:8191 port 6667 proto tcp
```
## Посилання
=> https://github.com/ergochat/ergo
### Дивіться також
=> ukrainian-irc.gmi Локальні канали IRC
=> connecting-znc-bouncer-to-libera-chat-irc-via-tor.gmi Підключення баунсера ZNC до Libera.Chat/IRC через Tor
=> custom-proxy-option-per-server-in-the-halloy-irc.gmi Реалізував опцію вибіркового проксі в IRC-клієнті Halloy
=> soju-irc-bouncer-setup.gmi Встановлення та базове налаштування IRC-баунсера soju в Linux
=> znc-irc-bouncer-setup.gmi Встановлення та налаштування IRC-баунсера ZNC в Linux