FROM docker.io/library/alpine:3.14 # we need bash for luaver: RUN apk add --no-cache bash && echo "" > /root/.ash_history RUN sed -i -e "s/bin\/ash/bin\/bash/" /etc/passwd ENV LC_ALL=en_US.UTF-8 # requirements for various luarocks packages: RUN apk add --no-cache build-base bsd-compat-headers m4 openssl-dev libmagic libuuid lmdb lmdb-dev git readline-dev autoconf automake libtool zlib-dev vips ncurses wget unzip openssl util-linux-dev # install luaver and install luarocks packages: RUN ln -s /usr/lib/libvips.so.42 /usr/lib/libvips.so \ && git config --global url."https://".insteadOf git:// \ && git clone https://git.sakal.us/brian/luaver.git ~/.luaver RUN ["bash", "-c", "\ { . ~/.luaver/luaver; } \ ; { yes | luaver install 5.1.5; } \ && { yes | luaver install-luajit 2.0.5; } \ && luaver use 5.1.5 && luaver set-default 5.1.5 \ && luaver use-luajit 2.0.5 && luaver set-default-luajit 2.0.5 \ && { yes | luaver install-luarocks 3.8.0; } \ && luaver use-luarocks 3.8.0 && luaver set-default-luarocks 3.8.0 \ && luarocks install luarocks-fetch-gitrec \ && luarocks install compat53 \ && luarocks install cqueues \ && luarocks install lpeg \ && luarocks install lpeg_patterns \ && luarocks install luafilesystem \ && luarocks install http \ && luarocks install lua-cjson \ && luarocks install mimetypes \ && luarocks install lrandom \ && luarocks install luaprompt \ && luarocks install magic \ && luarocks install lightningmdb \ && luarocks install lua_uuid \ && luarocks install lua-vips"] WORKDIR /app/server EXPOSE 8000 CMD ["bash", "-c", "{ . ~/.luaver/luaver; } ; luajit ./server.lua"]