60 lines
2.8 KiB
Docker
60 lines
2.8 KiB
Docker
# Dockerfile - alpine-fat
|
|
# https://github.com/openresty/docker-openresty
|
|
#
|
|
# This builds upon the base OpenResty alpine image that adds
|
|
# some build-related packages, has perl installed for opm,
|
|
# and includes luarocks and envsubst.
|
|
#
|
|
# NOTE: For envsubst, we install gettext (envsubst's source package),
|
|
# copy it out, then uninstall gettext (to save some space as envsubst is very small)
|
|
# libintl and musl are dependencies of envsubst, so those are installed as well
|
|
|
|
ARG RESTY_IMAGE_BASE="openresty/openresty"
|
|
ARG RESTY_IMAGE_TAG="alpine"
|
|
|
|
FROM ${RESTY_IMAGE_BASE}:${RESTY_IMAGE_TAG}
|
|
|
|
LABEL maintainer="Evan Wies <evan@neomantra.net>"
|
|
|
|
# Docker Build Arguments
|
|
ARG RESTY_LUAROCKS_VERSION="3.5.0"
|
|
|
|
RUN apk add --no-cache --virtual .build-deps \
|
|
perl-dev \
|
|
&& apk add --no-cache \
|
|
bash \
|
|
build-base \
|
|
curl \
|
|
libintl \
|
|
linux-headers \
|
|
make \
|
|
musl \
|
|
outils-md5 \
|
|
perl \
|
|
unzip \
|
|
&& cd /tmp \
|
|
&& curl -fSL https://luarocks.github.io/luarocks/releases/luarocks-${RESTY_LUAROCKS_VERSION}.tar.gz -o luarocks-${RESTY_LUAROCKS_VERSION}.tar.gz \
|
|
&& tar xzf luarocks-${RESTY_LUAROCKS_VERSION}.tar.gz \
|
|
&& cd luarocks-${RESTY_LUAROCKS_VERSION} \
|
|
&& ./configure \
|
|
--prefix=/usr/local/openresty/luajit \
|
|
--with-lua=/usr/local/openresty/luajit \
|
|
--lua-suffix=jit-2.1.0-beta3 \
|
|
--with-lua-include=/usr/local/openresty/luajit/include/luajit-2.1 \
|
|
&& make build \
|
|
&& make install \
|
|
&& cd /tmp \
|
|
&& rm -rf luarocks-${RESTY_LUAROCKS_VERSION} luarocks-${RESTY_LUAROCKS_VERSION}.tar.gz \
|
|
&& apk add --no-cache --virtual .gettext gettext \
|
|
&& mv /usr/bin/envsubst /tmp/ \
|
|
&& apk del .build-deps .gettext \
|
|
&& mv /tmp/envsubst /usr/local/bin/
|
|
|
|
# Add LuaRocks paths
|
|
# If OpenResty changes, these may need updating:
|
|
# /usr/local/openresty/bin/resty -e 'print(package.path)'
|
|
# /usr/local/openresty/bin/resty -e 'print(package.cpath)'
|
|
ENV LUA_PATH="/usr/local/openresty/site/lualib/?.ljbc;/usr/local/openresty/site/lualib/?/init.ljbc;/usr/local/openresty/lualib/?.ljbc;/usr/local/openresty/lualib/?/init.ljbc;/usr/local/openresty/site/lualib/?.lua;/usr/local/openresty/site/lualib/?/init.lua;/usr/local/openresty/lualib/?.lua;/usr/local/openresty/lualib/?/init.lua;./?.lua;/usr/local/openresty/luajit/share/luajit-2.1.0-beta3/?.lua;/usr/local/share/lua/5.1/?.lua;/usr/local/share/lua/5.1/?/init.lua;/usr/local/openresty/luajit/share/lua/5.1/?.lua;/usr/local/openresty/luajit/share/lua/5.1/?/init.lua"
|
|
|
|
ENV LUA_CPATH="/usr/local/openresty/site/lualib/?.so;/usr/local/openresty/lualib/?.so;./?.so;/usr/local/lib/lua/5.1/?.so;/usr/local/openresty/luajit/lib/lua/5.1/?.so;/usr/local/lib/lua/5.1/loadall.so;/usr/local/openresty/luajit/lib/lua/5.1/?.so"
|