Download the PHP package webberdoocom/installer-bundle without Composer

On this page you can find all versions of the php package webberdoocom/installer-bundle. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package installer-bundle

Webberdoo Installer Bundle

A complete, reusable Symfony installer bundle with a modern React + Tailwind CSS v4 frontend. This bundle provides a web-based installation wizard for Symfony applications with automatic User entity detection, configurable entities, database setup, and admin user creation.

Features

Modern UI - React with Tailwind CSS v4
Auto-Detection - Automatically detects User entity and field names
Minimal Configuration - Just list your entities, everything else is automatic
Step-by-step Installation - System requirements, database, tables, admin user, SMTP (optional), app config
Optional SMTP Configuration - Configure email settings during installation or skip for later
Safe Schema Installation - Only creates tables, never drops existing ones
Dynamic Entity Support - Add any Doctrine entities to install
Auto .env Update - Automatically updates DATABASE_URL in your .env file
Standalone Installation - Works without existing Symfony configuration
Installation Status Tracking - Resume interrupted installations


Installation

1. Install via Composer

2. Register the Bundle

Add to config/bundles.php:

3. Register Routes

Add to config/routes.yaml:

Important: The route prefix /install is already defined in the controller attributes, so don't add a prefix here.

4. Configure the Bundle (Minimal Setup)

Create config/packages/installer.yaml with just your entities:

That's it! The bundle will automatically:

4b. Optional Advanced Configuration

If you need to customize, here's the full configuration with defaults:

5. Install Assets to Public Directory

Note: The frontend assets are pre-built and included in the package. You don't need to build them yourself unless you're modifying the source code.


Usage

Access the Installer

Navigate to: http://your-app.com/install

Installation Steps

  1. System Requirements Check

    • Verifies PHP version
    • Checks required and recommended PHP extensions
    • Validates directory permissions
  2. Database Configuration

    • Enter database credentials
    • Tests connection before saving
    • Automatically updates .env file with DATABASE_URL
    • Writes config to config/db.yaml
  3. Install Tables

    • Creates all configured entity tables
    • Sets up indexes and foreign keys
    • Safe mode - only creates, never drops
  4. Create Admin User

    • Create administrator account
    • Password strength indicator
    • Email validation
  5. SMTP Configuration (Optional)

    • Configure email/SMTP settings
    • Saved to both user entity and config/smtp.yaml
    • Can be skipped and configured later
  6. Application Configuration
    • Set base URL and path
    • Configure custom parameters
    • Creates installation marker

Configuration Examples

Minimal Configuration (Recommended)

The simplest setup - just list your entities:

The bundle automatically:

Adding Custom Application Parameters

PostgreSQL Database

Manually Specify User Entity (Advanced)

Only needed if auto-detection doesn't work or you have multiple User entities:


How Auto-Detection Works

User Entity Detection

The bundle automatically finds your User entity by:

  1. Scanning all entities listed in your configuration
  2. Finding the one that implements Symfony\Component\Security\Core\User\UserInterface
  3. No manual configuration needed!

Field Name Detection

The bundle intelligently detects field names using common naming patterns:

Field Type Detected Names
Email email, username, user, login
Password password
Roles roles
Full Name fullName, full_name, name, displayname
Active Status isActive, is_active, active, enabled, status
SMTP Host smtpHost, smtp_host, mailHost, mail_host
SMTP Port smtpPort, smtp_port, mailPort, mail_port
SMTP Username smtpUsername, smtp_username, smtpUser, smtp_user
SMTP Password smtpPassword, smtp_password, smtpPass, smtp_pass
SMTP Encryption smtpEncryption, smtp_encryption, smtpTls, smtp_tls
SMTP From Email smtpFromEmail, smtp_from_email, fromEmail, from_email
SMTP From Name smtpFromName, smtp_from_name, fromName, from_name

Your User Entity

The installer works with any User entity structure:

If a field doesn't exist or doesn't have a setter, the installer simply skips it - no errors!


SMTP Configuration

Overview

The installer includes an optional SMTP configuration step that allows users to set up email settings during installation. This feature is completely optional and can be skipped if you prefer to configure email settings later.

How It Works

  1. During Installation - Step 5 prompts for SMTP settings:

    • SMTP Host (e.g., smtp.gmail.com)
    • SMTP Port (default: 587)
    • SMTP Username
    • SMTP Password
    • Encryption (TLS/SSL/None)
    • From Email (optional)
    • From Name (optional)
  2. Storage - SMTP settings are saved in two locations:

    • User Entity - If your User entity has SMTP fields, they're automatically populated
    • Config File - Settings are also saved to config/smtp.yaml for easy access
  3. Skip Option - Users can click "Skip for Now" to bypass this step and configure SMTP later

Setting Up Your User Entity for SMTP

To enable SMTP configuration during installation, add these optional fields to your User entity:

Using SMTP Configuration

After installation, SMTP settings are available in two ways:

1. From User Entity

Access SMTP settings from the authenticated user:

2. From Config File

The installer also creates config/smtp.yaml:

You can use these parameters in your Symfony mailer configuration:

SMTP Configuration Without User Entity Fields

If you don't want SMTP fields in your User entity, that's fine! The installer will:

The installer gracefully handles missing fields - no errors will occur.


Development

Build Assets for Development

This starts Vite dev server on http://localhost:3000.

Build for Production


API Endpoints

The bundle exposes the following API endpoints:


Security

After Installation

  1. Disable Installer After Installation (Optional but recommended)

    Update your config/routes.yaml to conditionally load the installer:

    This prevents access to the installer after installation is complete.

  2. Installation Marker

    The bundle creates a marker file at var/install_completed to prevent reinstallation. Delete this file if you need to run the installer again.


Customization

Custom Installation Steps

Extend the bundle services to add custom installation logic:

Custom UI

The React components are modular and can be extended or replaced:


Troubleshooting

Assets Not Loading

Database Connection Fails

Installation Marker Issues


Requirements


License

MIT License. See LICENSE file for details.


Support

For issues and questions, please open an issue on GitHub or contact [email protected].


All versions of installer-bundle with dependencies

PHP Build Version
Package Version
Requires php Version >=8.2
symfony/framework-bundle Version ^7.0
symfony/yaml Version ^7.0
symfony/password-hasher Version ^7.0
symfony/security-bundle Version ^7.0
doctrine/orm Version ^3.0
doctrine/dbal Version ^3.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package webberdoocom/installer-bundle contains the following files

Loading the files please wait ...