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

arika-deploy

v0.10.19

Published

Zero-config deployment tool for Node.js apps (PM2 + Nginx/Apache + SSL)

Readme

Arika Deploy 🚀

Zero-config deployment tool for ArikaJS apps — PM2 + Nginx/Apache + SSL, fully automated.

Arika Deploy is a developer-first deployment tool. You built your app with ArikaJS — now deploy it to a real server in minutes, without touching Nginx configs, PM2 setup, or SSL certificates manually.

npm install -g arika-deploy
arika deploy

That's it. ✅


📋 Table of Contents


🔍 How It Works

Developer's Machine          Linux Server
      │                           │
      │  git push / scp           │
      │ ─────────────────────────>│
      │                           │
      │                    arika deploy
      │                           │
      │                   ┌───────▼────────┐
      │                   │  PM2 (Node App)│
      │                   └───────┬────────┘
      │                           │
      │                   ┌───────▼────────┐
      │                   │ Nginx / Apache  │
      │                   └───────┬────────┘
      │                           │
      │                   ┌───────▼────────┐
      │                   │  SSL (HTTPS)   │
      │                   └───────┬────────┘
      │                           │
   Browser ──────────────────────>│ https://example.com

🚀 Complete Deployment Guide (Step by Step)

This guide takes you from zero → live HTTPS app on a Linux server.


Step 1 — Get a Linux Server

You need a VPS (Virtual Private Server). Recommended providers:

Recommended: Ubuntu 22.04 LTS, minimum 1GB RAM.


Step 2 — Point Your Domain to the Server

Go to your domain registrar's DNS settings and add an A Record:

| Type | Name | Value | |------|------|-------| | A | @ | YOUR_SERVER_IP | | A | www | YOUR_SERVER_IP |

⏳ DNS propagation can take 5–30 minutes.


Step 3 — Connect to Your Server

ssh root@YOUR_SERVER_IP

Step 4 — Install Node.js on the Server

# Install Node.js 20 (LTS)
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs

# Verify
node -v   # v20.x.x
npm -v    # 10.x.x

Step 5 — Install Arika Deploy (Global)

npm install -g arika-deploy

Verify installation:

arika help

Step 6 — Upload Your ArikaJS App to the Server

Option A — Clone from Git (Recommended)

cd /var/www
git clone https://github.com/your-username/your-app.git
cd your-app

Option B — Upload via SCP from your local machine

scp -r ./my-app root@YOUR_SERVER_IP:/var/www/my-app

Step 7 — Set Up Environment Variables

cd /var/www/your-app
cp .env.example .env
nano .env

Set your production values:

NODE_ENV=production
PORT=3000
DB_HOST=localhost
APP_KEY=your-secret-key

Step 8 — Run Doctor (Health Check)

Before deploying, verify your server has everything needed:

arika doctor

Expected output on a fresh server:

🩺 Arika Deploy — Doctor

  ✅ Node.js installed (>=16)
  ✅ npm installed
  ❌ PM2 installed
     👉 Run: npm install -g pm2
  ❌ Nginx installed
     👉 Run: sudo apt install nginx
  ❌ Certbot (SSL) installed
     👉 Run: sudo apt install certbot python3-certbot-nginx
  ✅ Git installed

Fix any missing tools, then run arika doctor again until all are ✅.


Step 9 — Deploy 🚀

cd /var/www/your-app
arika deploy

First time — it will ask you a few questions:

📋 First-time setup (answers saved for next run):

  Domain(s) [comma separated, e.g. example.com,www.example.com]: example.com,www.example.com
  App port [default: 3000]:
  Entry file [default: server.js]:
  Web server [nginx/apache/none, auto-detected: nginx]:
  Enable SSL (Let's Encrypt)? [Y/n]: Y

Then it runs automatically:

🚀 Arika Deploy
─────────────────────────────────
  ✔ Config saved to .arika/config.json

[1/5] Checking environment...     ✔
[2/5] Installing dependencies...  ✔
[3/5] Starting app with PM2...    ✔
[4/5] Configuring web server...   ✔
[5/5] Setting up SSL...           ✔

─────────────────────────────────
✅ App running at https://example.com

Step 10 — Verify It's Running

arika status      # PM2 process list
arika logs        # Live logs

Open your browser: https://example.com 🎉


Next Deployments (Fully Automatic)

After the first deploy, every future deploy is one command — no questions asked:

git pull
arika deploy --yes

Config is saved in .arika/config.json — everything is remembered.


🔧 Commands Reference

| Command | Description | |---------|-------------| | arika deploy | Deploy the app (interactive first time) | | arika deploy --yes | Deploy using saved config (no prompts) | | arika deploy --nginx | Force Nginx as web server | | arika deploy --apache | Force Apache as web server | | arika deploy --no-ssl | Skip SSL setup | | arika logs | View live logs | | arika logs --error | View error logs only | | arika status | Show PM2 process status | | arika restart | Restart the app | | arika stop | Stop the app | | arika remove | Remove the full deployment | | arika doctor | Check environment health |


⚙️ Configuration

After first deploy, config is saved at .arika/config.json:

{
  "name": "my-app",
  "domains": ["example.com", "www.example.com"],
  "port": 3000,
  "server": "nginx",
  "ssl": true,
  "entry": "server.js"
}

Edit this file anytime to change settings, then run arika deploy --yes.


🌐 Web Server Config

Nginx (Auto Generated)

server {
    listen 80;
    server_name example.com www.example.com;

    location / {
        proxy_pass http://localhost:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}

Apache (Auto Generated)

<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com

    ProxyPass / http://localhost:3000/
    ProxyPassReverse / http://localhost:3000/
</VirtualHost>

🔐 SSL Setup

Arika Deploy uses Let's Encrypt (free SSL) via Certbot:

  • Auto installs Certbot if missing
  • Generates certificate for all your domains
  • Enables automatic HTTPS redirect
  • Auto renewal configured

⚠️ SSL requires your domain's DNS to be pointing to the server before running deploy.


❌ Common Errors

Port Already in Use

❌ Port 3000 is busy
👉 Change PORT in your .env file or edit .arika/config.json

Permission Denied

❌ Permission denied
👉 Try: sudo arika deploy

SSL Failed

❌ Domain not pointing to server
👉 Fix your DNS A record to point to this server's IP
👉 Wait 5–30 minutes for DNS to propagate, then retry

Nginx not installed

❌ Nginx not installed
👉 Run: sudo apt install nginx

⚠️ Requirements

  • Node.js >= 16
  • Linux server (Ubuntu 20.04+ recommended)
  • Root or sudo access
  • Domain pointing to your server (for SSL)

📁 Project Structure

your-app/
├── .env                  ← Environment variables
├── .arika/
│   └── config.json       ← Auto-generated deploy config
├── server.js / app.js    ← App entry point
└── package.json

📦 Installation

npm install -g arika-deploy

🔮 Future Roadmap

  • Remote deploy (--host) — deploy from local machine directly
  • CI/CD integration (GitHub Actions support)
  • Docker support
  • Git-based auto deploy (webhook trigger)
  • Dashboard UI

🤝 Contributing

Pull requests are welcome. Please open an issue first for major changes.


📄 License

MIT


💡 Vision

Arika Deploy is not just a deployment tool. It aims to become a Node.js deployment platform where developers focus only on code — not infrastructure.

🔥 Built for developers who hate DevOps complexity.