Metabase in Openshift

Hello there! Is anybody successfully deployed Metabase into the Openshift?

I tried, but got an error

Here is the image I use metabase/metabase:v0.38.5

Maybe is anyone has the tutorial of proper way how to deploy metabase to Openshift?

The logs from pod:

2023-07-31 15:15:48,988 INFO middleware.exceptions :: Request canceled before finishing.
org.h2.message.DbException: Log file error: "/metabase.db.trace.db", cause: "java.io.FileNotFoundException: /metabase.db.trace.db (Permission denied)" [90034-197]
org.h2.message.DbException: Log file error: "/metabase.db.trace.db", cause: "java.io.FileNotFoundException: /metabase.db.trace.db (Permission denied)" [90034-197]
at org.h2.message.DbException.get(DbException.java:168)
at org.h2.message.TraceSystem.logWritingError(TraceSystem.java:289)
at org.h2.message.TraceSystem.openWriter(TraceSystem.java:310)
at org.h2.message.TraceSystem.writeFile(TraceSystem.java:258)
at org.h2.message.TraceSystem.write(TraceSystem.java:242)
at org.h2.message.Trace.error(Trace.java:182)
at org.h2.engine.Database.setBackgroundException(Database.java:2110)
at org.h2.mvstore.db.MVTableEngine$1.uncaughtException(MVTableEngine.java:95)
at org.h2.mvstore.MVStore.handleException(MVStore.java:2506)
at org.h2.mvstore.MVStore.panic(MVStore.java:383)
at org.h2.mvstore.MVStore.(MVStore.java:364)
at org.h2.mvstore.MVStore$Builder.open(MVStore.java:2934)
at org.h2.mvstore.db.MVTableEngine$Store.open(MVTableEngine.java:155)
at org.h2.mvstore.db.MVTableEngine.init(MVTableEngine.java:100)
at org.h2.engine.Database.getPageStore(Database.java:2538)
at org.h2.engine.Database.open(Database.java:709)
at org.h2.engine.Database.openDatabase(Database.java:286)
at org.h2.engine.Database.(Database.java:280)
at org.h2.engine.Engine.openSession(Engine.java:66)
at org.h2.engine.Engine.openSession(Engine.java:179)
at org.h2.engine.Engine.createSessionAndValidate(Engine.java:157)
at org.h2.engine.Engine.createSession(Engine.java:140)
at org.h2.engine.Engine.createSession(Engine.java:28)
at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:351)
at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:124)
at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:103)
at org.h2.Driver.connect(Driver.java:69)
at java.sql/java.sql.DriverManager.getConnection(Unknown Source)
at java.sql/java.sql.DriverManager.getConnection(Unknown Source)
at clojure.java.jdbc$get_driver_connection.invokeStatic(jdbc.clj:271)
at clojure.java.jdbc$get_driver_connection.invoke(jdbc.clj:250)
at clojure.java.jdbc$get_connection.invokeStatic(jdbc.clj:411)
at clojure.java.jdbc$get_connection.invoke(jdbc.clj:274)
at clojure.java.jdbc$db_query_with_resultset_STAR_.invokeStatic(jdbc.clj:1111)
at clojure.java.jdbc$db_query_with_resultset_STAR_.invoke(jdbc.clj:1093)
at clojure.java.jdbc$query.invokeStatic(jdbc.clj:1182)
at clojure.java.jdbc$query.invoke(jdbc.clj:1144)
at clojure.java.jdbc$query.invokeStatic(jdbc.clj:1160)
at clojure.java.jdbc$query.invoke(jdbc.clj:1144)
at metabase.driver.sql_jdbc.connection$can_connect_with_spec_QMARK_.invokeStatic(connection.clj:175)
at metabase.driver.sql_jdbc.connection$can_connect_with_spec_QMARK_.invoke(connection.clj:172)
at metabase.db.setup$fn__34562$verify_db_connection__34567$fn__34568$fn__34569.invoke(setup.clj:100)
at metabase.db.setup$fn__34562$verify_db_connection__34567$fn__34568.invoke(setup.clj:100)
at metabase.db.setup$fn__34562$verify_db_connection__34567.invoke(setup.clj:94)
at metabase.db.setup$setup_db_BANG_$fn__34597$fn__34598.invoke(setup.clj:142)
at metabase.util$do_with_us_locale.invokeStatic(util.clj:675)
at metabase.util$do_with_us_locale.invoke(util.clj:661)
at metabase.db.setup$setup_db_BANG_$fn__34597.invoke(setup.clj:141)
at metabase.db.setup$setup_db_BANG_.invokeStatic(setup.clj:140)
at metabase.db.setup$setup_db_BANG_.invoke(setup.clj:136)
at metabase.db$setup_db_BANG_$fn__34611.invoke(db.clj:61)
at metabase.db$setup_db_BANG_.invokeStatic(db.clj:56)
at metabase.db$setup_db_BANG_.invoke(db.clj:51)
at metabase.core$init_BANG_.invokeStatic(core.clj:94)
at metabase.core$init_BANG_.invoke(core.clj:73)
at metabase.core$start_normally.invokeStatic(core.clj:138)
at metabase.core$start_normally.invoke(core.clj:132)
at metabase.core$main.invokeStatic(core.clj:171)
at metabase.core$main.doInvoke(core.clj:165)
at clojure.lang.RestFn.invoke(RestFn.java:397)
at clojure.lang.AFn.applyToHelper(AFn.java:152)
at clojure.lang.RestFn.applyTo(RestFn.java:132)
at metabase.core.main(Unknown Source)
Caused by: org.h2.jdbc.JdbcSQLException: Log file error: "/metabase.db.trace.db", cause: "java.io.FileNotFoundException: /metabase.db.trace.db (Permission denied)" [90034-197]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:357)
... 63 more
Caused by: java.io.FileNotFoundException: /metabase.db.trace.db (Permission denied)
at java.base/java.io.FileOutputStream.open0(Native Method)
at java.base/java.io.FileOutputStream.open(Unknown Source)
at java.base/java.io.FileOutputStream.(Unknown Source)
at java.base/java.io.FileOutputStream.(Unknown Source)
at org.h2.store.fs.FilePathDisk.newOutputStream(FilePathDisk.java:287)
at org.h2.store.fs.FileUtils.newOutputStream(FileUtils.java:236)
at org.h2.message.TraceSystem.openWriter(TraceSystem.java:306)
... 60 more
2023-07-31 15:15:52,465 ERROR metabase.core :: Metabase Initialization FAILED
clojure.lang.ExceptionInfo: Unable to connect to Metabase h2 DB. {}
at metabase.db.setup$fn__34562$verify_db_connection__34567$fn__34568$fn__34569.invoke(setup.clj:102)
at metabase.db.setup$fn__34562$verify_db_connection__34567$fn__34568.invoke(setup.clj:100)
at metabase.db.setup$fn__34562$verify_db_connection__34567.invoke(setup.clj:94)
at metabase.db.setup$setup_db_BANG
$fn__34597$fn__34598.invoke(setup.clj:142)
at metabase.util$do_with_us_locale.invokeStatic(util.clj:675)
at metabase.util$do_with_us_locale.invoke(util.clj:661)
at metabase.db.setup$setup_db_BANG
$fn__34597.invoke(setup.clj:141)
at metabase.db.setup$setup_db_BANG_.invokeStatic(setup.clj:140)
at metabase.db.setup$setup_db_BANG_.invoke(setup.clj:136)
at metabase.db$setup_db_BANG_$fn__34611.invoke(db.clj:61)
at metabase.db$setup_db_BANG_.invokeStatic(db.clj:56)
at metabase.db$setup_db_BANG_.invoke(db.clj:51)
at metabase.core$init_BANG_.invokeStatic(core.clj:94)
at metabase.core$init_BANG_.invoke(core.clj:73)
at metabase.core$start_normally.invokeStatic(core.clj:138)
at metabase.core$start_normally.invoke(core.clj:132)
at metabase.core$main.invokeStatic(core.clj:171)
at metabase.core$main.doInvoke(core.clj:165)
at clojure.lang.RestFn.invoke(RestFn.java:397)
at clojure.lang.AFn.applyToHelper(AFn.java:152)
at clojure.lang.RestFn.applyTo(RestFn.java:132)
at metabase.core.main(Unknown Source)
Caused by: org.h2.jdbc.JdbcSQLException: IO Exception: null [90028-197]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:357)
at org.h2.message.DbException.get(DbException.java:168)
at org.h2.mvstore.db.MVTableEngine$Store.convertIllegalStateException(MVTableEngine.java:192)
at org.h2.mvstore.db.MVTableEngine$Store.open(MVTableEngine.java:168)
at org.h2.mvstore.db.MVTableEngine.init(MVTableEngine.java:100)
at org.h2.engine.Database.getPageStore(Database.java:2538)
at org.h2.engine.Database.open(Database.java:709)
at org.h2.engine.Database.openDatabase(Database.java:286)
at org.h2.engine.Database.(Database.java:280)
at org.h2.engine.Engine.openSession(Engine.java:66)
at org.h2.engine.Engine.openSession(Engine.java:179)
at org.h2.engine.Engine.createSessionAndValidate(Engine.java:157)
at org.h2.engine.Engine.createSession(Engine.java:140)
at org.h2.engine.Engine.createSession(Engine.java:28)
at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:351)
at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:124)
at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:103)
at org.h2.Driver.connect(Driver.java:69)
at java.sql/java.sql.DriverManager.getConnection(Unknown Source)
at java.sql/java.sql.DriverManager.getConnection(Unknown Source)
at clojure.java.jdbc$get_driver_connection.invokeStatic(jdbc.clj:271)
at clojure.java.jdbc$get_driver_connection.invoke(jdbc.clj:250)
at clojure.java.jdbc$get_connection.invokeStatic(jdbc.clj:411)
at clojure.java.jdbc$get_connection.invoke(jdbc.clj:274)
at clojure.java.jdbc$db_query_with_resultset_STAR
.invokeStatic(jdbc.clj:1111)
at clojure.java.jdbc$db_query_with_resultset_STAR
.invoke(jdbc.clj:1093)
at clojure.java.jdbc$query.invokeStatic(jdbc.clj:1182)
at clojure.java.jdbc$query.invoke(jdbc.clj:1144)
at clojure.java.jdbc$query.invokeStatic(jdbc.clj:1160)
at clojure.java.jdbc$query.invoke(jdbc.clj:1144)
at metabase.driver.sql_jdbc.connection$can_connect_with_spec_QMARK_.invokeStatic(connection.clj:175)
at metabase.driver.sql_jdbc.connection$can_connect_with_spec_QMARK_.invoke(connection.clj:172)
at metabase.db.setup$fn__34562$verify_db_connection__34567$fn__34568$fn__34569.invoke(setup.clj:100)
... 21 more
Caused by: java.lang.IllegalStateException: Could not open file nio:/metabase.db.mv.db [1.4.197/1]
at org.h2.mvstore.DataUtils.newIllegalStateException(DataUtils.java:870)
at org.h2.mvstore.FileStore.open(FileStore.java:179)
at org.h2.mvstore.MVStore.(MVStore.java:350)
at org.h2.mvstore.MVStore$Builder.open(MVStore.java:2934)
at org.h2.mvstore.db.MVTableEngine$Store.open(MVTableEngine.java:155)
... 50 more
Caused by: java.io.FileNotFoundException: /metabase.db.mv.db (Permission denied)
at java.base/java.io.RandomAccessFile.open0(Native Method)
at java.base/java.io.RandomAccessFile.open(Unknown Source)
at java.base/java.io.RandomAccessFile.(Unknown Source)
at java.base/java.io.RandomAccessFile.(Unknown Source)
at java.base/java.io.RandomAccessFile.(Unknown Source)
at org.h2.store.fs.FileNio.(FilePathNio.java:43)
at org.h2.store.fs.FilePathNio.open(FilePathNio.java:23)
at org.h2.mvstore.FileStore.open(FileStore.java:155)
... 53 more
2023-07-31 15:15:52,546 INFO metabase.core :: Metabase Shutting Down ...
2023-07-31 15:15:52,564 INFO metabase.server :: Shutting Down Embedded Jetty Webserver
2023-07-31 15:15:52,611 INFO metabase.core :: Metabase Shutdown COMPLETE

Hi where did you get the guide for deploying that version? It has several years old

I use Metabase in Kubernetes with GitOps (ArgoCD) which Openshift utilizes thru the operator "Openshift GitOps". I don't have any issues running in Kubernetes though

Where did you get the version from?