HongzeFu commited on
Commit
0f8a584
·
1 Parent(s): f1137ee

docker v1

Browse files
Files changed (5) hide show
  1. .dockerignore +20 -0
  2. Dockerfile +45 -0
  3. README.md +2 -3
  4. human_readme.md +34 -1
  5. pyproject.toml +1 -1
.dockerignore ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .git
2
+ .gitignore
3
+ .venv
4
+ .pytest_cache
5
+ .mypy_cache
6
+ .ruff_cache
7
+ __pycache__
8
+ *.pyc
9
+ *.pyo
10
+ *.pyd
11
+
12
+ tests
13
+ uv.lock
14
+ temp_demos
15
+ sample_run_videos
16
+ gradio-web/logs
17
+ gradio-web/server.pid
18
+
19
+ assets
20
+ doc
Dockerfile ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ FROM nvidia/cuda:12.4.1-cudnn-runtime-ubuntu22.04
2
+
3
+ ENV DEBIAN_FRONTEND=noninteractive
4
+
5
+ RUN apt-get update && apt-get install -y --no-install-recommends \
6
+ software-properties-common \
7
+ ca-certificates \
8
+ curl \
9
+ gnupg \
10
+ build-essential \
11
+ git \
12
+ ffmpeg \
13
+ libgl1 \
14
+ libglib2.0-0 \
15
+ && add-apt-repository ppa:deadsnakes/ppa \
16
+ && apt-get update && apt-get install -y --no-install-recommends \
17
+ python3.11 \
18
+ python3.11-dev \
19
+ python3.11-venv \
20
+ && curl -sS https://bootstrap.pypa.io/get-pip.py -o /tmp/get-pip.py \
21
+ && python3.11 /tmp/get-pip.py \
22
+ && ln -sf /usr/bin/python3.11 /usr/local/bin/python \
23
+ && ln -sf /usr/bin/python3.11 /usr/local/bin/python3 \
24
+ && ln -sf /usr/local/bin/pip /usr/local/bin/pip3 \
25
+ && rm -f /tmp/get-pip.py \
26
+ && rm -rf /var/lib/apt/lists/*
27
+
28
+ ENV PYTHONUNBUFFERED=1 \
29
+ PIP_NO_CACHE_DIR=1 \
30
+ PORT=7860
31
+
32
+ RUN useradd -m -u 1000 user
33
+ WORKDIR /home/user/app
34
+
35
+ COPY --chown=user:user requirements.txt pyproject.toml README.md ./
36
+ RUN python3 -m pip install --upgrade pip setuptools wheel \
37
+ && python3 -m pip install -r requirements.txt
38
+
39
+ COPY --chown=user:user . .
40
+ RUN python3 -m pip install -e .
41
+
42
+ USER user
43
+ EXPOSE 7860
44
+
45
+ CMD ["python3", "gradio-web/main.py"]
README.md CHANGED
@@ -1,8 +1,7 @@
1
  ---
2
  title: RoboMME Oracle Planner
3
- sdk: gradio
4
- app_file: gradio-web/main.py
5
- python_version: "3.11"
6
  ---
7
 
8
  This Space runs the RoboMME Gradio interface in single-instance session mode.
 
1
  ---
2
  title: RoboMME Oracle Planner
3
+ sdk: docker
4
+ app_port: 7860
 
5
  ---
6
 
7
  This Space runs the RoboMME Gradio interface in single-instance session mode.
human_readme.md CHANGED
@@ -15,6 +15,39 @@ uv sync
15
  uv pip install -e .
16
  ```
17
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18
  ## 🚀 Quick Start
19
 
20
  Start an environment with a specified setup:
@@ -132,4 +165,4 @@ This work was supported in part by NSF SES-2128623, NSF CAREER #2337870, NSF NRI
132
 
133
  ```
134
  ...
135
- ```
 
15
  uv pip install -e .
16
  ```
17
 
18
+ ## 🐳 Gradio Docker Deployment (HF Space + GPU)
19
+
20
+ This repository also supports Docker deployment for the Gradio app entrypoint:
21
+
22
+ ```bash
23
+ python3 gradio-web/main.py
24
+ ```
25
+
26
+ Build image:
27
+
28
+ ```bash
29
+ docker build -t robomme-gradio:gpu .
30
+ ```
31
+
32
+ Run container (GPU):
33
+
34
+ ```bash
35
+ docker run --rm --gpus all -p 7860:7860 robomme-gradio:gpu
36
+ ```
37
+
38
+ Optional metadata override:
39
+
40
+ ```bash
41
+ docker run --rm --gpus all -p 7860:7860 \
42
+ -e ROBOMME_METADATA_ROOT=/home/user/app/src/robomme/env_metadata/train \
43
+ robomme-gradio:gpu
44
+ ```
45
+
46
+ Notes:
47
+ - Docker deployment is focused on `gradio-web/main.py`.
48
+ - Existing `uv` workflow for training/testing remains unchanged.
49
+ - Space metadata is configured via root `README.md` with `sdk: docker` and `app_port: 7860`.
50
+
51
  ## 🚀 Quick Start
52
 
53
  Start an environment with a specified setup:
 
165
 
166
  ```
167
  ...
168
+ ```
pyproject.toml CHANGED
@@ -2,7 +2,7 @@
2
  name = "robomme"
3
  version = "0.1.0"
4
  description = "Add your description here"
5
- readme = "readme.md"
6
  requires-python = ">=3.11"
7
  dependencies = [
8
  "mani-skill",
 
2
  name = "robomme"
3
  version = "0.1.0"
4
  description = "Add your description here"
5
+ readme = "README.md"
6
  requires-python = ">=3.11"
7
  dependencies = [
8
  "mani-skill",