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

the-concierge

v5.1.0

Published

Concierge Service

Downloads

9

Readme

Concierge Build Status

User-friendly Docker based Continuous integration and a bit of orchestration with Node.js Previously at paypac/node-concierge

Documentation is available at the-concierge.github.io

What does the Concierge do?

  • It can manage local or remote Docker hosts
  • Provides a simple Web UI for controlling containers, hosts, images and applications
  • Builds Docker images from Git repository branches or tags
  • It uses the Dockerfile provided or a custom Dockerfile elsewhere in the repository to build a Docker image
  • It pushes images to a Docker registry
  • Allows configurable creation of containers from images
  • Monitors memory and CPU usage of containers

How can I contribute?

See the Contribution Guide

How do I set up a Concierge from scratch?

To control your local install of Docker on Windows, Mac or Linux

After starting the concierge:

  • Create a new Host
  • Set the Vanity hostname to localhost, 127.0.0.1 or any other hostname your machine uses
  • That's it!

External Requirements*

  • Docker Registry (Optional)
  • The registry isn't needed for the Concierge to run
  • This registry should be private. I.e., only accessible inside a private network
  • NodeJS 6.4+
  • This is to use the native V8 debugger

Configuration

Environment Variables

  • CONCIERGE_DB_PATH: The path to store the application's SQLite database
  • CONCIERGE_PORT: The port for the HTTP server

Launch with custom values

  • path: Location for the SQLite database
  • port: Port for the HTTP API
# E.g.
> the-concierge --path=/Users/me/concierge.sqlite --port=3141

Installation

Method 1: Global NPM package

Install globally using NPM
When used a command line utility, the Concierge uses PM2 and is run as a daemon.

> npm install the-concierge -g
> the-concierge start
> the-concierge status

Method 2: Docker

Use the public Docker image

# Specify the flag below to keep a local copy of the Concierge SQLite database
# -v /your/host/folder:/concierge/db

# With access to your local Docker socket
> docker run -dt -p 3141:3141 -v /var/run/docker.sock:/var/run/docker.sock --restart=always --name concierge theconcierge/concierge:latest

# Without access to your local Docker socket
> docker run -dt -p 3141:3141 --restart=always --name concierge theconcierge/concierge:latest

Method 3: Manual build

Build and run manually

  • Clone the repository
  • Build the project with yarn or npm
  • With yarn:
    • yarn
    • yarn build
  • With npm
    • npm install
    • npm run build

Running

  • npm start or node .

Configuration Configure the Docker registry URL

  • Navigate to the Configuration View
  • Set Docker: Registry URL to the URL of the Docker Registry
  • See below for instruction for setting up a Docker Registry

How do I set up a Docker registry?

Using the Concierge

You can use the Concierge to pull and run the Docker Registry

  1. Go to the Images view
  2. Click on Pull Image
  3. Enter image name registy and tag latest
  4. Click Pull
  • The image will automatically appear in the Images list once it has been downloaded
  1. Click Run on the registry:latest image in the Images list
  2. Ensure the 5000 port is exposed
  • It is highly recommended to provide a fixed port

Using the scripts provided

In package.json there is create-registry script provided. It will:

  • Create a certificate
  • Create a container from registry:latest and use the previously created certificates

Manually

The simplest way to do this is to use the public Docker image.

  • sudo docker pull registry:latest
  • sudo docker run -d -p 5000:5000 --name=registry -v /var/registry:/var/lib/registry --restart=unless-stopped registry:latest

-d
detached mode. The terminal used to execute the command won't be attached to the new container input/output.

-p hostPort:containerPort
exposed port. allows all hosts and concierges to connect to the registry.

--name
human readable name of the container

--restart=unless-stopped
always restart the container except at startup if the container has been manually stopped

-v hostPath/containerPath
store data from the containerPath on the host at hostPath

registry:latest
the name and tag of the Docker image we are using

I want to create an Image

To create/build an image, the following is required:

  • At least one Host
  • At least one Application
  • (Optional) A private registry is configured
    • This is required to pushing images to your internal registry after a successful build

Hosts

At least one Host is required to create Containers and to build/push images.
See Host.md

Applications

At least one Application should be set up.
See Application.md

Analytics