I’ve spent a few hours trying to get to a point where I can run Metabase from source in a Docker container. I started by modifying the included Dockerfile (e.g. removing the call to bin/build, not removing installed packages, changing entry point to do nothing).
I noticed the dependencies list says openjdk-8, but the Dockerfile is built from java:openjdk-7-jre-alpine.
yarn
&& yarn run build-hot
seem to work, but I get an error from lein ring server
:
06-10 17:25:19 INFO metabase.core :: Metabase Initialization COMPLETE
Started server on port 3000
Exception in thread "main" java.awt.HeadlessException, compiling:(/tmp/form-init6394606016271386868.clj:1:73)
at clojure.lang.Compiler.load(Compiler.java:7391)
at clojure.lang.Compiler.loadFile(Compiler.java:7317)
at clojure.main$load_script.invokeStatic(main.clj:275)
at clojure.main$init_opt.invokeStatic(main.clj:277)
at clojure.main$init_opt.invoke(main.clj:277)
at clojure.main$initialize.invokeStatic(main.clj:308)
at clojure.main$null_opt.invokeStatic(main.clj:342)
at clojure.main$null_opt.invoke(main.clj:339)
at clojure.main$main.invokeStatic(main.clj:421)
at clojure.main$main.doInvoke(main.clj:384)
at clojure.lang.RestFn.invoke(RestFn.java:421)
at clojure.lang.Var.invoke(Var.java:383)
at clojure.lang.AFn.applyToHelper(AFn.java:156)
at clojure.lang.Var.applyTo(Var.java:700)
at clojure.main.main(main.java:37)
Caused by: java.awt.HeadlessException
at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:204)
at java.awt.Window.<init>(Window.java:536)
at java.awt.Frame.<init>(Frame.java:420)
at java.awt.Frame.<init>(Frame.java:385)
at javax.swing.JFrame.<init>(JFrame.java:189)
at clojure.java.browse_ui$open_url_in_swing.invokeStatic(browse_ui.clj:19)
at clojure.java.browse_ui$open_url_in_swing.invoke(browse_ui.clj:15)
at clojure.lang.Var.invoke(Var.java:379)
at clojure.java.browse$open_url_in_swing.invokeStatic(browse.clj:64)
at clojure.java.browse$browse_url.invokeStatic(browse.clj:74)
at clojure.java.browse$browse_url.invoke(browse.clj:66)
at ring.server.standalone$open_browser_to.invokeStatic(standalone.clj:38)
at ring.server.standalone$open_browser_to.invoke(standalone.clj:37)
at ring.server.standalone$serve$fn__3616.invoke(standalone.clj:106)
at ring.server.standalone$try_port.invokeStatic(standalone.clj:16)
at ring.server.standalone$try_port.invoke(standalone.clj:10)
at ring.server.standalone$serve.invokeStatic(standalone.clj:99)
at ring.server.standalone$serve.doInvoke(standalone.clj:75)
at clojure.lang.RestFn.invoke(RestFn.java:423)
at ring.server.leiningen$serve.invokeStatic(leiningen.clj:13)
at ring.server.leiningen$serve.invoke(leiningen.clj:10)
at user$eval47172.invokeStatic(form-init6394606016271386868.clj:1)
at user$eval47172.invoke(form-init6394606016271386868.clj:1)
at clojure.lang.Compiler.eval(Compiler.java:6927)
at clojure.lang.Compiler.eval(Compiler.java:6917)
at clojure.lang.Compiler.load(Compiler.java:7379)
... 14 more
I’m trying again with v7 of openjdk, but it’s getting a little old waiting for everything to download/compile/pack/whatever each time
Is anyone else doing this? Any hints?