composer require sandstorm/heroku
Integration of Flow and Neos based projects with Heroku or Dokku PAAS Platform
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.
A Flow version greater or equal to 3.0 is mandatory.
Compatibility and Maintenance
This package is currently being maintained for Neos 2.3 LTS and Neos 3.x.
|Neos / Flow Version||Sandstorm.Heroku Version||Maintained|
|Neos 3.x, Flow 4.x||2.0.x||Yes|
|Neos 2.3 LTS, Flow 3.3 LTS||0.4.x||Yes|
- 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
- After adding this package to your application, make your project ready for Dokku with this command:
- 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
Execute the following steps to deploy the App to Dokku (commands below):
- create your Dokku App
- make Data/Persistent persistent over updates
- create a database
- link the database with the App
- add domain to App
- set the baseUri
- set flow context
- set database config
- add dokku as git remote
- push your project to Dokku
- (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 email@example.com:your-app git push dokku master dokku enter your-app
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
check status of App
If you want to access the database for debugging run:
dokku mariadb:expose your-app dokku mariadb:info your-app
Access with SequelPro
- Connection Type SSH
- MySQL Host: 127.0.0.1
- Username: username from
- Password: password from
- Port: port from
- SSH Host: dokku.your-domain.de
- SSH User: firstname.lastname@example.org
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 to your own repository, e.g. into
./Heroku/fpm_custom.confand adjust the memory limit.
- copy Resources/Private/heroku-start.sh to your own repository, e.g. into
./Heroku/heroku-start.shand in the last command, adjust the path to the
fpm_custom.confyou have just copied.
Procfileof your distribution, reference your custom start script instead of the default one.
- support for gerrit_update.php and gerrit.json