Skip to content

Commit 6b29fd5

Browse files
authored
Create Dockerfile
1 parent 2ad3eae commit 6b29fd5

1 file changed

Lines changed: 33 additions & 0 deletions

File tree

Dockerfile

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# Dockerfile
2+
# SynapDrive-AI — simulation-first, reproducible runtime container.
3+
4+
FROM python:3.12-slim
5+
6+
# Prevents Python from writing .pyc files and forces unbuffered logs
7+
ENV PYTHONDONTWRITEBYTECODE=1 \
8+
PYTHONUNBUFFERED=1
9+
10+
WORKDIR /app
11+
12+
# System deps kept minimal (numpy wheels work without build tools on slim for most platforms)
13+
# If you ever hit a wheel build error, add: build-essential gcc
14+
RUN python -m pip install --upgrade pip
15+
16+
# Copy dependency manifests first for layer caching
17+
COPY requirements.txt /app/requirements.txt
18+
COPY requirements-dev.txt /app/requirements-dev.txt
19+
COPY pyproject.toml /app/pyproject.toml
20+
21+
# Install runtime deps (dev deps optional via build arg)
22+
ARG INSTALL_DEV=false
23+
RUN pip install -r requirements.txt && \
24+
if [ "$INSTALL_DEV" = "true" ]; then pip install -r requirements-dev.txt; fi
25+
26+
# Copy the rest of the repo
27+
COPY . /app
28+
29+
# Default port used by the web dashboard
30+
EXPOSE 5055
31+
32+
# Default command = show CLI help (safe default)
33+
CMD ["python", "-m", "synapdrive_ai", "-h"]

0 commit comments

Comments
 (0)