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 🙏

© 2026 – Pkg Stats / Ryan Hefner

@flying-pillow/cli

v0.1.0-beta.9

Published

Flying Pillow installation CLI

Readme

Flying Pillow CLI

The official command-line interface for installing, configuring, and managing the Flying Pillow platform.

This tool streamlines the deployment of the Flying Pillow monorepo, handling source code retrieval, environment configuration, SSL certificates, and Docker orchestration across Development, Staging, and Production environments.

Version License

🚀 Quick Start (Installation)

To install the Flying Pillow platform on a new server or local machine, you do not need to clone the repository manually. The CLI handles everything.

Run the installer via npx:

# Install the latest beta version
npx @flying-pillow/cli@beta install

What this does:

  1. Downloads the correct source code version from GitHub.
  2. Extracts it to your specified directory.
  3. Launches an interactive configuration wizard to set up:
    • Domain names and SSL (Let's Encrypt or Local).
    • System credentials.
    • Docker networking and environment variables.
  4. Starts your selected services.

🛠 Management (Day-2 Operations)

Once installed, you use the CLI to manage the lifecycle of your environments.

Option A: Global Installation (Recommended)

For the best experience, install the CLI globally so the fp command is available anywhere.

npm install -g @flying-pillow/cli@beta

Option B: Run via NPX

If you prefer not to install globally, you can execute commands inside your installation directory using npx:

cd /path/to/flying-pillow
npx @flying-pillow/cli@beta <command>

📖 Command Reference

fp install [gateway]

Runs the full installation wizard.

  • fp install: Installs the full stack (Gateway + App Environments).
  • fp install gateway: Configures only the Gateway (Traefik, DNS, TLS) service.

fp up <target>

Starts the services for a specific environment. Handles Docker networking and volume mounts automatically.

  • Targets: gateway, dev, staging, prod
  • Example: fp up prod

fp down <target>

Stops and removes the containers for a specific environment.

  • Example: fp down staging

fp rebuild <target> [services...]

Forces a rebuild of Docker images for specific services. Useful after updating code or configuration.

  • Example: fp rebuild prod app wss (Rebuilds only the App and Websocket services in Production)

fp logs <target> [service]

Tails the logs for an environment or a specific service.

  • Example: fp logs gateway (View Traefik logs)
  • Example: fp logs prod app (View logs for the main application container)

fp backup <target>

Performs a full backup of the SurrealDB database (Global + all Tenants) for the specified environment.

  • Targets: dev, staging, prod
  • Example: fp backup prod
  • Configuration:
    • Uses CONFIG_PATH from your .env file by default.
    • Can be overridden by setting BACKUP_FOLDER in your .env file.
    • The CLI will interactively confirm the backup location before proceeding.
  • Output: Backups are stored in <backup-folder>/backups/<timestamp>/.
    • Includes .surql exports for Global and all Tenant databases.
    • Includes a copy of the raw data folders for each tenant (with ownership preserved).
    • Includes backup_info.json with metadata (date, system version, tenant list).

fp upgrade

Automates the upgrade process by fetching the latest source code while preserving your existing .env configurations and data volumes. Note: This command automatically performs a full system backup before applying any changes.


📋 Prerequisites

Before running the CLI, ensure your system meets these requirements:

  • OS: Linux (Ubuntu/Debian recommended) or macOS.
  • Node.js: Version 22 or higher.
  • Docker: Engine 24+ with Docker Compose Plugin (docker compose).
  • Permissions: User must be in the docker group (Linux) to run containers without sudo.

🔒 Security & Ports

The CLI configures a secure Gateway (Traefik) to route traffic. Ensure the following ports are open on your host:

  • 80 / 443: HTTP/HTTPS traffic (handled by Gateway).
  • 8080: SurrealDB (if running in Dev mode).
  • Other: Specific services may expose internal ports in Dev mode (e.g., 5678 for debugging).

📄 License

This CLI is distributed under the ISC License.