Problem you are facing/What is currently happening:
Currently I am trying to deploy a flask app with a marimo endpoint to a Kubernetes cluster, On localhost the setup and routing works fine. asgi_app = Starlette( routes=[ Route("/", endpoint=lambda request: RedirectResponse(url="/api/")), Mount("/api", app=wsgi_app), Mount("/", app=marimo_app.build()), ] )
On the cloud we ran into several permission errors. We are creating a user and gave privileges to /tmp folder, but now encounter the error: OSError: [Errno 30] Read-only file system: '/home/appuser/.marimo' However, we do not want to give write privileges to that folder.
What would you expect to happen? Maybe I do not understand the architecture well enough, but it would be nice to be able to specify a folder where marimo reads and writes the data. Here is some more information/trace
File "/usr/local/lib/python3.12/site-packages/marimo/_server/api/endpoints/ws.py", line 441, in get_session new_session = mgr.create_session( ^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/marimo/_server/sessions.py", line 729, in create_session self.recents.touch(app_file_manager.path) File "/usr/local/lib/python3.12/site-packages/marimo/_server/recents.py", line 49, in touch self.config.write_toml(state) File "/usr/local/lib/python3.12/site-packages/marimo/_utils/config/config.py", line 45, in write_toml _maybe_create_directory(self.filepath) File "/usr/local/lib/python3.12/site-packages/marimo/_utils/config/config.py", line 67, in _maybe_create_directory os.makedirs(marimo_directory) File "<frozen os>", line 225, in makedirs OSError: [Errno 30] Read-only file system: '/home/appuser/.marimo'
Is there something I can do to change the directory in which .marimo lies?
You could place a .marimo.toml file in the directory you are running the app, so it’s not trying to create a new one. It’s just looking for the user configuration