1.0.0-beta.3.rc.2 What works today

One program runs your sites, their runtimes and the database.

Nextweb brings its own web server, runtimes, and database. You install an application by name and deploy it with two commands.

curl -fsSL https://get.nextwebjs.com | bash

Linux x64. About 45 MB, free to try. On first start it asks for an email address to issue your license. If the license server can't be reached later, Nextweb starts on its last check for up to 7 days and live sites keep serving; new sites wait until it's back.

The installer checks the program's SHA-256 and size against our published manifest before it keeps it. It doesn't use sudo. Leave off | bash and curl prints the script, so you can read it first.

~/nextweb-tour
curl -fsSL https://get.nextwebjs.com | bash
./nextweb
...
pkg install wordpress
...
Installation order: php8.3.36-linux-x64 → mariadb-11.4.5-linux-x64 → wordpress
...
wordpress 7.1.3 installed successfully
deploy company-site to www.example.com using wordpress
Site "company-site" deployed for www.example.com (template: wordpress).
...
apply -y
...
Site: company-site (www.example.com)
  Allocated site listen port 4001 for company-site
  Provisioning database for site company-site...
  MariaDB running (socket /tmp/nw-maria-4b18b6219aa4.sock)
  Database wp_company_site and user wp_companysite ready
  Starting PHP runtime for site...
  php-cgi listening on 19100 (2 processes, opcache off)
...
Visit: http://127.0.1.10:4001/
...
┌──────────────────────────────────────────────────────────┐
│  company-site is live → http://127.0.1.10:4001/          │
│  verify: passed · applied in 2.3 s                       │
└──────────────────────────────────────────────────────────┘

From a run of the first lesson, on one machine: the site answers on that machine's own address. For a public domain with HTTPS, nginx goes in front, for now. Each ... marks lines we cut.

Deploy

Deploy, then apply. Nothing starts until you apply.

  1. 01 deploy

    Names the site, sets its domain, copies in a WordPress of its own, and saves it.

  2. 02 apply

    Switches it on. Picks a port, starts MariaDB and PHP, hands the site to the web server, and checks it before saying it's live.

  3. 03 verify

    Runs the same checks again whenever you want: the files, the database settings, the web server, and a page from the site.

  4. 04 set

    Optional. Changes a setting, such as another domain. commit saves it, and the next apply uses it.

How a deploy works

One folder

Everything it installs stays in one folder.

PHP, MariaDB, the configuration, and every site live inside the folder you run Nextweb from. Each site gets its own copy of the application, its own database, its own PHP, and its own port. Node.js is shared in ~/.cache/nextweb.

nextweb-tour/
nextweb                          the program
nextweb_server/
  config/nextweb-services.json   the saved configuration
  runtime/                       PHP and MariaDB, installed once
  sites/company-site/
    wordpress/                   the site's own copy of WordPress
    .nextweb/state.json          what Nextweb knows about the site

Where it's going

We want Nextweb to be where web software gets published.

You write an application, build it into one package, and the machines you choose install it by name.

Works today

Running applications. On Linux x64, WordPress installs by name and deploys with the two commands above.

Works today

Packaging your own applications. You describe one in a small file, build it into a package, publish it, and install it by name. The second lesson does it start to finish. The package is encrypted; package DRM explains who can open it.

The full roadmap

When you get stuck

Nextweb is in beta. If your screen doesn't match the lesson or something breaks, open an issue on GitHub, ask in Discord, or write to support@nextwebjs.com. All three reach the person who builds it. Read a note from Bryan.