Author Archives: Jeff

.plexignore

I’ve been tinkering with Plex again, and I wanted to add my iTunes music library. Unfortunately, iTunes nests Movies and TV Shows inside of the general music folder, and I had already added those folders as Music and TV Shows libraries in Plex. A little digging turned up the documentation for .plexignore files.

I created a file named ~/Music/iTunes/iTunes Music/.plexignore:

# Ignore Movies
Movies/*

# Ignore TV Shows
TV Shows/*

And I then added ~/Music/iTunes/iTunes Music/ as a Music library in Plex. That seems to have done the trick; the music is now available via Plex without duplication of the movies and TV shows.

Homebridge & Retiring the WUnderground API

With the retirement of the Weather Underground API, I needed to make some changes to my homebridge configuration.

I’ve been using the homebridge-weather-station-extended module to show the outside weather, but that seems to be abandoned, and only offers support for the Weather Underground API. As an alternative, I found the homebridge-weather-plus module. homebridge-weather-plus supports the Dark Sky API, the OpenWeatherMap API, and the Yahoo weather API, in addition to the Weather Underground.

In the end, the configuration was dead simple, per the project’s readme. I added this to my config.json, replacing the XXXs with my API key, and the lat and long with appropriate values:

"platforms": [
    {
        "platform": "WeatherPlus",
        "name": "WeatherPlus",
        "service": "darksky",
        "key": "XXXXXXXXXXXXXXXX",
        "locationGeo": [lat, long],
        "language": "en",
        "units": "imperial",
        "forecast": [1,2,3,4,5,6,7]
    }
]

And with that, I have weather forecasts available to me in the home app again:

Screen capture from macOS Home app

macOS Server VPN Migration

I went to update my iMac to macOS Mojave, and I was reminded that a number of macOS Server services are no longer supported:

[…] in the fall of 2018, new installations and upgrades of macOS Server will require you to migrate most services to other software.

Apple has provided documentation for migrating from macOS Server to open source solutions, and the instructions for moving to vpnd are fairly straightforward:

  1. Turn off VPN in macOS Server (leaving your settings intact).

  2. Create the launchd file /Library/LaunchDaemons/vpn.ppp.l2tp.plist1:

    <?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>Disabled</key>
            <true/>
            <key>EnableTransactions</key>
            <true/>
            <key>Label</key>
            <string>vpn.ppp.l2tp</string>
            <key>KeepAlive</key>
            <true/>
            <key>Program</key>
            <string>/usr/sbin/vpnd</string>
            <key>ProgramArguments</key>
            <array>
            <string>vpnd</string>
            <string>-x</string>
            <string>-i</string>
            <string>com.apple.ppp.l2tp</string>
            </array>
            <key>EnableTransactions</key>
            <false/>
            <key>EnablePressuredExit</key>
            <false/>
        </dict>
    </plist>
    
  3. Set the file ownership to root:wheel2:

    sudo chown root:wheel /Library/LaunchDaemons/ vpn.ppp.l2tp.plist
    
  4. Load the launchd job:

    sudo launchctl load -w /Library/LaunchDaemons/ vpn.ppp.l2tp.plist
    
  5. Verify that the job is running:

    launchctl print system/vpn.ppp.l2tp
    

Once I had completed these steps, macOS Server showed the VPN as running, and my attempts to disable it via the switch would result in it turning right back on. Fortunately, this is the only service I’ve been relying on macOS Server for, since caching was moved into the OS, so my migration was this easy. Replacing some of the other macOS Server services appears to be quite a bit more complicated.


  1. It appears that version 1.2 of the migration instructions have some formatting issues; some of the quotes in the code example have been rendered as smart quotes. 

  2. The migration instructions also mistakenly try to use chmod to change the ownership. 

Hotel Vernon

I just stumbled on this series of videos Narragansett Beer compiled: an oral history of the Hotel Vernon, the Yacht Club, and the speakeasy in the cellar.