Adds tests to make sure all the `nginx.conf` directives (the redirects and rewrites and such) are all correct. - Uses the `busted` framework - The tests are run in a Docker container by the bash script `test.sh` - Self-signed certs are generated in `Dockerfile` for all the domain names - Adds new `Makefile` commands: `test`, `image-build` and `image-rm` Reviewed-on: #1 Co-authored-by: Catalin Mititiuc <webdevcat@proton.me> Co-committed-by: Catalin Mititiuc <webdevcat@proton.me>
38 lines
1.3 KiB
Docker
38 lines
1.3 KiB
Docker
FROM openresty/openresty:bookworm-buildpack
|
|
|
|
WORKDIR /opt/app
|
|
|
|
ARG version=3.7.0.1
|
|
ARG pkgname=pandoc-$version-1-amd64.deb
|
|
ARG pkgurl=https://github.com/jgm/pandoc/releases/download/$version/$pkgname
|
|
|
|
RUN apt-get update && apt-get install -y \
|
|
python3-pygments lua-inotify wget && \
|
|
wget -q -O $pkgname $pkgurl && dpkg -i $pkgname && rm $pkgname
|
|
|
|
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;'"]
|