easy-vps 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +114 -0
  2. package/package.json +1 -1
package/README.md ADDED
@@ -0,0 +1,114 @@
1
+ # easy-vps
2
+
3
+ Install dependencies, point domains, deploy apps and run Postgres on a VPS from one UI.
4
+
5
+ easy-vps is a control panel that runs on your server and gives you a web interface for
6
+ managing nginx, pm2, docker, certbot, and PostgreSQL, plus deploying apps and pointing
7
+ domains — all from a single dashboard.
8
+
9
+ ## Requirements
10
+
11
+ - A Linux server (systemd-based distros recommended: Ubuntu, Debian, etc.)
12
+ - **Node.js >= 18** (the `easy-vps` CLI requires it)
13
+ - `npm` (ships with Node.js)
14
+ - `root`/sudo access if you want the panel to run as a systemd service and open its
15
+ firewall port automatically. Without root it still runs as a background process,
16
+ just without service management and firewall changes.
17
+
18
+ Optional, used by their respective features:
19
+
20
+ - `nginx` + `certbot` — domain / HTTPS management
21
+ - `pm2` or `docker` — app deployment
22
+ - `postgres` — managed databases
23
+ - `ufw` — automatic firewall port opening
24
+
25
+ ## Install
26
+
27
+ Install globally from npm:
28
+
29
+ ```bash
30
+ npm install -g easy-vps
31
+ ```
32
+
33
+ The `postinstall` script automatically:
34
+
35
+ 1. Verifies the package payload
36
+ 2. Prepares the web UI
37
+ 3. Opens the panel's port in `ufw` (when run as root with an active firewall)
38
+ 4. Starts the panel as a background service (systemd when available, otherwise a
39
+ detached process)
40
+
41
+ When it finishes, open the printed URL in your browser:
42
+
43
+ ```
44
+ http://<your-server-ip>:41556/
45
+ ```
46
+
47
+ ### Install from source
48
+
49
+ ```bash
50
+ git clone <repo-url> easy-vps
51
+ cd easy-vps
52
+ npm install
53
+ npm run build
54
+ node bin/cli.js start
55
+ ```
56
+
57
+ > The web UI is prebuilt in the published tarball. From a source checkout the UI is
58
+ > built from `client-ui/` during `npm run build`.
59
+
60
+ ## Commands
61
+
62
+ The `easy-vps` command exposes the following subcommands:
63
+
64
+ ```bash
65
+ easy-vps # run the panel in the foreground (default)
66
+ easy-vps start # start the panel in the background
67
+ easy-vps stop # stop the background panel
68
+ easy-vps restart # restart the background panel
69
+ easy-vps status # show whether the panel is running
70
+ easy-vps logs # print the path to the panel log
71
+ easy-vps uninstall # stop the panel and remove its service
72
+ easy-vps --help # show full help
73
+ ```
74
+
75
+ ### Options
76
+
77
+ ```bash
78
+ -p, --port <port> Port to listen on (default: 41556, env: EASY_VPS_PORT)
79
+ --host <host> Address to bind (default: 0.0.0.0, env: EASY_VPS_HOST)
80
+ -v, --version Print version
81
+ -h, --help Show help
82
+ ```
83
+
84
+ Example:
85
+
86
+ ```bash
87
+ easy-vps start --port 8080 --host 127.0.0.1
88
+ ```
89
+
90
+ ## Configuration
91
+
92
+ | Variable | Default | Description |
93
+ | -------------------- | ----------- | ------------------------------------ |
94
+ | `EASY_VPS_PORT` | `41556` | Port the panel listens on |
95
+ | `EASY_VPS_HOST` | `0.0.0.0` | Address the panel binds to |
96
+ | `EASY_VPS_NO_AUTOSTART` | _unset_ | Set to skip the postinstall service start |
97
+
98
+ ## Uninstall
99
+
100
+ ```bash
101
+ easy-vps uninstall
102
+ npm rm -g easy-vps
103
+ ```
104
+
105
+ Run `easy-vps uninstall` first so the systemd unit (if created) is removed cleanly
106
+ before removing the package.
107
+
108
+ ## Service behavior
109
+
110
+ - **With systemd + root:** a `easy-vps.service` unit is created, enabled, and
111
+ restarted on boot. Logs: `journalctl -u easy-vps -f`.
112
+ - **Without systemd / not root:** the panel runs as a detached background process.
113
+ Logs are written to `~/.easy-vps/easy-vps.log` (or `/var/lib/easy-vps/easy-vps.log`
114
+ when run as root).
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "easy-vps",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "Install dependencies, point domains, deploy apps and run Postgres on a VPS from one UI",
5
5
  "keywords": [
6
6
  "vps",