Skip to main content
This page applies to the self-hosted version of AreaWP only. If you are on the hosted plan, the server is fully managed by the AreaWP team — your panel is ready to use without any installation steps.

One-Line Installer

Run this on your Linux server (Ubuntu 20.04+, Debian 11+, or Fedora 35+) as root:
The installer:
  1. Detects your OS and installs system dependencies
  2. Sets up Python 3.11+, Node.js 20, PostgreSQL, Nginx, Docker
  3. Downloads and configures the AreaWP panel
  4. Builds the frontend and starts all services
  5. Displays the panel URL and default admin credentials
Installation typically takes 3–8 minutes depending on server speed and network connection.

What Gets Installed

Flask API running as a systemd service (areawp) via Gunicorn with GeventWebSocket workers, listening on 0.0.0.0:5000.
React frontend served by an Nginx Docker container on port 3847, proxied by host Nginx on port 80/443.
PostgreSQL installed on the host with a dedicated areawp database and user. Connection string stored in /opt/areawp/.env.
Nginx configured as reverse proxy, handling SSL termination and routing. Config at /etc/nginx/sites-available/areawp.conf.

File Locations


Setup Wizard

After installation, open the panel at http://your-server-ip. The setup wizard guides you through:
1

License Key

Enter your license key from account.areawp.com. Validated against your domain.
2

Admin Account

Create the first admin user — email and password.
3

Domain

Set the primary domain for the panel. Nginx updates automatically.
4

SSL

Provision a free Let’s Encrypt certificate for HTTPS access.

Updating

Run the following command as root on the server via SSH to check if a new version is available:
If an update is available, the command displays the new version and prompts for confirmation before proceeding. No data is lost during updates. You can also see whether an update is available from Settings → Licensing inside the panel — however, the actual update must always be run via SSH as root using the command above.

Troubleshooting

Backend not reachable. Verify it’s listening on all interfaces:
If it shows 127.0.0.1:5000:
Ensure port 80 is open and the domain resolves to your server IP. Retry from Settings → Site Settings → SSL.