greenhouse
greenhouse is a minimal software forge built from a few independent programs. It hosts git repositories over ssh and the web, and runs the mailing lists where patches are sent with git send-email, reviewed and archived.
Parts
- hedge git access control for ssh
- petal git web interface (CGI)
- pollen mailing list manager (Postfix pipe transport)
- herbarium mailing list archive web interface (CGI)
Overview
git push, fetch -> sshd -> hedge -> git-shell -> /srv/git
browser -> httpd -> petal -> /srv/git
mail -> Postfix -> pollen -> sendmail -> subscribers
pollen -> /srv/lists
browser, b4 -> httpd -> herbarium -> /srv/lists
Every part is a single C program with no runtime configuration: settings
live in config.h, created from config.def.h on the first build.
Installation
Each part is built and installed on its own. Edit config.mk to match
your local setup (everything installs into /usr/local by default), then:
cd petal
make clean install
make install also installs the man page, and for petal and herbarium the
stylesheet and icon into share/<part>.
Development
- browse: git.lostduk.com/greenhouse
- patches and discussion: meadow, with the
subject
[greenhouse] topicor[greenhouse][PATCH]
License
MIT/X Consortium License, © 2026 lostduk.