rrichards
6/14/2010 - 7:43 PM

mongodb-install.sh

#!/bin/bash
# run with: curl -s http://gist.github.com/265272.txt | bash
set -e

localdir=$HOME/.mongodb
datadir=$localdir/data
conf=$localdir/mongod.conf
agentdir=$HOME/Library/LaunchAgents
agent=$agentdir/org.mongodb.mongod.plist

brew install mongodb
mongod=$(which mongod)

mkdir -p $datadir
mkdir -p $agentdir

# daemon configuration
echo "dbpath = $datadir
# Only accept local connections
bind_ip = 127.0.0.1" > $conf

# write launchd agent
echo "<?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>org.mongodb.mongod</string>
  <key>ProgramArguments</key>
  <array>
    <string>$mongod</string>
    <string>run</string>
    <string>--config</string>
    <string>$conf</string>
  </array>
  <key>RunAtLoad</key>
  <true/>
  <key>KeepAlive</key>
  <true/>
  <key>WorkingDirectory</key>
  <string>$localdir</string>
  <key>StandardErrorPath</key>
  <string>$localdir/error.log</string>
  <key>StandardOutPath</key>
  <string>$localdir/mongo.log</string>
</dict>
</plist>" > $agent

launchctl load $agent

echo "MongoDB should now be running - check its status at http://localhost:28017/"