r2
Free open-source Cloudflare R2 desktop client and S3 GUI for macOS, Windows, and Linux. Manage Cloudflare R2, AWS S3, M…
FastCP is a modern, fast, and secure control panel to run multiple PHP websites on an Ubuntu server.
A lightweight, modern server control panel for Ubuntu servers powered by Caddy and PHP-FPM.
curl -fsSL https://get.fastcp.org | bash
Or manually:
wget -O install.sh https://get.fastcp.org chmod +x install.sh sudo ./install.sh
After installation:
https://your-server-ip:2050┌─────────────────────────────────────────────────────────────────┐
│ FastCP Control Panel │
│ (Go binary, port 2050 HTTPS) │
│ - Web UI & REST API │
│ - User authentication (PAM) │
│ - phpMyAdmin reverse proxy │
└────────────────────────────┬────────────────────────────────────┘
│ Unix Socket
┌────────────────────────────▼────────────────────────────────────┐
│ FastCP Agent (runs as root) │
│ - User/database management │
│ - Caddyfile generation │
│ - SSH key management │
└─────────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────────┐
│ Caddy (ports 80/443) │
│ - Main reverse proxy for all websites │
│ - Automatic HTTPS (Let's Encrypt) │
│ - phpMyAdmin served internally │
└────────────────────────────┬────────────────────────────────────┘
│ Unix Sockets
┌────────────────────────────▼────────────────────────────────────┐
│ Per-Site PHP-FPM Pools (run as each Linux user) │
│ - Isolated PHP execution for security │
│ - Multi-version PHP support per website │
│ - Resource limits (CPU/RAM) via cgroups │
└─────────────────────────────────────────────────────────────────┘
/opt/fastcp/
├── bin/
│ ├── caddy # Caddy binary
│ ├── fastcp # Control panel (when built custom)
│ └── fastcp-agent # Privileged helper
├── config/
│ └── Caddyfile # Main configuration
└── data/
└── fastcp.db # SQLite database
/home/{user}/
├── apps/
│ └── {domain}/
│ ├── public/ # Document root
│ ├── logs/ # Access/error logs
│ └── tmp/ # Temporary files
└── .ssh/
└── authorized_keys # SSH keys
# Install Go 1.23+ wget https://go.dev/dl/go1.23.0.linux-amd64.tar.gz sudo tar -C /usr/local -xzf go1.23.0.linux-amd64.tar.gz export PATH=$PATH:/usr/local/go/bin # Install build dependencies sudo apt-get install -y build-essential libpam0g-dev
git clone https://github.com/rehmatworks/fastcp.git cd fastcp # Build FastCP binaries make build # Or build individually CGO_ENABLED=1 go build -o bin/fastcp ./cmd/fastcp CGO_ENABLED=1 go build -o bin/fastcp-agent ./cmd/fastcp-agent
sudo make install
/opt/fastcp/config/Caddyfile){
fastcp {
data_dir /opt/fastcp/data
agent_socket /opt/fastcp/run/agent.sock
listen_port 2050
}
# PHP is served by per-site PHP-FPM pools and reverse proxied by Caddy
}
:2050 {
tls internal
fastcp_ui
}
# Sites are added here dynamically
FastCP exposes a REST API via Caddy's admin endpoint:
# Login
curl -X POST http://localhost:2019/fastcp/auth/login \
-H "Content-Type: application/json" \
-d '{"username":"myuser","password":"mypass"}'
# List sites
curl http://localhost:2019/fastcp/sites \
-H "Authorization: Bearer <token>"
# Create site
curl -X POST http://localhost:2019/fastcp/sites \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{"domain":"example.com","site_type":"php"}'
fastcp) can access the panelsystemctl status fastcp systemctl status fastcp-agent
# FastCP logs
journalctl -u fastcp -f
# Agent logs
journalctl -u fastcp-agent -f
# Site access logs
tail -f /home/{user}/apps/{domain}/logs/access.log
sudo systemctl restart fastcp-agent sudo systemctl restart fastcp
curl -fsSL https://get.fastcp.org/uninstall.sh -o /tmp/fastcp-uninstall.sh sudo bash /tmp/fastcp-uninstall.sh
The uninstaller is interactive and asks for confirmation before destructive actions.
Contributions are welcome! Please read our contributing guidelines before submitting PRs.
MIT License - see LICENSE for details.
more like this
Free open-source Cloudflare R2 desktop client and S3 GUI for macOS, Windows, and Linux. Manage Cloudflare R2, AWS S3, M…
meine 🌒 - A CLI file manager and system utility built with Textual. It combines intuitive command parsing with rich t…
MTT File Manager is a Rust-based Windows file manager with tabbed navigation, rich media previews, deep system integrat…
search projects, people, and tags