mirror of
https://github.com/Jackett/Jackett
synced 2024-12-22 15:57:50 +00:00
Replace install_service_macos
https://github.com/Jackett/Jackett/issues/3638
This commit is contained in:
parent
7387679a6f
commit
4d8b55a92f
2 changed files with 80 additions and 0 deletions
77
install_service_macos
Normal file
77
install_service_macos
Normal file
|
@ -0,0 +1,77 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
#Setting up colors
|
||||||
|
BOLDRED="$(printf '\033[1;31m')"
|
||||||
|
BOLDGREEN="$(printf '\033[1;32m')"
|
||||||
|
NC="$(printf '\033[0m')" # No Color
|
||||||
|
|
||||||
|
# Stop and unload the service if it's running
|
||||||
|
launchctl remove org.user.Jackett
|
||||||
|
|
||||||
|
# Move working directory to Jackett's
|
||||||
|
cd "$(dirname "$0")"
|
||||||
|
|
||||||
|
# Check if we're running from Jackett's directory
|
||||||
|
if [ ! -f ./JackettConsole.exe ]; then
|
||||||
|
echo "${BOLDRED}ERROR${NC}: Couldn't locate JackettConsole.exe. Is the script in the right directory?"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
jackettdir="$(pwd)"
|
||||||
|
|
||||||
|
# Check if mono is installed
|
||||||
|
command -v mono >/dev/null 2>&1 || { echo >&2 "${BOLDRED}ERROR${NC}: Jackett requires Mono but it's not installed. Aborting."; exit 1; }
|
||||||
|
monodir="$(dirname $(command -v mono))"
|
||||||
|
|
||||||
|
# Check that no other service called Jackett is already running
|
||||||
|
if [[ $(launchctl list | grep org.user.Jackett) ]]; then
|
||||||
|
echo "${BOLDRED}ERROR${NC}: Jackett already seems to be running as a service. Please stop it before running this script again."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Write the plist to LaunchAgents
|
||||||
|
mkdir -p ~/Library/LaunchAgents/
|
||||||
|
cat >~/Library/LaunchAgents/org.user.Jackett.plist <<EOL
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key>EnvironmentVariables</key>
|
||||||
|
<dict>
|
||||||
|
<key>PATH</key>
|
||||||
|
<string>/usr/bin:/bin:/usr/sbin:/sbin:${monodir}</string>
|
||||||
|
</dict>
|
||||||
|
<key>KeepAlive</key>
|
||||||
|
<true/>
|
||||||
|
<key>Label</key>
|
||||||
|
<string>org.user.Jackett</string>
|
||||||
|
<key>ProgramArguments</key>
|
||||||
|
<array>
|
||||||
|
<string>${monodir}/mono</string>
|
||||||
|
<string>--debug</string>
|
||||||
|
<string>JackettConsole.exe</string>
|
||||||
|
<string>--NoRestart</string>
|
||||||
|
</array>
|
||||||
|
<key>RunAtLoad</key>
|
||||||
|
<true/>
|
||||||
|
<key>WorkingDirectory</key>
|
||||||
|
<string>${jackettdir}</string>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
||||||
|
|
||||||
|
EOL
|
||||||
|
|
||||||
|
# Run the agent
|
||||||
|
launchctl load ~/Library/LaunchAgents/org.user.Jackett.plist
|
||||||
|
|
||||||
|
# Check that it's running
|
||||||
|
if [[ $(launchctl list | grep org.user.Jackett) ]]; then
|
||||||
|
echo "${BOLDGREEN}Agent successfully installed and launched!${NC}"
|
||||||
|
else
|
||||||
|
cat << EOL
|
||||||
|
${BOLDRED}ERROR${NC}: Could not launch agent. The installation might have failed.
|
||||||
|
Please open an issue on https://github.com/Jackett/Jackett/issues and paste following information:
|
||||||
|
Mono directory: \`${monodir}\`
|
||||||
|
Jackett directory: \`${jackettdir}\`
|
||||||
|
|
||||||
|
EOL
|
||||||
|
fi
|
|
@ -53,6 +53,9 @@
|
||||||
<Content Include="..\..\Upstart.config" Visible="false">
|
<Content Include="..\..\Upstart.config" Visible="false">
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
</Content>
|
</Content>
|
||||||
|
<Content Include="..\..\install_service_macos" Visible="false">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|
Loading…
Reference in a new issue