Запуск tuna как сервис
Фоновый запуск полезен, если вы хотите организовать постоянный доступ извне к службам или панели управления на удалённом компьютере.
Создание и управление сервисами
Создание и управление сервисами доступно во всех поддерживаемых платформах.
Для создания работы с сервисами используется команда tuna service
или tuna svc
.
Все актуальные флаги, подсказки и примеры можно посмотреть вызвав справку:
tuna service --help
tuna service install --help
tuna service start --help
tuna service restart --help
tuna service stop --help
tuna service uninstall --help
Создание сервиса
В Windows нужно выполнять команды в PowerShell от имени администратора, в Linux и FreeBSD потребуется sudo или root пользователь. В macOS сервис создаётся под текущим пользователем и привилегии не нужны.
Команда tuna service install
указывает, что нужно зарегистрировать новый сервис. Можно создать несколько сервисов с разными именами, передавая имя через флаг --name
или переменную окружения TUNA_SERVICE_NAME
, по умолчанию tuna. После --
описывается команда которая будет запускаться в сервисе.
tuna service install -- tuna --config=С:\Users\Administrator\AppData\Local\tuna\tuna.yml http 8080 --subdomain=web
В примере выше явно передан полный путь к конфигурационному файлу, это может быть необходимо так как сервис создаётся из под администратора, а файл с токеном находится в профиле текущего пользователя. С большей вероятностью это потребуется в Windows, Linux и FreeBSD и не потребуется в macOS. Также вы можете передать токен явно в аргументах:
tuna service install --name=tuna-web -- tuna http 8080 --subdomain=web --token=<tt_ваш_токен>
Для большей безопасности в Linux, FreeBSD и macOS токен будет вырезан из аргументов запуска и передан как переменная окружения, так что вы не увидите токен в списке процессов.
Так как в Windows, Linux и FreeBSD сервис создаётся от привилегированного пользователя, по умолчанию процесс будет также запущен от него, в целях безопасности не рекомендуется запускать tuna от привилегированного пользователя. Поэтому вы можете указать явно пользователя от имени которого будет запускать ся процесс с помощью флага --user
или переменную окружения TUNA_SERVICE_INSTALL_USER
. В Windows также может потребоваться передать и пароль пользователя с помощью флага --password
или переменную окружения TUNA_SERVICE_INSTALL_PASSWORD
.
tuna service install --user=ubuntu -- tuna http 8080 --subdomain=web --token=<tt_ваш_токен>