Facultative :
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
php Caddy.php or frankenphp run --config CaddyfileThe first available port will be used automatically (like symfony server:start).
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
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
sudo apt install php-imagick # Debian/Ubuntu
GD is the fallback driver, bundled with PHP (php-gd). No extra installation needed.
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.
Stay up to date with only one command :
composer update