-
Notifications
You must be signed in to change notification settings - Fork 0
Installation
This page covers everything you need to get PulseDeploy running on a fresh server.
| Requirement | Details |
|---|---|
| OS | Ubuntu 20.04+, Debian 11+, Amazon Linux 2/2023, CentOS/Rocky 8/9 |
| Access | Root or sudo privileges |
| RAM | Minimum 512MB (1GB+ recommended) |
| Disk | Minimum 10GB free |
| Network | Internet access to download packages |
git clone https://github.com/Xbot-me/PulseDeploy.git
cd PulseDeploy
chmod +x bootstrap.sh scripts/**/*.sh
sudo bash bootstrap.sh
β οΈ Always run on a fresh server. Running on an existing production server may overwrite configs.
The wizard walks you through 4 steps:
PulseDeploy reads /etc/os-release and loads the correct OS module. No input needed.
[i] Detected OS: ubuntu 22.04
Choose a server stack to install:
- LEMP β Nginx + PHP-FPM + MySQL
- LAMP β Apache + PHP + MySQL
- Node β Nginx + Node.js (with PM2)
- Skip β Core services only
You'll be asked yes/no for each optional service:
Install Redis? [y/N]:
Install Docker & Compose? [y/N]:
Configure UFW/firewall + fail2ban? [y/N]:
Install Certbot (SSL)? [y/N]:
Configure swap file? [y/N]:
Apply PHP-FPM performance tuning? [y/N]:
A full summary is shown before anything is installed:
βββ Installation Summary βββ
OS : ubuntu 22.04
Stack : lemp
Redis : β Yes
Docker : β No
Firewall : β Yes
Certbot : β Yes
Swap : β Yes
PHP Tuning : β Yes
Proceed with installation? [y/N]:
Everything is logged to:
/var/log/server-bootstrap.log
If something fails, check this file first:
cat /var/log/server-bootstrap.log
tail -50 /var/log/server-bootstrap.log
For automated provisioning via AWS EC2 user-data or cloud-init:
#!/bin/bash
git clone https://github.com/Xbot-me/PulseDeploy.git /opt/PulseDeploy
cd /opt/PulseDeploy
chmod +x bootstrap.sh scripts/**/*.sh
# Non-interactive mode coming soon β see Roadmap
- Stacks β detailed breakdown of LEMP, LAMP, Node.js
- Services β Redis, Docker, Firewall, SSL, Swap, PHP tuning
- AWS EC2 Guide β EC2-specific setup
- Troubleshooting β if something went wrong