# Couldn't connect to Weaviate, check your URL/API KEY: \[Errno 30\] Read-only file system: 

**URL:** <https://forum.weaviate.io/t/couldnt-connect-to-weaviate-check-your-url-api-key-errno-30-read-only-file-system/7338>\
**Category:** Support\
**Tags:** bug\
**Created:** [October 30, 2024, 2:20pm UTC](https://forum.weaviate.io/t/couldnt-connect-to-weaviate-check-your-url-api-key-errno-30-read-only-file-system/7338 "2024-10-30T14:20:11Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![nan\_dou](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.weaviate.io/nan_dou/32/2753_2.png) [@nan\_dou](https://forum.weaviate.io/u/nan_dou)\
**Post date:** [October 30, 2024, 2:20pm UTC](https://forum.weaviate.io/t/couldnt-connect-to-weaviate-check-your-url-api-key-errno-30-read-only-file-system/7338/1 "2024-10-30T14:20:11Z")

</div>

![WechatIMG314](https://canada1.discourse-cdn.com/flex027/uploads/weaviate/original/2X/6/65f3da61c517aada5464437646fffddcab6c27e6.jpeg)

Hello! When I log in using the local method, it shows “Failed to connect to Weaviate Couldn’t connect to Weaviate, check your URL/API KEY: [Errno 30] Read-only file system: ‘/home/mjzheng/.cache/weaviate-embedded’.” I know this is because the ‘/home/mjzheng/.cache’ path I am using is read-only since I am using the school’s server. I want to change the cache path to ‘/data2/mjzheng/.cache’. What should I do specifically?

---

<div class="post-metadata">

**Author:** ![DudaNogueira](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.weaviate.io/dudanogueira/32/7846_2.png) [@DudaNogueira](https://forum.weaviate.io/u/DudaNogueira)\
**Post date:** [October 30, 2024, 3:34pm UTC](https://forum.weaviate.io/t/couldnt-connect-to-weaviate-check-your-url-api-key-errno-30-read-only-file-system/7338/2 "2024-10-30T15:34:01Z")

</div>

hi @nan_dou !!

Welcome to our community 🤗

Can you try defining a different environment variable for `XDG_DATA_HOME ` right before running Verba?

According to here: [Embedded Weaviate | Weaviate](https://weaviate.io/developers/weaviate/installation/embedded#configuration-options)

it should define the persistence path as `{XDG_DATA_HOME}/weaviate/`

Thanks!

---

<div class="post-metadata">

**Author:** ![nan\_dou](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.weaviate.io/nan_dou/32/2753_2.png) [@nan\_dou](https://forum.weaviate.io/u/nan_dou)\
**Post date:** [October 31, 2024, 11:18am UTC](https://forum.weaviate.io/t/couldnt-connect-to-weaviate-check-your-url-api-key-errno-30-read-only-file-system/7338/3 "2024-10-31T11:18:01Z")

</div>

oh, thanks. I’ve logged on the front-end page of verba. and i started ollama serve and ollama run llama3 in the background, but I couldn’t get feedback from the model. like this:  
“Query failed: 500, message=‘Internal Server Error’,  
url=URL(‘[http://localhost:11434/api/embed](http://localhost:11434/api/embed)’)”

---

<div class="post-metadata">

**Author:** ![DudaNogueira](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.weaviate.io/dudanogueira/32/7846_2.png) [@DudaNogueira](https://forum.weaviate.io/u/DudaNogueira)\
**Post date:** [October 31, 2024, 12:51pm UTC](https://forum.weaviate.io/t/couldnt-connect-to-weaviate-check-your-url-api-key-errno-30-read-only-file-system/7338/4 "2024-10-31T12:51:38Z")

</div>

Can you paste the entire error stack?

This seems a 500 error in ollama.

Do you see any outstanding errors in

```auto
~/.ollama/logs/server.log

```

?

---

<div class="post-metadata">

**Author:** ![nan\_dou](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.weaviate.io/nan_dou/32/2753_2.png) [@nan\_dou](https://forum.weaviate.io/u/nan_dou)\
**Post date:** [November 1, 2024, 6:27am UTC](https://forum.weaviate.io/t/couldnt-connect-to-weaviate-check-your-url-api-key-errno-30-read-only-file-system/7338/5 "2024-11-01T06:27:00Z")

</div>

I still haven’t solved the problem. ollama serve turned like :  
INFO [main] model loaded | tid=“139740393578496” timestamp=1730437064  
time=2024-11-01T12:57:44.375+08:00 level=INFO source=server.go:626 msg=“llama runner started in 5.02 seconds”  
time=2024-11-01T12:57:44.424+08:00 level=INFO source=server.go:992 msg=“llm encode error: 500 Internal Server Error\nn\_Map\_base::at”,  
and i upload documents to verba failed ,verba log:  
✔ Succesfully retrieved document: 0 documents  
INFO: 127.0.0.1:41544 - “POST /api/get\_all\_documents HTTP/1.1” 200 OK  
INFO: 127.0.0.1:41534 - “POST /api/get\_labels HTTP/1.1” 200 OK  
✔ Succesfully retrieved document: 0 documents  
should i do to adjust ?

---

<div class="post-metadata">

**Author:** ![DudaNogueira](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.weaviate.io/dudanogueira/32/7846_2.png) [@DudaNogueira](https://forum.weaviate.io/u/DudaNogueira)\
**Post date:** [November 1, 2024, 12:52pm UTC](https://forum.weaviate.io/t/couldnt-connect-to-weaviate-check-your-url-api-key-errno-30-read-only-file-system/7338/6 "2024-11-01T12:52:32Z")

</div>

That is strange.

Could we do a screen share session? Feel free to join us in our slack so we can align this:

[https://weaviate.io/slack](https://weaviate.io/slack)

One thing we could try doing is entering Weaviate container and try vectorizing something in ollama from there, so we can try getting more from this error message.

---

<div class="post-metadata">

**Author:** ![DudaNogueira](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.weaviate.io/dudanogueira/32/7846_2.png) [@DudaNogueira](https://forum.weaviate.io/u/DudaNogueira)\
**Post date:** [November 1, 2024, 12:53pm UTC](https://forum.weaviate.io/t/couldnt-connect-to-weaviate-check-your-url-api-key-errno-30-read-only-file-system/7338/7 "2024-11-01T12:53:54Z")

</div>

> [@nan\_dou](#):
>
> time=2024-11-01T12:57:44.424+08:00 level=INFO source=server.go:992 msg=“llm encode error: 500 Internal Server Error\nn\_Map\_base::at”,

By the way, this message you got from ollama logs, right?

This seems an ollama issue. Are you running the latest ollama version?

Can you run a docker on that computer? That could make things easier… 🤔

---

<div class="post-metadata">

**Author:** ![nan\_dou](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.weaviate.io/nan_dou/32/2753_2.png) [@nan\_dou](https://forum.weaviate.io/u/nan_dou)\
**Post date:** [November 1, 2024, 2:07pm UTC](https://forum.weaviate.io/t/couldnt-connect-to-weaviate-check-your-url-api-key-errno-30-read-only-file-system/7338/8 "2024-11-01T14:07:42Z")

</div>

Dear, it is very regrettable that my server does not have permission to use Docker. I plan to use Start an Embedded Weaviate instance—Python Client v3. However, after executing the Python code, an error occurred as follows. My confusion is that after using the XDG variable for the persistence path, the problem still hasn’t been solved. Is there an error in the way I declare environment variables? Another confusion is how can I deploy Weaviate to my local server? Is there any tutorial?By the way, I am using the local deployment method.

 ![1](https://canada1.discourse-cdn.com/flex027/uploads/weaviate/original/2X/0/04556d1230bbe79fdd6830501e26df3bed9675ab.jpeg)

Traceback (most recent call last):  
File “”, line 1, in   
File “/data\_temp/mjzheng/env/temp\_rag/lib/python3.10/site-packages/weaviate/client.py”, line 268, in **init**  
url, embedded\_db = self.\_\_parse\_url\_and\_embedded\_db(url, embedded\_options)  
File “/data\_temp/mjzheng/env/temp\_rag/lib/python3.10/site-packages/weaviate/client.py”, line 302, in \_\_parse\_url\_and\_embedded\_db  
embedded\_db = EmbeddedV3(options=embedded\_options)  
File “/data\_temp/mjzheng/env/temp\_rag/lib/python3.10/site-packages/weaviate/embedded.py”, line 60, in **init**  
self.ensure\_paths\_exist()  
File “/data\_temp/mjzheng/env/temp\_rag/lib/python3.10/site-packages/weaviate/embedded.py”, line 129, in ensure\_paths\_exist  
Path(self.options.binary\_path).mkdir(parents=True, exist\_ok=True)  
File “/data\_temp/mjzheng/env/temp\_rag/lib/python3.10/pathlib.py”, line 1175, in mkdir  
self.\_accessor.mkdir(self, mode)  
OSError: [Errno 30] Read-only file system: ‘/home/mjzheng/.cache/weaviate-embedded’

---

<div class="post-metadata">

**Author:** ![DudaNogueira](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.weaviate.io/dudanogueira/32/7846_2.png) [@DudaNogueira](https://forum.weaviate.io/u/DudaNogueira)\
**Post date:** [November 1, 2024, 2:24pm UTC](https://forum.weaviate.io/t/couldnt-connect-to-weaviate-check-your-url-api-key-errno-30-read-only-file-system/7338/9 "2024-11-01T14:24:35Z")

</div>

This has worked for me.

try this:

```shell
mkdir -p /tmp/nan-temp/data
cd /tmp/nan-temp
export XDG_DATA_HOME=/tmp/nan-temp/data
echo "import weaviate
client = weaviate.connect_to_embedded()
client.close()" > app.py
python3 app.py
ls data/

```

this should be the output:

> {“action”:“startup”,“build\_git\_commit”:“ab0312d5d”,“build\_go\_version”:“go1.23.1”,“build\_image\_tag”:“localhost”,“build\_wv\_version”:“1.26.6”,“default\_vectorizer\_module”:“none”,“level”:“info”,“msg”:“the default vectorizer modules is set to "none", as a result all new schema classes without an explicit vectorizer setting, will use this vectorizer”,“time”:“2024-11-01T11:22:15-03:00”}  
> …  
> some logs here…  
> …  
> {“build\_git\_commit”:“ab0312d5d”,“build\_go\_version”:“go1.23.1”,“build\_image\_tag”:“localhost”,“build\_wv\_version”:“1.26.6”,“level”:“info”,“msg”:“closing raft-rpc server …”,“time”:“2024-11-01T11:22:19-03:00”}  
> classifications.db migration1.22.fs.hierarchy schema.db  
> migration1.19.filter2search.skip.flag modules.db  
> migration1.19.filter2search.state raft

Let me know if this works.

This will basically set the correct data path, create the path, run the server locally, close the connection, and list the provided data path

🙂

---

<div class="post-metadata">

**Author:** ![DudaNogueira](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.weaviate.io/dudanogueira/32/7846_2.png) [@DudaNogueira](https://forum.weaviate.io/u/DudaNogueira)\
**Post date:** [November 4, 2024, 12:08pm UTC](https://forum.weaviate.io/t/couldnt-connect-to-weaviate-check-your-url-api-key-errno-30-read-only-file-system/7338/11 "2024-11-04T12:08:04Z")

</div>

hi @nan_dou !!

Let me know if this worked for you.

Also, if necessary, happy to jump in a call 🙂

Have a great day!

---

<div class="post-metadata">

**Author:** ![nan\_dou](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.weaviate.io/nan_dou/32/2753_2.png) [@nan\_dou](https://forum.weaviate.io/u/nan_dou)\
**Post date:** [November 14, 2024, 9:03am UTC](https://forum.weaviate.io/t/couldnt-connect-to-weaviate-check-your-url-api-key-errno-30-read-only-file-system/7338/12 "2024-11-14T09:03:46Z")

</div>

Thank you very much for your help. I have successfully used cloud weaviate, and now I want to deploy Embedded Weaviate locally, but I don’t seem to see the command for downloading in [Embedded Weaviate | Weaviate](https://weaviate.io/developers/weaviate/installation/embedded)

 ![截屏2024-11-14 17.01.49](https://canada1.discourse-cdn.com/flex027/uploads/weaviate/original/2X/e/e9b00de5fb8a0b6ab77169b87c5d91f01968404e.png)

---

<div class="post-metadata">

**Author:** ![DudaNogueira](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.weaviate.io/dudanogueira/32/7846_2.png) [@DudaNogueira](https://forum.weaviate.io/u/DudaNogueira)\
**Post date:** [November 14, 2024, 1:20pm UTC](https://forum.weaviate.io/t/couldnt-connect-to-weaviate-check-your-url-api-key-errno-30-read-only-file-system/7338/13 "2024-11-14T13:20:52Z")

</div>

hi @nan_dou ! Glat to hear that!

You run Embedded mode from “within” the client.

It will first then download the go binary and run it for you.

This is all you need for running with python:

```python
import weaviate
client = weaviate.connect_to_embedded()
print(client.get_meta().get("version"))

```

now you content will be stored, by default, at `~/.local/share/weaviate/` (unless you specify otherwise)

Let me know if that helps!

Thanks!
