RangerUFO/lua-cgemma-demo
1
1FROM ubuntu:24.042 3ENV TZ=UTC4RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone5RUN apt update && apt install -y build-essential g++ cmake wget lsb-release git curl libgoogle-perftools-dev libvips-dev6 7RUN wget -O - https://openresty.org/package/pubkey.gpg | gpg --dearmor -o /usr/share/keyrings/openresty.gpg8RUN echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/openresty.gpg] http://openresty.org/package/ubuntu $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/openresty.list9RUN apt update && apt install -y openresty10 11WORKDIR /opt12RUN git clone --branch main https://github.com/ufownl/lua-cgemma.git13RUN git clone https://github.com/libvips/lua-vips.git14RUN ln -s /opt/lua-vips/src/* /usr/local/openresty/lualib/15 16WORKDIR /opt/lua-cgemma/build17RUN cmake -DCMAKE_BUILD_TYPE=Release .. && make && make install && make clean18RUN resty -e 'require("cgemma").info()'19 20WORKDIR /opt/lua-cgemma/demo21RUN --mount=type=secret,id=KAGGLE_USERNAME,mode=0444,required=true \22 --mount=type=secret,id=KAGGLE_KEY,mode=0444,required=true \23 curl -L -u $(cat /run/secrets/KAGGLE_USERNAME):$(cat /run/secrets/KAGGLE_KEY) -o - https://www.kaggle.com/api/v1/models/google/gemma-3/gemmaCpp/3.0-4b-it-sfp/1/download | tar xz24COPY ./dump.bin dump.bin25RUN chmod +r *.sbs *.spm dump.bin26RUN chmod 777 /opt/lua-cgemma/demo /opt/lua-cgemma/demo/logs27 28CMD ["openresty", "-p", ".", "-c", "huggingface_demo.conf"]29 