4 ms·
I really like the idea here, but haven't thought of a good way to do it with languages like Python/Ruby/Javascript. Is there any good way to bundle up, say, a
by muaddirac 12y ago
I really like the idea here, but haven't thought of a good way to do it with languages like Python/Ruby/Javascript.
Is there any good way to bundle up, say, a Flask app on Gunicorn into a single, minimal-dependency executable? Or a Rails app? I haven't found any satisfactory solutions. There are projects that will compile python down, but that doesn't seem to cover the WSGI server part (gunicorn, etc).
- sibsibsib 12y agoit's possible to do this with PEX. I've done this experimentally by subclassing gunicorn.app.base.Application. Haven't tried it out in prod yet though.
- zokier 12y ago> Is there any good way to bundle up, say, a Flask app on Gunicorn into a single, minimal-dependency executable? You don't need to build a single executable for this approach to work. You could use something like buildroot to build your runtime docker image. docker-nano was doing something to that effect, see for example nano/node.js: https://github.com/Docker-nano/Node.js https://github.com/Docker-nano/Node.js
- vidarh 12y agoTo track down dependencies, "strace" is your friend. And no, that's not an ideal solution, but it works reasonably well. Couple that with "ldd" on the interpreter. For Ruby, additionally "bundle install --standalone --path [..]" gets your far.