nsave commited on
Commit
fde6b18
·
verified ·
1 Parent(s): 132b8e0

Create Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +69 -0
Dockerfile ADDED
@@ -0,0 +1,69 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # build frontend with node
2
+ FROM node:20-alpine AS frontend
3
+ RUN apk add --no-cache libc6-compat
4
+ WORKDIR /app
5
+
6
+ COPY frontend .
7
+ RUN npm i -g pnpm
8
+ RUN pnpm i
9
+ RUN pnpm run build
10
+
11
+ # build backend on CUDA
12
+ FROM nvidia/cuda:12.2.2-cudnn8-devel-ubuntu22.04 AS backend
13
+ WORKDIR /app
14
+
15
+ ENV DEBIAN_FRONTEND=noninteractive
16
+ ENV NODE_MAJOR=20
17
+
18
+ RUN apt-get update && \
19
+ apt-get upgrade -y && \
20
+ apt-get install -y --no-install-recommends \
21
+ git \
22
+ git-lfs \
23
+ wget \
24
+ curl \
25
+ # python build dependencies \
26
+ build-essential \
27
+ libssl-dev \
28
+ zlib1g-dev \
29
+ libbz2-dev \
30
+ libreadline-dev \
31
+ libsqlite3-dev \
32
+ libncursesw5-dev \
33
+ xz-utils \
34
+ tk-dev \
35
+ libxml2-dev \
36
+ libxmlsec1-dev \
37
+ libffi-dev \
38
+ liblzma-dev && \
39
+ apt-get clean && \
40
+ rm -rf /var/lib/apt/lists/*
41
+
42
+ USER root
43
+
44
+ RUN useradd -m -u 1000 user
45
+ USER user
46
+ ENV HOME=/home/user \
47
+ PATH=/home/user/.local/bin:$PATH
48
+ WORKDIR $HOME/app
49
+
50
+ RUN curl https://pyenv.run | bash
51
+ ENV PATH=$HOME/.pyenv/shims:$HOME/.pyenv/bin:$PATH
52
+ ARG PYTHON_VERSION=3.10.12
53
+ RUN pyenv install $PYTHON_VERSION && \
54
+ pyenv global $PYTHON_VERSION && \
55
+ pyenv rehash && \
56
+ pip install --no-cache-dir -U pip setuptools wheel
57
+
58
+ COPY --chown=user:user . .
59
+ # change dir since pip needs to seed whl folder
60
+ RUN pip install --no-cache-dir --upgrade -r requirements.txt
61
+ RUN pip install git+https://github.com/cumulo-autumn/StreamDiffusion.git@main#egg=streamdiffusion[tensorrt]
62
+ RUN python -m streamdiffusion.tools.install-tensorrt
63
+
64
+ COPY --from=frontend /app/dist ./frontend/dist
65
+
66
+ WORKDIR $HOME/app
67
+
68
+ USER user
69
+ CMD ["python", "main.py"]