-
Notifications
You must be signed in to change notification settings - Fork 2.5k
Add MistServer 3.9 #20366
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Add MistServer 3.9 #20366
Conversation
15bbc87 to
c2b3bb3
Compare
Diff for c2b3bb3:diff --git a/_bashbrew-arches b/_bashbrew-arches
index 8b13789..e85a97f 100644
--- a/_bashbrew-arches
+++ b/_bashbrew-arches
@@ -1 +1,2 @@
-
+amd64
+arm64v8
diff --git a/_bashbrew-cat b/_bashbrew-cat
index bdfae4a..eae212c 100644
--- a/_bashbrew-cat
+++ b/_bashbrew-cat
@@ -1 +1,10 @@
-Maintainers: New Image! :D (@docker-library-bot)
+Maintainers: Jaron Viëtor <[email protected]> (@Thulinma), Marco van Dijk <[email protected]> (@stronk-dev), Carina van der Meer <[email protected]> (@thoronwen), Balder Viëtor <[email protected]> (@Rokamun), Ramkoemar Bhoera <[email protected]> (@ramkoemar), Juno Jense <[email protected]> (@junojense)
+GitRepo: https://github.com/DDVTECH/mistserver-docker-builder.git
+GitFetch: refs/heads/main
+GitCommit: a0d4de02e3f9c3044a652cf6cbd56d4aba8c0315
+Builder: buildkit
+
+Tags: latest, 3.9.2
+Architectures: amd64, arm64v8
+Directory: 3.9.2
+File: Dockerfile.mistserver
diff --git a/_bashbrew-list b/_bashbrew-list
index e69de29..59cbf92 100644
--- a/_bashbrew-list
+++ b/_bashbrew-list
@@ -0,0 +1,2 @@
+mistserver:3.9.2
+mistserver:latest
diff --git a/_bashbrew-list-build-order b/_bashbrew-list-build-order
index e69de29..4e2ea6f 100644
--- a/_bashbrew-list-build-order
+++ b/_bashbrew-list-build-order
@@ -0,0 +1 @@
+mistserver:3.9.2
diff --git a/mistserver_3.9.2/Dockerfile.mistserver b/mistserver_3.9.2/Dockerfile.mistserver
new file mode 100644
index 0000000..eb2147a
--- /dev/null
+++ b/mistserver_3.9.2/Dockerfile.mistserver
@@ -0,0 +1,28 @@
+FROM alpine AS mist_build
+
+# Pull in build requirements
+RUN apk add --no-cache git patch meson ninja gcc g++ linux-headers pigz curl cjson pkgconfig
+
+# Fetch MistServer from version-pinned source
+RUN curl -fsSL -o /tmp/src.tar.gz "https://github.com/DDVTECH/mistserver/archive/refs/tags/3.9.2.tar.gz" && mkdir /src && tar -xzf /tmp/src.tar.gz --strip-components=1 -C /src && rm -f /tmp/src.tar.gz
+
+# Install mbedtls
+RUN mkdir -p /deps/build/mbedtls && curl -fsSL -o /tmp/mbedtls-3.6.5.tar.bz2 "https://github.com/Mbed-TLS/mbedtls/releases/download/mbedtls-3.6.5/mbedtls-3.6.5.tar.bz2" && tar -xjf /tmp/mbedtls-3.6.5.tar.bz2 -C /deps && rm -f /tmp/mbedtls-3.6.5.tar.bz2
+RUN cp /src/subprojects/packagefiles/mbedtls/meson.build /deps/mbedtls-3.6.5/ && cp /src/subprojects/packagefiles/mbedtls/include/mbedtls/mbedtls_config.h /deps/mbedtls-3.6.5/include/mbedtls/ && cd /deps/build/mbedtls/ && meson setup /deps/mbedtls-3.6.5 -Dstrip=true && meson install
+
+# Build MistServer
+ARG MIST_OPTS
+ARG DEBUG=3
+ARG VERSION=3.9.2
+ARG TARGETPLATFORM
+ARG RELEASE=Docker_${TARGETPLATFORM}
+RUN mkdir /build/ && cd /build && meson setup /src -DDOCKERRUN=true -DNOUPDATE=true -DDEBUG=${DEBUG} -DVERSION=${VERSION} -DRELEASE=${RELEASE} -Dstrip=true ${MIST_OPTS} && ninja install
+
+# Expose MistServer
+FROM alpine
+RUN apk add --no-cache libstdc++ cjson
+COPY --from=mist_build /usr/local/ /usr/local/
+LABEL org.opencontainers.image.authors="Jaron Viëtor <[email protected]>"
+EXPOSE 4242 8080 1935 5554 8889/udp 18203/udp
+ENTRYPOINT ["MistController"]
+HEALTHCHECK CMD ["MistUtilHealth"] |
|
Using a Docker-specific repository now that contains Dockerfiles for different versions, instead of directly including the source leading to jobs failing. The PR should be ready for review. |
|
Hi again, can this PR be looked at? |
|
I've taken a first pass at review, and these are my very high-level notes from it: At first glance, the multi-stage build doesn't seem to be one of the cases in https://github.com/docker-library/faq#multi-stage-builds (using That's a lot of Explicitly using Building mbedtls from source is a little eyebrow-raising -- Alpine contains the same version 3.6.5, is there a reason it isn't used? (https://pkgs.alpinelinux.org/package/v3.23/main/x86_64/mbedtls-dev) Having such long single-line Using Using Using Ideally the download of the source code would have some kind of verification, but that's a little hard with the source code tarball being generated by GitHub directly. 😔 |
Checklist for Review
NOTE: This checklist is intended for the use of the Official Images maintainers both to track the status of your PR and to help inform you and others of where we're at. As such, please leave the "checking" of items to the repository maintainers. If there is a point below for which you would like to provide additional information or note completion, please do so by commenting on the PR. Thanks! (and thanks for staying patient with us ❤️)
foobarneeds Node.js, hasFROM node:...instead of grabbingnodevia other means been considered?)ifFROM scratch, tarballs only exist in a single commit within the associated history?Extra Information
I am associated with upstream, the forked repository is contained in the official MistServer organisation. Our software is public domain, and is "licensed" under the unlicense. The current image on Docker hub builds off alpine and can be found here. The tests seem to be passing. I have also created a documentation PR which passes the markdown formatter.