Skip to content

Easily host your iOS and Android builds locally!

Notifications You must be signed in to change notification settings

tushgup/Librarian

 
 

Repository files navigation

Librarian

Librarian is an easy way to serve your iOS & Android builds on your local network, and make dogfeeding and testing development versions of your app effortless.

NPM Version

Librarian on iOS

Highlights

  • Support for iOS IPA & Android APK
  • Simple & Quick Setup
  • Clean Web Interface
  • Easily add builds
  • Ability to have Internet accessible Public URLs for builds
  • Instant app installs on the local network, your testers don't have to wait!
  • No more dependency on Crashlytics Beta / Testflight

Install

$ [sudo] npm i -g librarian-server
$ librarian setup

If you can get an EACCESS / Permissions error while while running npm i -g librarian-server, just run sudo npm link librarian-server, before running librarian setup.

The setup will ask you a few questions to configure Librarian on your system. You can just press return throughout the process to choose the default values.

Usage

Starting Librarian

Run the following command to start the Librarian server.

$ librarian start

This will start the web interface, and will print the URL to it on the console, along with a QR code to the URL for quick access 😁

Librarian uses ngrok tunneling to serve your localhost over the Internet using a secure HTTPS tunnel. Also, HTTPS is mandatory for iOS Builds to work.

Submitting Builds

Submit builds to Librarian using:

$ librarian submit <pathToFile> [options]

The pathToFile must be the full path to the IPA or APK file. Example: /Users/jenkins/MyApp.ipa, and should be accessible by Librarian.

You can pass in the following additional options along with the path of the build file.

Option Short Example Description
--branch <branch> -b --branch master git branch the build is from
--notes <notes> -n --notes "Release Candidate Build" release notes for the build
--public -p Just add the flag --public allow the build to be downloaded over the HTTPs tunnel (by default, builds can only be downloaded on the local network)

Librarian will autodetect the type of build iOS / Android using the file extension, will create a copy of the build in it's assets, and make it available for download on it's web interface.

The Librarian server should be running while submitting a build.

Updating Librarian

Librarian follows semantic versioning. You can update by running:

$ npm i -g librarian-server
$ librarian update

Contributing

Librarian is built up of two parts:

  • Librarian - The Command Line tool, written in NodeJS (this repository).
  • Librarian Web - The Web Interface of Librarian, built in Jekyll.

Maintainers

Developed by biocross & designed by madebytushar

License

MIT

About

Easily host your iOS and Android builds locally!

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%