Installation

Requirements

  • PHP >=8.4
  • PHP extensions : dom, curl, libxml, mbstring, zip, pdo, sqlite, pdo_sqlite, bcmath, soap, intl, gd (or imagick), exif, iconv, fileinfo
  • Composer - how to install composer

Facultative :

Automatic installer via composer

composer create-project pushword/new pushword @dev

# Create the admin user
cd pushword && php bin/console pw:user:create

That's it ! You can still configure an app or directly launch a PHP Server :

php bin/console pw:new
php -S 127.0.0.1:8004 -t public/
# OR symfony server:start -d

Run Pushword with Franken PHP

  1. get the last bin from frankenphp's repositories
  2. Create your own Caddyfile, or just copy this one
  3. run it ➜ php Caddy.php or frankenphp run --config Caddyfile

The first available port will be used automatically (like symfony server:start).

Available commands:

php Caddy.php start    # Start the server
php Caddy.php stop     # Stop the server
php Caddy.php restart  # Restart the server
php Caddy.php status   # Show server status

By running the following command, it will install a few extensions to have a classic installation.

composer req pushword/admin pushword/admin-block-editor pushword/page-scanner pushword/static-generator pushword/template-editor pushword/version

# More specific
composer req pushword/page-update-notifier
composer req pushword/advanced-main-image
composer req pushword/conversation

Image Processing

Pushword auto-detects the best available image driver in this order: VIPS > Imagick > GD.

libvips is ~4x faster and uses ~10x less memory than Imagick. It is the recommended driver for production.

# Install libvips system library
sudo apt install libvips-dev  # Debian/Ubuntu
# or: brew install vips        # macOS

# Install the PHP driver
composer require intervention/image-driver-vips

Requires the PHP FFI extension (php-ffi).

You can force a specific driver in config/packages/pushword.yaml:

pushword:
    image_driver: vips  # auto (default), vips, imagick, gd

Imagick

sudo apt install php-imagick  # Debian/Ubuntu

GD

GD is the fallback driver, bundled with PHP (php-gd). No extra installation needed.

Next

Manual installation

You can use composer require pushword/core in an existing Symfony Project. Have a look into vendor/pushword/core/install.php to finish manually the installation.

Update

Stay up to date with only one command :

composer update