jmanhype commited on
Commit
3b2db4a
·
1 Parent(s): c8e57a9

Create minimal setup to test build system

Browse files
Files changed (2) hide show
  1. Dockerfile +13 -17
  2. app.py +10 -41
Dockerfile CHANGED
@@ -1,30 +1,26 @@
1
- FROM python:3.9
2
 
3
- # Create a non-root user
4
- RUN useradd -m -u 1000 user
5
-
6
- # Create cache and data directories with proper permissions
7
- RUN mkdir -p /data /home/user/.cache && \
8
- chown -R user:user /data /home/user/.cache
9
 
10
- # Switch to non-root user
 
11
  USER user
12
-
13
- # Set environment variables
14
  ENV HOME=/home/user \
15
- PATH=/home/user/.local/bin:$PATH \
16
- PYTHONUNBUFFERED=1 \
17
- HUGGINGFACE_HUB_CACHE=/home/user/.cache/huggingface
18
 
19
  WORKDIR /home/user/app
20
 
21
  # Install Python packages
22
- COPY --chown=user:user requirements.txt .
23
- RUN pip install --no-cache-dir -r requirements.txt
 
24
 
25
- # Copy application code
26
  COPY --chown=user:user . .
27
 
28
  EXPOSE 7860
29
 
30
- CMD ["python", "-u", "app.py"]
 
1
+ FROM python:3.9-slim
2
 
3
+ # Install system dependencies
4
+ RUN apt-get update && apt-get install -y \
5
+ git \
6
+ && rm -rf /var/lib/apt/lists/*
 
 
7
 
8
+ # Create and switch to non-root user
9
+ RUN useradd -m -u 1000 user
10
  USER user
 
 
11
  ENV HOME=/home/user \
12
+ PATH=/home/user/.local/bin:$PATH
 
 
13
 
14
  WORKDIR /home/user/app
15
 
16
  # Install Python packages
17
+ RUN pip install --no-cache-dir \
18
+ gradio>=4.16.0 \
19
+ huggingface_hub
20
 
21
+ # Copy application files
22
  COPY --chown=user:user . .
23
 
24
  EXPOSE 7860
25
 
26
+ CMD ["python", "app.py"]
app.py CHANGED
@@ -1,45 +1,14 @@
1
- import os
2
- import sys
3
- from huggingface_hub import snapshot_download
4
 
5
- def download_model():
6
- print("Starting model download...")
7
- try:
8
- snapshot_download(
9
- repo_id="PKUWilliamYang/MuseV",
10
- local_dir="MuseV",
11
- local_dir_use_symlinks=False,
12
- token=os.getenv("HF_TOKEN")
13
- )
14
- print("Model download completed successfully")
15
- except Exception as e:
16
- print(f"Error downloading model: {str(e)}")
17
- raise
18
 
19
- def main():
20
- print("Starting application...")
21
- print(f"Project directory: {os.getcwd()}")
22
- print(f"Directory contents: {os.listdir()}")
23
-
24
- # Add MuseV to Python path
25
- musev_path = os.path.join(os.getcwd(), "MuseV")
26
- if os.path.exists(musev_path):
27
- sys.path.append(musev_path)
28
- print(f"Added {musev_path} to PYTHONPATH")
29
- else:
30
- print(f"Error: MuseV directory not found at {musev_path}")
31
- return
32
-
33
- # Download model if needed
34
- download_model()
35
-
36
- # Import and start Gradio app
37
- try:
38
- from MuseV.scripts.gradio.app import demo
39
- demo.launch(server_name="0.0.0.0", server_port=7860)
40
- except Exception as e:
41
- print(f"Error starting Gradio app: {str(e)}")
42
- raise
43
 
44
  if __name__ == "__main__":
45
- main()
 
1
+ import gradio as gr
 
 
2
 
3
+ def hello(name):
4
+ return f"Hello {name}!"
 
 
 
 
 
 
 
 
 
 
 
5
 
6
+ demo = gr.Interface(
7
+ fn=hello,
8
+ inputs="text",
9
+ outputs="text",
10
+ title="MuseV Demo Test"
11
+ )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12
 
13
  if __name__ == "__main__":
14
+ demo.launch(server_name="0.0.0.0", server_port=7860)