This Rack application implements the server side component for Squirrel.Mac. It is Heroku compatible and should get you started setting up your own Squirrel server.
Updates are read from db/releases.json
which is a JSON array of Squirrel
releases. Add your releases to this file before running or deploying.
- Run
script/bootstrap
. - Run
script/server
The updates are served locally for testing, to use your local server set your
update URL host to localhost:9393
for testing, see
Configuring your client.
- Install the Heroku Toolbelt.
- Run
script/heroku-deploy
to create the app on Heroku and push the code.
Once you've deployed your sever, you need to configure a client to query it for updates.
The example server compares a version
query parameter to determine whether an
update is required.
The update resource is /releases/latest
, configure your client
SQRLUpdater.updateRequest
:
NSURLComponents *components = [[NSURLComponents alloc] init];
components.scheme = @"http";
BOOL useLocalServer = NO;
if (useLocalServer) {
components.host = @"localhost";
components.port = @(9393);
} else {
components.host = @"my-server.herokuapp.com";
}
components.path = @"/releases/latest";
NSString *bundleVersion = NSBundle.mainBundle.sqrl_bundleVersion;
components.query = [[NSString stringWithFormat:@"version=%@", bundleVersion] stringByAddingPercentEncodingWithAllowedCharacters:NSCharacterSet.URLQueryAllowedCharacterSet]
self.updater = [[SQRLUpdater alloc] initWithUpdateRequest:components.URL];