# Usare l'immagine di base di Ubuntu 20.04 FROM ubuntu:20.04 # Aggiornare i pacchetti e installare le dipendenze RUN apt-get update && apt-get install -y \ wget \ unzip \ libjpeg-dev \ libpng-dev \ libtiff-dev \ libwebp-dev \ libopenexr-dev \ libgif-dev \ libturbojpeg0-dev \ libzstd-dev \ liblz4-dev \ libsnappy-dev \ libbrotli-dev \ libzopfli-dev \ libbz2-dev \ liblzma-dev \ libjbig-dev \ liblcms2-dev \ libwebpmux3 \ libwebpdemux2 \ libwebp6 \ libopenjp2-7 \ libopenjp2-7-dev \ libjxr0 \ libjxr-tools \ libjbig-dev \ libjbig0 \ libjbig2dec0 \ libjbig2dec0-dev \ libde265-0 \ libde265-dev \ libheif1 \ libheif-dev \ libraw16 \ libraw-dev \ libavif5 \ libavif-dev \ libaom0 \ libaom-dev \ libdav1d4 \ libdav1d-dev \ librav1e0 \ librav1e-dev \ libsvtav1-0 \ libsvtav1-dev \ libgav1-0 \ libgav1-dev \ libzimg2 \ libzimg-dev \ libfftw3-3 \ libfftw3-dev \ liblcms2-2 \ liblcms2-dev \ libimagequant0 \ libimagequant-dev \ libgsf-1-114 \ libgsf-1-dev \ liborc-0.4-0 \ liborc-0.4-dev \ libcfitsio8 \ libcfitsio-dev \ libnifti2 \ libnifti-dev \ libmatio4 \ libmatio-dev \ libopenslide0 \ libopenslide-dev \ libpoppler-glib8 \ libpoppler-glib-dev \ libpoppler-private-dev \ librsvg2-2 \ librsvg2-dev \ libmagickcore-6.q16-6 \ libmagickcore-6.q16-dev \ libmagickwand-6.q16-6 \ libmagickwand-6.q16-dev \ libexif12 \ libexif-dev \ libpango-1.0-0 \ libpango1.0-dev \ libmupdf-dev \ libcairo2 \ libcairo2-dev \ libcroco3 \ libcroco3-dev \ libgif7 \ libgif-dev \ libgs9 \ libgs-dev \ libharfbuzz0b \ libharfbuzz-dev \ libheif-dev \ libilmbase-dev \ libilmbase24 \ libopenexr-dev \ libopenexr24 \ libopenjp2-7-dev \ libpangocairo-1.0-0 \ libpangocairo1.0-dev \ libpangoxft-1.0-0 \ libpangoxft1.0-dev \ libpixman-1-0 \ libpixman-1-dev \ libpng16-16 \ libpng-dev \ libtiff5 \ libtiff-dev \ libtiffxx5 \ libwebp-dev \ libwebp6 \ libwebpdemux2 \ libwebpmux3 \ libxml2 \ libxml2-dev \ zlib1g \ zlib1g-dev \ libvips \ libvips-dev \ libvips-tools # Scaricare e decomprimere l'ultima versione di llamafile RUN wget https://github.com/mozilla/llamafile/releases/download/v0.1/llamafile-server-0.1-llava-v1.5-7b-q4.zip \ && unzip llamafile-server-0.1-llava-v1.5-7b-q4.zip \ && rm llamafile-server-0.1-llava-v1.5-7b-q4.zip # Copiare il modello gguf nella cartella del server COPY model /llamafile-server-0.1-llava-v1.5-7b-q4/model # Esporre la porta 8080 EXPOSE 8080 # Eseguire il server llamafile CMD ["./llamafile-server-0.1-llava-v1.5-7b-q4", "-m", "/llamafile-server-0.1-llava-v1.5-7b-q4/model"]