diff --git a/public/uk/index.gmi b/public/uk/index.gmi index 8fccc82..88f3e5e 100644 --- a/public/uk/index.gmi +++ b/public/uk/index.gmi @@ -17,6 +17,7 @@ ### Нотатки +=> install-ergo-irc-server-in-linux.gmi 2026-03-14 Встановлення IRC сервера Ergo в Linux => left-oriented-close-tab-button-in-firefox.gmi 2026-03-12 Ліво-стороння орієнтація кнопки "закрити вкладку" в Firefox => crxn-gre-fastd-as-the-alternative-to-crypto-hype.gmi 2026-03-07 CRXN, GRE, fastd як альтернатива крипто-садомазохізму => kellnr-storage-on-usb-drive.gmi 2026-03-03 Спільне сховище Kellnr на флешці USB diff --git a/public/uk/install-ergo-irc-server-in-linux.gmi b/public/uk/install-ergo-irc-server-in-linux.gmi new file mode 100644 index 0000000..5e7afdf --- /dev/null +++ b/public/uk/install-ergo-irc-server-in-linux.gmi @@ -0,0 +1,83 @@ +# Встановлення 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 \ No newline at end of file