Fork me on GitHub

I’m starting to use multiple docker containers on a single droplet for (less expensive) play… I can use Biff’s setup scripts to get it rolling on a droplet but would it make sense for me to also think about running Biff in a container? As it is I am running it alongside other docker containers (kafka, redis, etc). If I did run it in a container would that create issues for REPL connection from my local editor (which I’m doing now) or other problems? Maybe the running Biff in docker is an antipattern, anyway… dunno.

Jacob O'Bryant00:06:55

If you've got enough memory for your current containers and a JVM, you could give it a shot. Before doing the latest Biff rewrite I tried running it in Dokku as a potential recommended deployment solution. However I wasn't able to get the REPL connection to work, since it goes over TCP instead of HTTP. (I went down a deep rabbit hole on that... e.g. there is some code floating around for doing nREPL over HTTP, but IIRC it would need editor support which hasn't been implemented?). If you're setting up the containers yourself, without Dokku, it might be easier to configure it properly.

Jacob O'Bryant00:06:58

That being said the JVM is already a container basically. You might be best off running Biff normally and then just use containers for the other services?

Jacob O'Bryant01:06:14

I am potentially interested in figuring out an "official"/recommended container-based deployment setup for Biff, but after spending some time on it my feeling was that it would be extra hassle and not super helpful at this point--maybe I'll do something in that area eventually if someone wants it for work and wants to hire me to set it up ha ha.


As a side note (in case it’s relevant), I’m likely to be snapshotting my droplets with working kafka/redis/nginx/etc for quick greenfield play sessions. Biff will of course be part of that but maybe (depending on input here) that will be best deployed each time to the droplet from my local cli.

Jacob O'Bryant01:06:43

> but maybe (...) that will be best deployed each time to the droplet from my local cli. I'm not sure what you mean, could you clarify?


I mean that for each new project I run the Biff deployment with ‘scp <mailto:[email protected]|[email protected]>’… or I’m wondering if I could just create a Biff docker image to pull (and whether someone already has).


I just read your previous replies to my preceding question… and it looks like trying to run Biff in a container would just be a rabbit hole, especially in terms of a REPL connection. It’s definitely not a priority for me… it takes almost no time at all to deploy Biff to the droplet via your script where it can live alongside containers.

Jacob O'Bryant02:06:31

oh, I see. yeah for myself whenever I deploy a new project I just set up a new droplet and run again.