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

shasoco

v0.3.0

Published

Easily manage your Shared-Source Consortium infrastructure

Downloads

7

Readme

shasoco

Easily manage your Shared-Source Consortium infrastructure

Vision

Shasoco is a solution for managing a shared-source consortium infrastructure:

  • self-hosted
  • based on open technologies

It is developed as a utility on the command line.

Features

  • easy to deploy
  • easy to upgrade
  • easy to migrate

Services

  1. wordpress
  2. LDAP server (fusiondirectory)
  3. gitlab community
  4. redmine
  5. forum
  6. https file server (with authentication)

Service 3,4,5,6 use the LDAP server for authentication (same login/password for all services)

A reverse proxy (nginx/haproxy) do the routing depending on the hostname.

CLI interface

Shasoco requires the latest version of docker.

To install the cli tool:

$ curl “http://whatever” > /usr/bin/shasoco
$ chmod +x /usr/bin/shasoco

Find below the supported command line options.

$ shasoco deploy myconsortium.org [--port 80] [--version 1.0.1] [--from-backup backup_20151231.tgz]

  • Start the services
  • Exposes them on port 80 (default)
  • Wordpress can be accessed at www.DOMAIN, gitlab at gitlab.DOMAIN, etc.

$ shasoco ps

List running stacks. Example output: myconsortium.org apache.org

$ shasoco upgrade myconsortium.org [--version 1.4.24]

  • Update services (images) at a given shasoco version
  • Run upgrade scripts for each service
  • Restart the stack

The services can be unavailable during the upgrade.

$ shasoco backup myconsortium.org --output backup_20151231.tgz

Save a backup to disk.

$ shasoco restore myconsortium.org --from-backup backup_20151231.tgz

Requires that the backup be the same shasoco version than the running stack.

$ shasoco stop myconsortium.org

Stop the servers, do not destroy data.

$ shasoco rm myconsortium.org

Delete all data. But not the backups!

Internal details / ideas

The shasoco tool can:

  • be written in bash / python.
  • run into a privileged docker container.
    • the shasoco image can be pulled during upgrade and deploy.
    • --version can be used to force running a given docker tag of the shasoco image.
    • docker-compose itself can be run from this docker image

Content of a backup

VERSION - version number of shasoco running this backup volumes/ - content of data-containers volumes

Various discoveries

A infrastructure project with gitlab, ldap and fusiondirectory (ldap manager) https://github.com/kodare/infrastructure Probably a good starting point.

For developers

To rebuild the image:

npm run build

To tag the image:

docker tag jeko/shasoco:latest jeko/shasoco:0.0.1