If there’s a need to keep stdout and stderr separate, I think this can do it by using bash’s process substitution:
[experimental]
entrypoint = ["/bin/bash", "-c", "/cnb/process/web \"$@\" > >(cat) 2> >(cat >&2)", "/bin/bash"]
Is there any value in keeping stdout and stderr separate on Fly? I haven’t looked into how Fly manages logs yet.
Note that with Machines, I don’t think setting entrypoint in fly.toml works, but you can set it via:
fly machine update --entrypoint ...