FastStableDifussion / Dockerfile
YoBatM's picture
Update Dockerfile
fea69d5 verified
# See https://hub.docker.com/r/nikolaik/python-nodejs
# https://github.com/nikolaik/docker-python-nodejs
# Default user is 'pn' with uid 1000, gid 1000
FROM nikolaik/python-nodejs:python3.10-nodejs18
# Install nginx and give permissions to 'pn'
# See https://www.rockyourcode.com/run-docker-nginx-as-non-root-user/
USER root
RUN apt-get -y update && apt-get -y install nginx wget curl zip
RUN apt-get update && apt-get install ffmpeg libsm6 libxext6 libstdc++6 python3-launchpadlib software-properties-common -y
RUN mkdir -p /var/cache/nginx \
/var/log/nginx \
/var/lib/nginx
RUN touch /var/run/nginx.pid
RUN chown -R pn:pn /var/cache/nginx \
/var/log/nginx \
/var/lib/nginx \
/var/run/nginx.pid
RUN wget https://raw.githubusercontent.com/coder/code-server/refs/heads/main/install.sh
RUN bash install.sh
RUN add-apt-repository ppa:ubuntu-toolchain-r/test
RUN apt-get update
RUN apt-get install --only-upgrade -y libstdc++6
RUN strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX
RUN echo "c2VydmVyIHsgCiAgICBsaXN0ZW4gNTAwMCBkZWZhdWx0X3NlcnZlcjsgCiAgICBsaXN0ZW4gWzo6XTo1MDAwIGRlZmF1bHRfc2VydmVyOyAKCiAgICBzZXJ2ZXJfbmFtZSBfOyAKCgogICAgbG9jYXRpb24gLyB7CiAgICAgICAgIyBTZXJ2ZSBJQSBmcm9tIHBvcnQgCiAgICAgICAgcHJveHlfcGFzcyBodHRwOi8vbG9jYWxob3N0Ojc4NjA7CiAgICAgICAgcHJveHlfaHR0cF92ZXJzaW9uIDEuMTsKICAgICAgICBwcm94eV9zZXRfaGVhZGVyIFVwZ3JhZGUgJGh0dHBfdXBncmFkZTsKICAgICAgICBwcm94eV9zZXRfaGVhZGVyIENvbm5lY3Rpb24gJ3VwZ3JhZGUnOwogICAgICAgIHByb3h5X3NldF9oZWFkZXIgSG9zdCAkaG9zdDsKICAgICAgICBwcm94eV9zZXRfaGVhZGVyIFgtUmVhbC1JUCAkcmVtb3RlX2FkZHI7CiAgICAgICAgcHJveHlfc2V0X2hlYWRlciBYLUZvcndhcmRlZC1Gb3IgJHByb3h5X2FkZF94X2ZvcndhcmRlZF9mb3I7CiAgICAgICAgcHJveHlfc2V0X2hlYWRlciBYLUZvcndhcmRlZC1Ib3N0ICRob3N0OwogICAgICAgIHByb3h5X3NldF9oZWFkZXIgWC1Gb3J3YXJkZWQtUHJvdG8gJHNjaGVtZTsKICAgICAgICBwcm94eV9jYWNoZV9ieXBhc3MgJGh0dHBfdXBncmFkZTsKICAgICAgICBwcm94eV9yZWFkX3RpbWVvdXQgODY0MDA7CiAgICAgICAgcHJveHlfcmVkaXJlY3Qgb2ZmOwogICAgfQp9"| base64 --decode>hola.conf
RUN chmod 777 ./hola.conf
RUN cp ./hola.conf /etc/nginx/sites-available/default
ENV RETICULATE_MINICONDA_ENABLED=FALSE
RUN wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh
RUN chmod 777 miniconda.sh
RUN export PATH="$PATH;/root/miniconda3/bin"
ENV PATH="$PATH;/root/miniconda3/bin"
RUN bash miniconda.sh -b
RUN cp /root/miniconda3/lib/libstdc++.so.6 /lib/x86_64-linux-gnu/libstdc++.so.6
RUN find /root/miniconda3 -name "libstdc++.so*"
RUN /root/miniconda3/bin/conda install -c conda-forge libstdcxx-ng=12
# Install dependencies and build app as non-root
USER pn
ENV HOME=/home/pn \
PATH=/home/pn/.local/bin:$PATH
RUN mkdir $HOME/app
WORKDIR $HOME/app
COPY --chown=pn . .
RUN mkdir -p /var/cache/nginx \
/var/log/nginx \
/var/lib/nginx
RUN touch /var/run/nginx.pid
RUN chown -R pn:pn /var/cache/nginx \
/var/log/nginx \
/var/lib/nginx \
/var/run/nginx.pid
USER pn
RUN chmod +x install.sh
RUN bash install.sh>/dev/null
#RUN cp -a main/. fastsdcpu/
EXPOSE 5000
EXPOSE 7860
EXPOSE 7861
RUN echo "service nginx start\n#/usr/bin/code-server --bind-addr 0.0.0.0 --port 7860 --auth none&\npython src/app.py -w --port 7860">run.sh
RUN wget "https://civitai.com/api/download/models/1410435?type=Model&format=SafeTensor&size=pruned&fp=fp16" -O models/gguf/diffusion/ainsfwmodels.safetensors
RUN chmod 777 run.sh
CMD bash run.sh
#CMD bash run.sh