Опубликовал небольшой systemd-юнит для быстрого запуска MTProto-прокси, написанного на Go, внутри tmux.
Вообще, я довольно часто пишу такие маленькие файлики-сервисы, а потом забываю, как я их написал, и каждый раз гуглю, как правильно запустить ту или иную вещь через systemd. Да, читать документацию Лёньки для слабаков (а стоило бы).
Вот тут лежит сам файл и небольшая инструкция на английском: вот её дубль на русском языке:
Как использовать этот юнит-файл
- Устанавливаем на сервер tmux. После запуска сервиса состояние
mtg
можно будет посмотреть командойtmux attach -t mtproxy
. - Устанавливаем скомпилированный бинарник mtg в путь
/usr/local/bin/mtproxy
. - Устанавливаем файл
mtproxy.service
в папку/etc/systemd/system/mtproxy.service
. - Пишем ключи для запуска прокси в файл
/etc/mtproxy/arguments
.
Мой работающий файл ключей для запуска прокси выглядит так:
<пароль> -b <IP-адрес> -s
Полный список доступных ключей доступен на странице оригинального приложения.
Почему я не стал использовать environment-файл
Да, я в курсе, что systemd позволяет подхватывать environment-переменные, вот только mtg
работает с ними странно, и мне не удалось без ключа -b
запустить прокси на нужном мне IP-адресе (при любом валидном значении MTG_IP
приложение биндилось на 127.0.0.1). У меня нет времени/желания это разгребать, если кто-то ткнёт меня, как правильно реализовать настройку mtg
через environment, чтобы оно работало (а не как в документации) — буду рад, patches are welcome.