PHPackages                             pipo/raft - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [DevOps &amp; Deployment](/categories/devops)
4. /
5. pipo/raft

ActiveLibrary[DevOps &amp; Deployment](/categories/devops)

pipo/raft
=========

A Docker-based development environment for CodeIgniter 4

v1.0.2(1y ago)026MITShellPHP ^7.4|^8.0

Since Apr 30Pushed 1y ago1 watchersCompare

[ Source](https://github.com/PipoLeong0305/raft)[ Packagist](https://packagist.org/packages/pipo/raft)[ RSS](/packages/pipo-raft/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (3)Dependencies (1)Versions (4)Used By (0)

CodeIgniter Raft
================

[](#codeigniter-raft)

**CodeIgniter Raft** is a lightweight, Docker-powered development environment for CodeIgniter 4 that simplifies local development workflows. Built with PHP-FPM and Apache2, it provides a ready-to-use containerized setup with zero configuration required.

[![CodeIgniter Raft](https://camo.githubusercontent.com/82280fe69bcbab00b5a513fa7b695118002de3bb6795ca262bf687fd4f1192fa/68747470733a2f2f7669612e706c616365686f6c6465722e636f6d2f383030783230303f746578743d436f646549676e697465722b52616674)](https://camo.githubusercontent.com/82280fe69bcbab00b5a513fa7b695118002de3bb6795ca262bf687fd4f1192fa/68747470733a2f2f7669612e706c616365686f6c6465722e636f6d2f383030783230303f746578743d436f646549676e697465722b52616674)

Introduction
------------

[](#introduction)

CodeIgniter Raft provides a Docker-powered local development experience for CodeIgniter 4 that is compatible with macOS, Windows (WSL2), and Linux. Other than Docker, no software or libraries are required to be installed on your local computer before using Raft. Raft's simple CLI means you can start building your CodeIgniter application without any previous Docker experience.

Installation
------------

[](#installation)

You can install CodeIgniter Raft as a development dependency in your CodeIgniter project:

```
composer require pipo/raft
```

After installing CodeIgniter Raft, run the following command to set up the Raft configuration files in your project:

```
./raft install
```

This command will copy the necessary Docker configuration files to your project's root directory.

Basic Usage
-----------

[](#basic-usage)

### Starting &amp; Stopping Raft

[](#starting--stopping-raft)

To start all of the Docker containers defined in your application's `docker-compose.yml` file:

```
./raft up
```

To stop all of the Docker containers:

```
./raft down
```

### Executing Commands

[](#executing-commands)

You can execute commands inside the application container using the `raft` script:

#### PHP Commands

[](#php-commands)

```
./raft php -v
```

#### Composer Commands

[](#composer-commands)

```
./raft composer require codeigniter4/devkit
```

#### CodeIgniter CLI Commands

[](#codeigniter-cli-commands)

```
./raft spark migrate
./raft spark db:seed UserSeeder
```

#### Running Tests

[](#running-tests)

```
./raft test
```

#### Accessing MySQL

[](#accessing-mysql)

```
./raft mysql
```

#### Opening a Shell

[](#opening-a-shell)

```
./raft shell
```

### Configuring A Shell Alias

[](#configuring-a-shell-alias)

By default, Raft commands are invoked using the `raft` script that is included with your project:

```
./raft up
```

However, instead of repeatedly typing `./raft` to execute Raft commands, you may wish to configure a shell alias that allows you to execute Raft's commands more easily:

```
alias raft='sh $([ -f raft ] && echo raft || echo vendor/bin/raft)'
```

To make sure this is always available, you may add this to your shell configuration file in your home directory, such as `~/.zshrc` or `~/.bashrc`, and then restart your shell.

Once the shell alias has been configured, you may execute Raft commands by simply typing `raft`. The remainder of this documentation's examples will assume that you have configured this alias:

```
raft up
```

Available Services
------------------

[](#available-services)

By default, Raft includes the following services:

- **raft-app**: The CodeIgniter application with PHP 8.2 and Apache
- **mysql**: MySQL 8.0 database
- **redis**: Redis server
- **mailhog**: MailHog for testing emails

Customization
-------------

[](#customization)

### Environment Variables

[](#environment-variables)

The following environment variables can be added to your project's `.env` file to customize your Raft installation:

```
APP_PORT=80
DB_PORT=3306
REDIS_PORT=6379
MAILHOG_PORT=1025
MAILHOG_DASHBOARD_PORT=8025

```

### Adding Custom Services

[](#adding-custom-services)

You can add additional services to your application by creating a `docker-compose.override.yml` file in your project's root directory.

Requirements
------------

[](#requirements)

- Docker
- Docker Compose
- PHP 7.4 or higher
- Composer

License
-------

[](#license)

CodeIgniter Raft is open-sourced software licensed under the [MIT license](LICENSE.md).

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance48

Moderate activity, may be stable

Popularity6

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity44

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

3

Last Release

383d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/507ca4a05e6dc165d9b999344b75d5a24a50357cc6e2433b7035906bb354bf99?d=identicon)[PipoLeong0305](/maintainers/PipoLeong0305)

---

Top Contributors

[![PipoLeong00](https://avatars.githubusercontent.com/u/86391561?v=4)](https://github.com/PipoLeong00 "PipoLeong00 (22 commits)")

---

Tags

codeigniter4-librarydockerphpshell-script

### Embed Badge

![Health badge](/badges/pipo-raft/health.svg)

```
[![Health](https://phpackages.com/badges/pipo-raft/health.svg)](https://phpackages.com/packages/pipo-raft)
```

###  Alternatives

[deployer/deployer

Deployment Tool

11.1k25.4M207](/packages/deployer-deployer)[appwrite/server-ce

End to end backend server for frontend and mobile apps.

55.3k84.2k](/packages/appwrite-server-ce)[pragmarx/health

Laravel Server &amp; App Health Monitor and Notifier

2.0k1.0M2](/packages/pragmarx-health)[felixfbecker/language-server-protocol

PHP classes for the Language Server Protocol

22476.7M6](/packages/felixfbecker-language-server-protocol)[heroku/heroku-buildpack-php

Toolkit for starting a PHP application locally, with or without foreman, using the same config for PHP and Apache2/Nginx as on Heroku

8161.3M10](/packages/heroku-heroku-buildpack-php)[tiamo/phpas2

PHPAS2 is a php-based implementation of the EDIINT AS2 standard

4674.7k](/packages/tiamo-phpas2)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
