Container (non-root) user can't write to /dev/stdout or /dev/stderr

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 ...
1 Like