While working on Ghostmail, an Electron-based Maildir frontend I’ve built, I had to get the app ready for distribution on other people’s machines by code signing and notarising it.
I’m using Electron Forge to build the app, and I expected everything to work pretty much out of the box. However, I ran into an important, niche issue that should be highlighted.
I added the dotenv package to my development dependencies, initialised it at the top, and filled out my .
Shortly after posting my initial version to run Laravel queues with Supervisor on Coolify, I realised that I should also get supervisor to run and control nginx and php-fpm as well. So here’s an updated version of the Nixpacks script to handle this.
The revised PHP provider As before, I’ve added a nixpacks.toml file to my project root, which gets picked up by Nixpacks and lets you extend the default PHP provider.
Update: I’ve posted a newer version which also uses supervisor to start and keep nginx and php-fpm running! Coolify is ‘self-hosting with superpowers’ and is aiming to provide an alternative to Heroku and Vercel.
For the last several years, I’ve been using Ansible to deploy my projects, but I’ve been looking to simplify and get functionality like atomic deployments out of the box. Especially for side projects that I can quickly and easily deploy to DigitalOcean and Hetzner, a mechanism to package things up into container and atomically deploy them is really appealing.