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

shed-host

v2.0.1

Published

CLI app for running and managing a Shared Hosting Environment on Docker

Downloads

4

Readme

Shed

simple local PHP development

WARNING: This project started as a PHP project and is still in the process of being ported to Javascript. The Javascript version is mostly untested, unfinished, and undocumented. You might want to wait.

Quick Start

  1. You need Docker and NPM installed.
  2. npm install -g shed-host
  3. Edit your shed .env to specify your sites folder.
  4. shed up -d

Introduction

Shed provides a platform for simple, local, PHP development, in the same kind of way MAMP, Laravel Valet, or Homestead does.

  • Shed uses Docker, and runs on every platform Docker does.
  • Shed treats folders as sites, so adding a site is just making a folder.
  • Shed makes use of wildcard DNS, so no configuration is required to add sites to Shed.
  • Shed runs real Linux, Apache, MySQL, PostgreSQL and PHP, so your local environment matches production.

It's designed to provide a set-it-and-forget-it platform for local, PHP development.

Setup

To run Shed, you only need to be able to run Docker and NPM. Shed is not tested on Windows yet, but Shed plans to support Windows, Linux, and OS X.

Default Enviroment

There is a .env file in the shed's directory that must be edited by hand for now, until shed config is ported over from the PHP version.

Usage

Start Shed by running shed up or shed up -d. Once it's running, you can access your projects based on their folder names. For example, To access Projects/example.com, I would go to

  • http://example.com.shed.host

That's it. If you don't want to use shed.host, you can use any of the following:

Shed assumes that the document root for all your projects is <projectfolder>/public. If you use docroot/ instead, you can try creating a symlink like this:

$ ln -s public docroot

How this works

*.shed.host is setup using wildcard DNS to point to 127.0.0.1 - one of the IPs designed to always point to your own local system (localhost.) This eliminates any need to etc your /etc/hosts file.

Within Shed's apache container, it uses mod_vhost_alias to map these subdomains back to separate virtualhosts. This means that there's no new apache configuration required.

Special Subdomains

There are two groups of special domains:

  1. shed.host and www.shed.host get you to Shed's website.
  2. my.shed.host and shed.shed.host get you to Shed's local, internal site. This is where you can find Adminer and Webgrind.

Adminer

Adminer is a lightweight webapp for managing databases, including both MySQL and PostgreSQL. The latest release of Adminer is included in Shed.

You can login by going to http://my.shed.host/ and clicking the relevant link, or:

  • MySQL: host is mysql, username is root, no password
  • PostgresSQL: host is postgres, username is postgres, no password

XDebug and Webgrind

XDebug and Webgrind are setup within Shed as well. You can trigger XDebug profiling by adding ?XDEBUG_PROFILE=1 to the end of a URL.

You can view That profile with Webgrind by going to

  • http://my.shed.host/webgrind/