-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdockerfile
More file actions
46 lines (41 loc) · 1.12 KB
/
dockerfile
File metadata and controls
46 lines (41 loc) · 1.12 KB
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
39
40
41
42
43
44
45
46
# Use an image with mamba/conda pre-installed
FROM condaforge/mambaforge:latest
# Set working directory
WORKDIR /app
# Copy the entire application code into the container
# This includes your 'crossroad' module, setup.py, etc.
COPY . /app/
# Install Python and other dependencies using Mamba
# Dependencies are based on your recipe.yaml
RUN mamba install -y \
-c jitendralab \
-c bioconda \
-c conda-forge \
python=3.12 \
numpy \
fastapi \
uvicorn \
python-multipart \
pandas \
pydantic \
requests \
plotly \
pyarrow \
bioconda::seqkit \
bioconda::seqtk \
bioconda::bedtools \
jitendralab::perf_ssr \
jitendralab::plotly-upset-hd \
rich \
rich-argparse \
typer \
'rich-click>=1.7.0' \
argcomplete \
upsetplot \
&& mamba clean -afy
# Expose the port your FastAPI app will run on
EXPOSE 8000
ENV CROSSROAD_ROOT=/app
# Default command to start Uvicorn serving your FastAPI app
# This assumes your FastAPI app instance is named 'app' in 'crossroad/api/main.py'
CMD ["uvicorn", "crossroad.api.main:app", "--host", "0.0.0.0", "--port", "8000"]