commit 398253f3f5ec6d2d3ab346191a081fe9cd971f2d from: Omar Polo date: Thu Jan 11 15:42:02 2024 UTC contrib/Dockerfile: fix the build and improve the usage Install a sample config, include a self-signed cert and setup a local user and chroot. commit - d8df67565ca01ed0e6ea0a41613be7d624306042 commit + 398253f3f5ec6d2d3ab346191a081fe9cd971f2d blob - f25eda7a5350e05a835e5f322fd0b9cfe9558e6d blob + 42e3e2cf6eb46078b5a81c2d92019445376ac836 --- .dockerignore +++ .dockerignore @@ -2,8 +2,10 @@ !*.c !*.h !*.y -!compat/*.c -!compat/*.h +!*.[1-9] +!compat !have/*.c !Makefile !configure +!contrib/Docker.gmid.conf +!contrib/gencert blob - 9d6a29dcd15e986e4b3d183402769acc6c502f66 blob + 94a457341cb5b24f89da3d1582a81b85e45c5d31 --- contrib/Dockerfile +++ contrib/Dockerfile @@ -1,4 +1,4 @@ -FROM alpine as builder +FROM alpine WORKDIR /build RUN apk update && \ apk upgrade && \ @@ -6,14 +6,14 @@ RUN apk update && \ alpine-sdk \ linux-headers \ bison \ - libretls-dev \ - libretls-static \ - libevent-dev \ - libevent-static + libevent-dev \ + openssl-dev COPY . . -RUN make static - -FROM alpine -RUN apk update && apk upgrade -COPY --from=builder /build/gmid /bin/gmid -ENTRYPOINT ["gmid"] +RUN ./configure && make && make install +RUN adduser -H -S -s /sbin/nologin gmid +RUN mkdir /var/gemini +RUN ./contrib/gencert -e localhost && \ + mv localhost.pem /etc/ssl && \ + mv localhost.key /etc/ssl/private +RUN mv contrib/Docker.gmid.conf /etc/gmid.conf +ENTRYPOINT ["gmid", "-f"] blob - /dev/null blob + 5a0e429e06c40558813b6f2df0ced5b175048f83 (mode 644) --- /dev/null +++ contrib/Docker.gmid.conf @@ -0,0 +1,9 @@ +user gmid +chroot "/var/gemini" + +server "localhost" { + listen on * port 1965 + cert "/etc/ssl/localhost.pem" + key "/etc/ssl/private/localhost.key" + root "/" +} blob - 8f81468d33333b82bfbcc6325a5793bea86aa492 blob + d6d7d45c41bf566a717ef8ecdfec2fac04ccdd53 --- contrib/Makefile +++ contrib/Makefile @@ -1,4 +1,5 @@ DISTFILES = Makefile \ + Docker.gmid.conf \ Dockerfile \ README \ gencert \