PHPackages                             sandstorm/heroku - 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. sandstorm/heroku

ActiveNeos-package[DevOps &amp; Deployment](/categories/devops)

sandstorm/heroku
================

Integration of Flow and Neos based projects with Heroku or Dokku PAAS Platform

2.0.1(7y ago)75.5k3MITPHP

Since Jan 18Pushed 7y ago10 watchersCompare

[ Source](https://github.com/sandstorm/Heroku)[ Packagist](https://packagist.org/packages/sandstorm/heroku)[ Docs](https://github.com/sandstorm/Heroku)[ RSS](/packages/sandstorm-heroku/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (6)Dependencies (1)Versions (10)Used By (0)

Introduction
============

[](#introduction)

We at sandstorm|media use Dokku to deploy applications quickly and easily to our server. Nevertheless, it is often time-consuming to manually make applications ready for the deployment with Dokku or Heroku. Thus, we created this package to minimize your effort of making TYPO3 Flow and Neos based projects ready for deployment in a few seconds.

Prerequisites
=============

[](#prerequisites)

A Flow version greater or equal to 3.0 is mandatory.

Compatibility and Maintenance
=============================

[](#compatibility-and-maintenance)

This package is currently being maintained for Neos 2.3 LTS and Neos 3.x.

Neos / Flow VersionSandstorm.Heroku VersionMaintainedNeos 3.x, Flow 4.x2.0.xYesNeos 2.3 LTS, Flow 3.3 LTS0.4.xYesUsage
=====

[](#usage)

1. When using composer, you can conveniently add this package to your application by typing the following command in your command line:
    `composer require sandstorm/heroku`
2. After adding this package to your application, make your project ready for Dokku with this command:
    `./flow heroku:addToProject``composer update`
3. Add the base URI placeholder to your *Settings.yaml*

```
Neos: #For Neos 2.3 LTS, the top-level key must be TYPO3 instead of Neos
  Flow:
    http:
      baseUri: %env:BASE_URI%

```

Deployment on Dokku
===================

[](#deployment-on-dokku)

Execute the following steps to deploy the App to Dokku (commands below):

1. create your Dokku App
2. make *Data/Persistent* persistent over updates
3. create a database
4. link the database with the App
5. add domain to App
6. set the baseUri
7. set flow context
8. set database config
9. add dokku as git remote
10. push your project to Dokku
11. (optional) access your project with ssh to configure your Flow instance

```
dokku create your-app
dokku storage:mount your-app /home/dokku/your-app/DATA/app/Data/Persistent:/app/Data/Persistent
dokku mariadb:create your-app
dokku mariadb:link your-app your-app
dokku domains:add your-app your-domain-to-the-app.de
dokku config:set your-app BASE_URI=http://your-domain-to-the-app.de/
dokku config:set your-app FLOW_CONTEXT=Production/Heroku
dokku config:set your-app DB_NAME=your-app-db DB_USER=mariadb DB_PASSWORD=super-secret DB_HOST=dokku-mariadb-your-app-db DB_PORT=3306
git remote add dokku dokku@your-dokku-domain.de:your-app
git push dokku master
dokku enter your-app

```

Prune and Import Site-Package on every Deploy
=============================================

[](#prune-and-import-site-package-on-every-deploy)

Careful: This deletes all content on every redeploy. Don't use in staging environments where customers work.

```
dokku config:set your-app PRUNE_AND_IMPORT_SITE=Package.Key

```

Debugging and Trouble-Shooting
==============================

[](#debugging-and-trouble-shooting)

check status of App
-------------------

[](#check-status-of-app)

```
dokku ls

```

Access database
---------------

[](#access-database)

If you want to access the database for debugging run:

```
dokku mariadb:expose your-app
dokku mariadb:info your-app

```

### Access with SequelPro

[](#access-with-sequelpro)

- Connection Type SSH
- MySQL Host: 127.0.0.1
- Username: username from `mariadb:info`
- Password: password from `mariadb:info`
- Port: port from `mariadb:expose`
- SSH Host: dokku.your-domain.de
- SSH User:

Increase Memory Limit of Container
----------------------------------

[](#increase-memory-limit-of-container)

By default, the memory limit is 512 MB. To increase it, do the following:

- copy [Resources/Private/fpm\_custom.conf](./Resources/Private/fpm_custom.conf) to your own repository, e.g. into `./Heroku/fpm_custom.conf` and adjust the memory limit.
- copy [Resources/Private/heroku-start.sh](./Resources/Private/heroku-start.sh) to your own repository, e.g. into `./Heroku/heroku-start.sh` and in the last command, adjust the path to the `fpm_custom.conf` you have just copied.
- In `Procfile` of your distribution, reference your custom start script instead of the default one.

---

TODOs
=====

[](#todos)

- support for gerrit\_update.php and gerrit.json

###  Health Score

36

—

LowBetter than 82% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity25

Limited adoption so far

Community17

Small or concentrated contributor base

Maturity69

Established project with proven stability

 Bus Factor1

Top contributor holds 63% 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 ~152 days

Recently: every ~180 days

Total

9

Last Release

2915d ago

Major Versions

0.4.x-dev → 2.0.02017-01-11

### Community

Maintainers

![](https://www.gravatar.com/avatar/2ced0d63cfdae881c32128c7f66451a013d3e24d9eed210d6a846b6d8e95fa3b?d=identicon)[sandstorm](/maintainers/sandstorm)

---

Top Contributors

[![skurfuerst](https://avatars.githubusercontent.com/u/190777?v=4)](https://github.com/skurfuerst "skurfuerst (17 commits)")[![christoph-daehne](https://avatars.githubusercontent.com/u/5363485?v=4)](https://github.com/christoph-daehne "christoph-daehne (7 commits)")[![beheist](https://avatars.githubusercontent.com/u/10347669?v=4)](https://github.com/beheist "beheist (1 commits)")[![fheinze](https://avatars.githubusercontent.com/u/683773?v=4)](https://github.com/fheinze "fheinze (1 commits)")[![Pingu501](https://avatars.githubusercontent.com/u/12086990?v=4)](https://github.com/Pingu501 "Pingu501 (1 commits)")

---

Tags

dockerherokuflowNeostypo3paasdokku

### Embed Badge

![Health badge](/badges/sandstorm-heroku/health.svg)

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

###  Alternatives

[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)[spatie/docker

Run a docker container in your PHPUnit tests

478120.2k12](/packages/spatie-docker)[ryoluo/sail-ssl

Laravel Sail plugin to enable SSL (HTTPS) connection with Nginx.

188672.6k2](/packages/ryoluo-sail-ssl)[aschmelyun/fleet

Run multiple Laravel Sail websites on your local environment

33269.5k](/packages/aschmelyun-fleet)[testcontainers/testcontainers

Testcontainers implementation in PHP

199184.7k17](/packages/testcontainers-testcontainers)[sourcebroker/deployer-extended-typo3

Customisation for `sourcebroker/deployer-typo3-\*` stack

38201.6k2](/packages/sourcebroker-deployer-extended-typo3)

PHPackages © 2026

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