# FROM openresty/openresty:bookworm-buildpack FROM buildpack-deps:trixie ARG version=3.8.2.1 ARG pkgname=pandoc-$version-1-amd64.deb ARG pkgurl=https://github.com/jgm/pandoc/releases/download/$version/$pkgname ARG RESTY_DEB_FLAVOR="" ARG RESTY_DEB_VERSION="=1.27.1.2-1~bookworm1" ARG RESTY_LUAROCKS_VERSION="3.12.2" RUN apt-get update && apt-get install -y \ python3-pygments lua-inotify wget curl tar make && \ wget -q -O $pkgname $pkgurl && dpkg -i $pkgname && rm $pkgname WORKDIR /opt/app # COPY openresty.source /etc/apt/sources.list.d/ # RUN cat openresty.source >> /etc/apt/sources.list.d/debian.sources # RUN echo "$(cat openresty.source)" >> /etc/apt/sources.list.d/debian.sources RUN wget -qO - https://openresty.org/package/pubkey.gpg | gpg --dearmor > /etc/apt/trusted.gpg.d/openresty-keyring.gpg \ && chown root:root /etc/apt/trusted.gpg.d/openresty-keyring.gpg \ && chmod ugo+r /etc/apt/trusted.gpg.d/openresty-keyring.gpg \ && chmod go-w /etc/apt/trusted.gpg.d/openresty-keyring.gpg \ && echo "Types: deb\nURIs: https://openresty.org/package/debian\nSuites: bookworm\nComponents: openresty\nEnabled: yes\nSigned-By: /etc/apt/trusted.gpg.d/openresty-keyring.gpg" >> /etc/apt/sources.list.d/debian.sources \ && echo "$(cat /etc/apt/sources.list.d/debian.sources)" \ && DEBIAN_FRONTEND=noninteractive apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ openresty${RESTY_DEB_FLAVOR}${RESTY_DEB_VERSION} \ openresty-resty${RESTY_DEB_FLAVOR}${RESTY_DEB_VERSION} \ openresty-opm${RESTY_DEB_FLAVOR}${RESTY_DEB_VERSION} \ openresty-openssl3${RESTY_DEB_FLAVOR}-dev \ openresty-pcre2${RESTY_DEB_FLAVOR}-dev \ openresty-zlib${RESTY_DEB_FLAVOR}-dev \ && mkdir -p /var/run/openresty \ && ln -sf /dev/stdout /usr/local/openresty${RESTY_DEB_FLAVOR}/nginx/logs/access.log \ && ln -sf /dev/stderr /usr/local/openresty${RESTY_DEB_FLAVOR}/nginx/logs/error.log # Install LuaRocks # RUN 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} \ # && mkdir -p /usr/local/openresty/luajit \ # && ./configure \ # --prefix=/usr/local/openresty/luajit \ # --with-lua=/usr/local/openresty/luajit \ # --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 # RUN luarocks install sitegen # needed for sitegen watcher # RUN luarocks install inotify INOTIFY_INCDIR=/usr/include/x86_64-linux-gnu/ # needed for testing # RUN luarocks install busted # RUN luarocks install luajit-curl # RUN luarocks install luasocket # needed for testing nginx reverse proxy # RUN mkdir -p /var/www/certs/miti.sh \ # && openssl req -x509 -newkey rsa:4096 -nodes \ # -keyout /var/www/certs/miti.sh/privkey.pem \ # -out /var/www/certs/miti.sh/fullchain.pem \ # -sha256 -days 365 -subj '/CN=miti.sh' \ # -addext "subjectAltName=DNS:miti.sh,DNS:git.miti.sh,DNS:apps.miti.sh" # RUN mkdir -p /var/www/certs/webdevcat.me \ # && openssl req -x509 -newkey rsa:4096 -nodes \ # -keyout /var/www/certs/webdevcat.me/privkey.pem \ # -out /var/www/certs/webdevcat.me/fullchain.pem \ # -sha256 -days 365 -subj '/CN=webdevcat.me' \ # -addext "subjectAltName=DNS:webdevcat.me,DNS:git.webdevcat.me,DNS:apps.webdevcat.me" # CMD ["sh", "-c", "openresty -p `pwd` -g 'daemon off;'"] CMD ["bash"]