npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

strider

v2.4.20

Published

Brilliant continuous deployment platform

Downloads

37

Readme

Strider

NPM Code Climate Dependency Status Build Status

General Requirements

Note: Installing on OS X might require XCode to be installed.

  • The package krb5-devel/libkrb5-dev might have to be installed to resolve Kerberos related build issues on some systems.

Running on Infrastructure

Make sure you have MongoDB installed on your system. You can get the latest version at mongodb.org.

Next you will need Node.JS. You can get binary packages for most platforms at nodejs.org.

Once you have Node.JS on your system, you can fetch & install all the dependencies for your Strider clone by executing the following command in the project root:

npm install

Note: Sometimes there are issues with permissions and installing global modules, in those cases run npm config set prefix ~/npm to set your global modules directory to '~/npm'. You will also have to add ~/npm/bin to your PATH environment variable.

Configuring

Strider configuration comes from environment variables. Most of the default values should work fine for running on localhost, however for an Internet-accessible deployment the following variables will need to be exported:

  • SERVER_NAME - Required; Address at which server will be accessible on the Internet. E.g. https://strider.example.com (note: no trailing slash, and included protocol)
  • DB_URI - MongoDB DB URI (with port number if local, e.g. localhost:27017) if not localhost (you can also use MongoDB Atlas)

You might need to follow these instructions if you use any of these, please do so before filing issues.

See additional configuration for all options.

Adding Initial Admin User

Strider isn't much use without an account to login with. Once you create an administrative user, you can invite as many other people as you like to your instance. There is a simple CLI subcommand to help you create the initial user:

node bin/strider addUser

Example run:

$ node bin/strider addUser
Enter email []: [email protected]
Is admin? (y/n) [n]: y
Enter password []: *******

Email:    [email protected]
Password: ****
isAdmin:  true
OK? (y/n) [y]:
22 Oct 21:21:01 - info: Connecting to MongoDB URL: mongodb://localhost:27017/strider-foss
22 Oct 21:21:01 - info: User added successfully! Enjoy.

See the cli readme for more details.

Starting Strider

Once Strider has been installed and configured, it can be started with:

NODE_ENV=production npm start

Resources

  • Strider Tutorial Series - Extensive guides about Strider covering platform setup, 3rd party integrations (GitHub, GitLab, etc), continuous deployments (Heroku, SSH), notifications (email, Slack, HipChat), how to create your own Strider plugin and many more.
  • Strider on DigitalOcean - Covers setting up an Ubuntu machine with Strider using upstart.
  • Strider plugin template - Simple setup for getting started with your own plugin.
  • Panamax Strider template - Strider template for use with Panamax.

Advanced Topics

Advanced topics are located in the Wiki, here's a small subset of what's covered:

LDAP

If you want to connect to your ldap server to authorization
you can also add the ldap.json config file to project root
the config like so:

 {
    "url": ldap://host:port,
    "baseDN": dnString,
    "username": username,
    "password": password,
    // If you want to set a admin group
    "adminDN": dnString
 }

Remove // comments from the config to use it

Additional Configurations

  • HOST - Host where strider listens, optional (defaults to 0.0.0.0).
  • PORT - Port that strider runs on, optional (defaults to 3000).
  • CONCURRENT_JOBS - How many jobs to run concurrently (defaults to 1). Concurrency only works across different project and branch combinations. So if two jobs come in for the same project and branch, concurrency will always be 1.
  • STRIDER_CLONE_DEST - Where the repositories are cloned to (defaults to ~/.strider)
  • HTTP_PROXY - Proxy support, optional (defaults to null)
  • If you want email notifications, configure an SMTP server (we recommend Mailgun for SMTP if you need a server - free account gives 200 emails / day):
    • SMTP_HOST - SMTP server hostname e.g. smtp.example.com
    • SMTP_PORT - SMTP server port e.g. 587 (default)
    • SMTP_SECURE - SMTP server TLS or SSL ("true" or "false")
    • SMTP_USER - SMTP auth username e.g. "myuser"
    • SMTP_PASS - SMTP auth password e.g. "supersecret"
    • SMTP_FROM - Default FROM address e.g. "Strider [email protected]" (default)
  • BODY_PARSER_LIMIT - Increase the maximum payload size that our body parser will attempt to parse. Useful for github web hooks.
  • DEBUG - Set this to strider* to enable all debug output. This is very helpful when troubleshooting issues or finding the cause of bugs in Strider. For more information see https://www.npmjs.com/package/debug
  • JOBS_QUANTITY_ON_PAGE_ENABLED - Whether users can set quantity in Account Management
  • JOBS_QUANTITY_ON_PAGE_DEFAULT - Number of jobs to display when not enabled
  • JOBS_QUANTITY_ON_PAGE_MIN - Minimal value
  • JOBS_QUANTITY_ON_PAGE_MAX - Maximum value

API Documentation

An effort has been started to document the existing REST API, and to have versioned documentation going forward. We use apiDoc for the documentation.

To build the documentation run npm run docs and the documentation will be accessable from apidocs/index.html.

View Strider API Docs

Support & Help

We are responsive to Github Issues - please don't hesitate submitting your issues here!

For live help check out Strider's Gitter.