File size: 967 Bytes
d77a6bf
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b6debdb
d77a6bf
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5984bfd
 
e28d63d
5984bfd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
FROM python:3.11-slim

# System deps for GDAL/geopandas
RUN apt-get update && apt-get install -y --no-install-recommends \
    libgdal-dev \
    gdal-bin \
    libgeos-dev \
    libproj-dev \
    && rm -rf /var/lib/apt/lists/*

WORKDIR /app

# Install Python deps
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt


# Copy application files
COPY data_pipeline.py .
COPY dashboard_helpers.py .
COPY app.py .

# Pre-download databases and bake the data
RUN python -c "import leafmap; \
    leafmap.download_file( \
        'https://opengeos.org/data/duckdb/nyc_data.db.zip', \
        unzip=True, \
        overwrite=True \
    )"
RUN python data_pipeline.py

# Expose the port HF Spaces expects
EXPOSE 7860

RUN jupyter trust app.ipynb

# Launch voila
CMD ["voila", "app.ipynb", "--port=7860", "--no-browser", "--Voila.ip=0.0.0.0", "--Voila.tornado_settings={'headers':{'Content-Security-Policy':'frame-ancestors *'}}", "--template=gridstack"]