After re-reading about multi-instance setup in upstream postfix, I come to the conclusion our setup is done a bit wrong.
Upstream uses postmulti tool to turn a postfix install into a multi-instance system using postfix-specific ways, just like it implements process control, daemon startup etc within its master(8postfix) process. This is designed in a way to be used as a single service, which has multiple services inside, which are managed by postfix itself (in a means ow postmulti tool). A downstream is supposed to manage all this complex thing as a single entity, using regular `postfix start|stop|etc' command. There is another variant of multiple instances setup possible, managed by the outside tools (not with help of postmulti(1), though it can be used to create an instance too). You configure a separate config directory with main.cf and master.cf inside, and start the instance using `postfix -c config_dir start', which manages this particular single instance only. And you create a separate service for this particular single instance, in systemd or using other means, and manage it externally of postfix, using whatever tools you see fit. We in debian did a mix of these two approaches. However, the first approach (postfix-way with postmulti) does not work well with systemd. Because when you (re)start another instance, it is not started under systemd control, and remains in your slice, your unit, instead of the postfix service. This is why a simplistic approach - starting whole multi- instance postfix service as a single unit - doesn't exactly work, and why this integration has been introduced to begin with. What I *think* would be the right way is to integrate systemd setup *within* postfix itself. So that `postfix -c /etc/postfix start' (this is startup of single default instance, regardless of multi-instance setup) starts just a single postfix.service, `postfix -c /etc/postfix-foo start' internally starts postfix@foo.service, and `postfix start', with internal help of postmulti, starts all configured instances. This will also help with simple single-instance setups obviously, so that `postfix start' will just do the right thing, starting the systemd service. This isn't difficult to do, - modifying postfix-script and postmulti-script for start to be done with systemctl is easy. There's jus one little prob I see here. Each of multi_instance_directories must have the same prefix of "/etc/postfix-", or else naming instances is difficult (instances should be named after config_directory, not after name recorded within). This can be easily done by modifying postmulti tool a little bit.