Quantcast
Channel: CodeSection,代码区,Linux操作系统:Ubuntu_Centos_Debian - CodeSec
Viewing all articles
Browse latest Browse all 11063

Running gogs as a service on macos os x server

$
0
0

Running gogs as a service on macos os x server
This guides explains how you can run Gogs git server as a service on your Mac using launchd . Command line tools

First you need to install Xcode from the Mac App Store . Once installed, you also need the Command Line Tools , you can initiate the download process by executing $ xcode-select --install in the Terminal.

The command line tools include Git.

mysql or PostgreSQL server

You also need a database server for Gogs. You can install MySQL using MacPorts. A good tutorial can be found here .

You can alternatively run MariaDB instead of MySQL. My blogposts about MAMP (using MacPorts) includes a section about MariaDB.

Installing and configuring Gogs

I could try to write a good tutorial here, but the developers of Gogs already made a very nice tutorial about how you can install and configure Gogs. Read it here .

Launchd config

Create a launchd config file ~/Library/LaunchAgents/io.gogs.web.plist

<?xml version=”1.0" encoding=”UTF-8"?>
<!DOCTYPE plist PUBLIC “-//Apple Computer//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>
<key>EnvironmentVariables</key>
<dict>
<key>HOME</key>
<string>/Users/mathias</string>
</dict>
<key>ProgramArguments</key>
<array>
<string>sh</string>
<string>-c</string>
<string>cd /Users/mathias/Sites/gogs; ./gogs web</string>
</array>
<key>UserName</key>
<string>mathias</string>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<true/>
<key>WorkingDirectory</key>
<string>/Users/mathias</string>
<key>StandardOutPath</key>
<string>/Users/mathias/Sites/gogs/launchd.log</string>
<key>StandardErrorPath</key>
<string>/Users/mathias/Sites/gogs/launchd_error.log</string>
</dict>
</plist>

You can now start and stop Gogs using the following commands:

$ launchctl load ~/Library/LaunchAgents/io.gogs.web.plist
$ launchctl unload ~/Library/LaunchAgents/io.gogs.web.plist HTTPS proxy

I then run Caddy in front of Gogs to use Caddy’s built-in automated HTTPS support. My git subdomain is then a reverse proxy to Gogs:

git.my-domain.com {
proxy / http://localhost:3000
}

More info about running Caddy as a service can be found in this blogpost: Running Caddy as a service on macOS X server .


Viewing all articles
Browse latest Browse all 11063

Trending Articles