Files
Install-Beszel-Agent/install-beszel-service.cmd

34 lines
999 B
Batchfile

@echo off
if !%1==! goto help
if !%2==! goto help
set BESZELKEYPREFIX=%1
set BESZELKEY=%2
set SERVICENAME=BeszelAgent
set DESTINATIONDIR=%ProgramFiles%\%SERVICENAME%
set AGENTEXE=%DESTINATIONDIR%\agent.exe
where nssm.exe >nul 2>&1
if %errorlevel%==1 goto install
goto proceed
:install
winget install nssm
rem Refresh the environment to start nssm from %PATH%
rem Call RefreshEnv.cmd from Chocolatey:
call .\RefreshEnv.cmd
:proceed
md "%DESTINATIONDIR%"
copy .\agent.exe "%DESTINATIONDIR%\" >nul 2>&1
netsh advfirewall firewall add rule name="%SERVICENAME%" dir=in action=allow program="%AGENTEXE%" enable=yes >nul 2>&1
nssm install %SERVICENAME% "%AGENTEXE%" >nul 2>&1
nssm set %SERVICENAME% AppEnvironmentExtra "KEY=%BESZELKEYPREFIX% %BESZELKEY%" >nul 2>&1
nssm start %SERVICENAME% >nul 2>&1
nssm dump %SERVICENAME%
goto end
:help
echo You have to provide a Beszel ssh key, e.g. 'install-beszel-service.cmd ssh-ed25519 AAAAC3L3lIpn94iu2TIpdmneXsEC1TDvrg4HCNoM1aiC683WMZfGOVoatrJSkysaQB9K
:end