LogicGoInfotechSpaces commited on
Commit
e880bba
·
1 Parent(s): ca564e8

API: write under /data; Dockerfile precreates /data/uploads and /data/outputs with perms

Browse files
Files changed (2) hide show
  1. Dockerfile +3 -0
  2. api/main.py +8 -4
Dockerfile CHANGED
@@ -19,6 +19,9 @@ COPY requirements.txt ./
19
  RUN pip install --no-cache-dir -r requirements.txt
20
  COPY . .
21
 
 
 
 
22
  # Expose HF Spaces default port
23
  EXPOSE 7860
24
 
 
19
  RUN pip install --no-cache-dir -r requirements.txt
20
  COPY . .
21
 
22
+ # Ensure writable dirs for API
23
+ RUN mkdir -p /data/uploads /data/outputs && chmod -R 777 /data
24
+
25
  # Expose HF Spaces default port
26
  EXPOSE 7860
27
 
api/main.py CHANGED
@@ -12,10 +12,14 @@ from PIL import Image
12
 
13
  from src.core import process_inpaint
14
 
15
- # Directories
16
- ROOT = os.getcwd()
17
- UPLOAD_DIR = os.path.join(ROOT, "uploads")
18
- OUTPUT_DIR = os.path.join(ROOT, "outputs")
 
 
 
 
19
 
20
  os.makedirs(UPLOAD_DIR, exist_ok=True)
21
  os.makedirs(OUTPUT_DIR, exist_ok=True)
 
12
 
13
  from src.core import process_inpaint
14
 
15
+ # Directories (use writable space on HF Spaces)
16
+ BASE_DIR = os.environ.get("DATA_DIR", "/data")
17
+ if not os.path.isdir(BASE_DIR):
18
+ # Fallback to /tmp if /data not available
19
+ BASE_DIR = "/tmp"
20
+
21
+ UPLOAD_DIR = os.path.join(BASE_DIR, "uploads")
22
+ OUTPUT_DIR = os.path.join(BASE_DIR, "outputs")
23
 
24
  os.makedirs(UPLOAD_DIR, exist_ok=True)
25
  os.makedirs(OUTPUT_DIR, exist_ok=True)