From 653e1506adb9f1a4bc4da794c4a0c9eac0860c1c Mon Sep 17 00:00:00 2001 From: Adam Strzelecki <ono@java.pl> Date: Wed, 13 Jan 2016 19:32:07 +0100 Subject: [PATCH] OS X launchd script Using this script: 1. Copy scripts/launchd/io.gogs.web.plist into /Library/LaunchDaemons 2. The script assumes Gogs is running under 'gogs' user and group, modify /Library/LaunchDaemons/io.gogs.web.plist if you want to user different user. 3. The script assumes Gogs is installed in /Users/git/gogs, modify /Library/LaunchDaemons/io.gogs.web.plist if you installed Gogs in different location. 4. Once you are sure that running Gogs manually via `gogs web` works fine, run it as a launchd service with: sudo launchctl load -F /Library/LaunchDaemons/io.gogs.web.plist From now on launchd will ensure Gogs is running, eg. when system is restarted. --- scripts/launchd/io.gogs.web.plist | 39 +++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 scripts/launchd/io.gogs.web.plist diff --git a/scripts/launchd/io.gogs.web.plist b/scripts/launchd/io.gogs.web.plist new file mode 100644 index 0000000000..2a5ec7d691 --- /dev/null +++ b/scripts/launchd/io.gogs.web.plist @@ -0,0 +1,39 @@ +<?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>Label</key> + <string>io.gogs.web</string> + <!-- assumes Gogs is running under 'git' account --> + <!-- modify below to reflect your settings --> + <key>UserName</key> + <string>git</string> + <key>GroupName</key> + <string>git</string> + <key>ProgramArguments</key> + <array> + <!-- assumes Gogs is installed in /Users/git/gogs --> + <!-- modify below to reflect your settings --> + <string>/Users/git/gogs/gogs</string> + <string>web</string> + </array> + <key>RunAtLoad</key> + <true/> + <key>KeepAlive</key> + <true/> + <!-- assumes Gogs is installed in /Users/git/gogs --> + <!-- modify below to reflect your settings --> + <key>WorkingDirectory</key> + <string>/Users/git/gogs/</string> + <key>StandardOutPath</key> + <string>/Users/git/gogs/log/stdout.log</string> + <key>StandardErrorPath</key> + <string>/Users/git/gogs/log/stderr.log</string> + <!-- default 256 is too low for Gogs needs using parallel pipes --> + <key>SoftResourceLimits</key> + <dict> + <key>NumberOfFiles</key> + <integer>8192</integer> + </dict> + </dict> +</plist>