# Os.mkdir is not able to create new folder in Space

**URL:** </static-proxy?url=https%3A%2F%2Fdiscuss.huggingface.co%2Ft%2Fos-mkdir-is-not-able-to-create-new-folder-in-space%2F50818%3E%5C
**Category:** Spaces\
**Created:** [August 15, 2023, 11:54am UTC](/static-proxy?url=https%3A%2F%2Fdiscuss.huggingface.co%2Ft%2Fos-mkdir-is-not-able-to-create-new-folder-in-space%2F50818 "2023-08-15T11:54:52Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![serdarakyol](https://sea2.discourse-cdn.com/hellohellohello/user_avatar/discuss.huggingface.co/serdarakyol/32/18576_2.png) [@serdarakyol](/static-proxy?url=https%3A%2F%2Fdiscuss.huggingface.co%2Fu%2Fserdarakyol)%5C
**Post date:** [August 15, 2023, 11:54am UTC](/static-proxy?url=https%3A%2F%2Fdiscuss.huggingface.co%2Ft%2Fos-mkdir-is-not-able-to-create-new-folder-in-space%2F50818%2F1 "2023-08-15T11:54:52Z")

</div>

I have an API that is working smoothly on my local. Then, I tried to deploy my API with Space but I am always having a permission issue as below

```plaintext
File "/api/sabiduria_tool_api/services/service_sabiduria_tool.py", line 35, in save_files
    mkdir(self.data_store_path)
PermissionError: [Errno 13] Permission denied: '/api/sabiduria_tool_api/data/'

```

Here is the method that is failing

```python
async def save_files(self) -> None:
    if isdir(self.data_store_path):
        old_files = self.get_files()
        for o_file in old_files:
            remove(f"{self.data_store_path}{o_file}")
    else:
        mkdir(self.data_store_path)
    for file in self.files:
        with open(f"{self.data_store_path}{file.filename}", "wb") as destination:
            copyfileobj(file.file, destination)

```

Here is my docker file

```yml
FROM python:3.9.7

COPY ./requirements.txt /api/requirements.txt
COPY ./sabiduria_tool_api /api/sabiduria_tool_api

WORKDIR /api

RUN pip install --upgrade pip
RUN pip install -r requirements.txt

CMD ["uvicorn", "sabiduria_tool_api.main:app", "--host", "0.0.0.0", "--port", "7860"]

```

Is there a way that I can create a folder?

---

<div class="post-metadata">

**Author:** ![chris-rannou](https://avatars.discourse-cdn.com/v4/letter/c/7feea3/32.png) [@chris-rannou](/static-proxy?url=https%3A%2F%2Fdiscuss.huggingface.co%2Fu%2Fchris-rannou)%5C
**Post date:** [August 16, 2023, 9:51am UTC](/static-proxy?url=https%3A%2F%2Fdiscuss.huggingface.co%2Ft%2Fos-mkdir-is-not-able-to-create-new-folder-in-space%2F50818%2F2 "2023-08-16T09:51:39Z")

</div>

Hello @serdarakyol,

Issue is your space is running with an unprivileged user while by default during a docker build commands are run as root.

To prevent this issue you need to copy your resources specifying the owner.

```auto
FROM python:3.9.7

# Set up a new user named "user" with user ID 1000
RUN useradd -m -u 1000 user

# Switch to the "user" user
USER user

COPY --chown=user ./requirements.txt /api/requirements.txt
COPY --chown=user ./sabiduria_tool_api /api/sabiduria_tool_api

WORKDIR /api

RUN pip install --upgrade pip
RUN pip install -r requirements.txt

CMD ["uvicorn", "sabiduria_tool_api.main:app", "--host", "0.0.0.0", "--port", "7860"]

```

You’ll find more info regarding permissions issues in the [documentation](https://huggingface.co/docs/hub/spaces-sdks-docker#permissions)

---

<div class="post-metadata">

**Author:** ![julien-c](https://sea2.discourse-cdn.com/hellohellohello/user_avatar/discuss.huggingface.co/julien-c/32/41937_2.png) [@julien-c](/static-proxy?url=https%3A%2F%2Fdiscuss.huggingface.co%2Fu%2Fjulien-c)%5C
**Post date:** [August 16, 2023, 1:37pm UTC](/static-proxy?url=https%3A%2F%2Fdiscuss.huggingface.co%2Ft%2Fos-mkdir-is-not-able-to-create-new-folder-in-space%2F50818%2F3 "2023-08-16T13:37:27Z")

</div>

let us know if this solves your issue @serdarakyol !

---

<div class="post-metadata">

**Author:** ![i-darrshan](https://avatars.discourse-cdn.com/v4/letter/i/f1d935/32.png) [@i-darrshan](/static-proxy?url=https%3A%2F%2Fdiscuss.huggingface.co%2Fu%2Fi-darrshan)%5C
**Post date:** [April 19, 2024, 10:25am UTC](/static-proxy?url=https%3A%2F%2Fdiscuss.huggingface.co%2Ft%2Fos-mkdir-is-not-able-to-create-new-folder-in-space%2F50818%2F4 "2024-04-19T10:25:06Z")

</div>

I have this in Dockerfile:

FROM python:3.9.12

ENV PYTHONDONTWRITEBYTECODE 1  
ENV PYTHONUNBUFFERED 1

WORKDIR /app

COPY . /app

RUN apt-get update && apt-get install -y \

libgl1-mesa-glx \

&& rm -rf /var/lib/apt/lists/\*

RUN pip install --no-cache-dir flask tensorflow jsonify  
RUN pip install --no-cache-dir gunicorn

EXPOSE 5000

CMD [“gunicorn”, “–workers”, “2”, “–timeout”, “180”, “–bind”, “0.0.0.0:5000”, “app:app”]

I am getting permission error when my app.py runs, telling:

…  
os.makedirs(temp\_folder, exist\_ok=True)  
File “/usr/local/lib/python3.9/os.py”, line 225, in makedirs  
mkdir(name, mode)  
PermissionError: [Errno 13] Permission denied: ‘temporary’  
[2024-04-19 06:57:15 +0000] [8] [INFO] Worker exiting (pid: 8)  
[2024-04-19 06:57:15 +0000] [1] [ERROR] Worker (pid:7) exited with code 3  
[2024-04-19 06:57:15 +0000] [1] [ERROR] Worker (pid:8) was sent SIGTERM!  
[2024-04-19 06:57:15 +0000] [1] [ERROR] Shutting down: Master  
[2024-04-19 06:57:15 +0000] [1] [ERROR] Reason: Worker failed to boot.

---

<div class="post-metadata">

**Author:** ![radames](https://sea2.discourse-cdn.com/hellohellohello/user_avatar/discuss.huggingface.co/radames/32/28246_2.png) [@radames](/static-proxy?url=https%3A%2F%2Fdiscuss.huggingface.co%2Fu%2Fradames)%5C
**Post date:** [April 19, 2024, 6:21pm UTC](/static-proxy?url=https%3A%2F%2Fdiscuss.huggingface.co%2Ft%2Fos-mkdir-is-not-able-to-create-new-folder-in-space%2F50818%2F5 "2024-04-19T18:21:35Z")

</div>

hi @i-darrshan please make sure you the running user has permission, follow our guide here

> **[Docker Spaces](https://huggingface.co/docs/hub/spaces-sdks-docker#permissions)**
>
> We’re on a journey to advance and democratize artificial intelligence through open source and open science.

---

<div class="post-metadata">

**Author:** ![i-darrshan](https://avatars.discourse-cdn.com/v4/letter/i/f1d935/32.png) [@i-darrshan](/static-proxy?url=https%3A%2F%2Fdiscuss.huggingface.co%2Fu%2Fi-darrshan)%5C
**Post date:** [April 24, 2024, 11:48pm UTC](/static-proxy?url=https%3A%2F%2Fdiscuss.huggingface.co%2Ft%2Fos-mkdir-is-not-able-to-create-new-folder-in-space%2F50818%2F6 "2024-04-24T23:48:55Z")

</div>

I ran that, but got some errors. So I request to modify and provide the dockerfile script for me

---

<div class="post-metadata">

**Author:** ![radames](https://sea2.discourse-cdn.com/hellohellohello/user_avatar/discuss.huggingface.co/radames/32/28246_2.png) [@radames](/static-proxy?url=https%3A%2F%2Fdiscuss.huggingface.co%2Fu%2Fradames)%5C
**Post date:** [April 25, 2024, 4:56pm UTC](/static-proxy?url=https%3A%2F%2Fdiscuss.huggingface.co%2Ft%2Fos-mkdir-is-not-able-to-create-new-folder-in-space%2F50818%2F7 "2024-04-25T16:56:51Z")

</div>

hi @i-darrshan could you please share a public Space ? We’d be happy to help you here

---

<div class="post-metadata">

**Author:** ![i-darrshan](https://avatars.discourse-cdn.com/v4/letter/i/f1d935/32.png) [@i-darrshan](/static-proxy?url=https%3A%2F%2Fdiscuss.huggingface.co%2Fu%2Fi-darrshan)%5C
**Post date:** [April 28, 2024, 2:37am UTC](/static-proxy?url=https%3A%2F%2Fdiscuss.huggingface.co%2Ft%2Fos-mkdir-is-not-able-to-create-new-folder-in-space%2F50818%2F8 "2024-04-28T02:37:12Z")

</div>

hi @radames. I have made the repository public. You can now access it at i-darrshan/defecto

---

<div class="post-metadata">

**Author:** ![saurav-sabu](https://avatars.discourse-cdn.com/v4/letter/s/7ba0ec/32.png) [@saurav-sabu](/static-proxy?url=https%3A%2F%2Fdiscuss.huggingface.co%2Fu%2Fsaurav-sabu)%5C
**Post date:** [October 15, 2024, 6:36am UTC](/static-proxy?url=https%3A%2F%2Fdiscuss.huggingface.co%2Ft%2Fos-mkdir-is-not-able-to-create-new-folder-in-space%2F50818%2F9 "2024-10-15T06:36:08Z")

</div>

Hi @i-darrshan ,

I am facing this issue

 ![image](https://us1.discourse-cdn.com/hellohellohello/original/3X/c/e/cef44ec78ceed454a08e3751c179d9611d2cd5ae.png)

docker file:

 ![image](https://us1.discourse-cdn.com/hellohellohello/original/3X/a/0/a0996fe943081301190b23d4d055ccc6e4414069.png)

Can you share the dockerfile contents regarding permission to create folders and files
