aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--Dockerfile7
-rw-r--r--Dockerfile.arm32v77
-rw-r--r--Dockerfile.arm64v87
-rw-r--r--entrypoint.sh4
-rw-r--r--lighttpd.conf20
5 files changed, 35 insertions, 10 deletions
diff --git a/Dockerfile b/Dockerfile
index 0a43027..f24d7be 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -12,18 +12,19 @@ RUN yarn build
12# production stage 12# production stage
13FROM alpine:3.15 13FROM alpine:3.15
14 14
15ENV USER darkhttpd 15ENV USER lighttpd
16ENV GROUP darkhttpd 16ENV GROUP lighttpd
17ENV GID 911 17ENV GID 911
18ENV UID 911 18ENV UID 911
19ENV PORT 8080 19ENV PORT 8080
20 20
21RUN addgroup -S ${GROUP} -g ${GID} && adduser -D -S -u ${UID} ${USER} ${GROUP} && \ 21RUN addgroup -S ${GROUP} -g ${GID} && adduser -D -S -u ${UID} ${USER} ${GROUP} && \
22 apk add -U --no-cache su-exec darkhttpd 22 apk add -U --no-cache lighttpd
23 23
24COPY --from=build-stage --chown=${USER}:${GROUP} /app/dist /www/ 24COPY --from=build-stage --chown=${USER}:${GROUP} /app/dist /www/
25COPY --from=build-stage --chown=${USER}:${GROUP} /app/dist/assets /www/default-assets 25COPY --from=build-stage --chown=${USER}:${GROUP} /app/dist/assets /www/default-assets
26COPY entrypoint.sh /entrypoint.sh 26COPY entrypoint.sh /entrypoint.sh
27COPY lighttpd.conf /lighttpd.conf
27 28
28HEALTHCHECK --interval=30s --timeout=5s --retries=3 \ 29HEALTHCHECK --interval=30s --timeout=5s --retries=3 \
29 CMD wget --no-verbose --tries=1 --spider http://127.0.0.1:${PORT}/ || exit 1 30 CMD wget --no-verbose --tries=1 --spider http://127.0.0.1:${PORT}/ || exit 1
diff --git a/Dockerfile.arm32v7 b/Dockerfile.arm32v7
index 95a2db1..2256d2a 100644
--- a/Dockerfile.arm32v7
+++ b/Dockerfile.arm32v7
@@ -21,19 +21,20 @@ FROM arm32v7/alpine:3.11
21 21
22COPY --from=qemu qemu-arm-static /usr/bin/ 22COPY --from=qemu qemu-arm-static /usr/bin/
23 23
24ENV USER darkhttpd 24ENV USER lighttpd
25ENV GROUP darkhttpd 25ENV GROUP lighttpd
26ENV GID 911 26ENV GID 911
27ENV UID 911 27ENV UID 911
28ENV PORT 8080 28ENV PORT 8080
29 29
30RUN addgroup -S ${GROUP} -g ${GID} && adduser -D -S -u ${UID} ${USER} ${GROUP} && \ 30RUN addgroup -S ${GROUP} -g ${GID} && adduser -D -S -u ${UID} ${USER} ${GROUP} && \
31 apk add -U --no-cache darkhttpd su-exec && \ 31 apk add -U --no-cache lighttpd && \
32 rm /usr/bin/qemu-arm-static 32 rm /usr/bin/qemu-arm-static
33 33
34COPY --from=build-stage --chown=${USER}:${GROUP} /app/dist /www/ 34COPY --from=build-stage --chown=${USER}:${GROUP} /app/dist /www/
35COPY --from=build-stage --chown=${USER}:${GROUP} /app/dist/assets /www/default-assets 35COPY --from=build-stage --chown=${USER}:${GROUP} /app/dist/assets /www/default-assets
36COPY entrypoint.sh /entrypoint.sh 36COPY entrypoint.sh /entrypoint.sh
37COPY lighttpd.conf /lighttpd.conf
37 38
38HEALTHCHECK --interval=30s --timeout=5s --retries=3 \ 39HEALTHCHECK --interval=30s --timeout=5s --retries=3 \
39 CMD wget --no-verbose --tries=1 --spider http://127.0.0.1:${PORT}/ || exit 1 40 CMD wget --no-verbose --tries=1 --spider http://127.0.0.1:${PORT}/ || exit 1
diff --git a/Dockerfile.arm64v8 b/Dockerfile.arm64v8
index cd15e4a..7d772f0 100644
--- a/Dockerfile.arm64v8
+++ b/Dockerfile.arm64v8
@@ -21,19 +21,20 @@ FROM arm64v8/alpine:3.11
21 21
22COPY --from=qemu qemu-aarch64-static /usr/bin/ 22COPY --from=qemu qemu-aarch64-static /usr/bin/
23 23
24ENV USER darkhttpd 24ENV USER lighttpd
25ENV GROUP darkhttpd 25ENV GROUP lighttpd
26ENV GID 911 26ENV GID 911
27ENV UID 911 27ENV UID 911
28ENV PORT 8080 28ENV PORT 8080
29 29
30RUN addgroup -S ${GROUP} -g ${GID} && adduser -D -S -u ${UID} ${USER} ${GROUP} && \ 30RUN addgroup -S ${GROUP} -g ${GID} && adduser -D -S -u ${UID} ${USER} ${GROUP} && \
31 apk add -U --no-cache darkhttpd su-exec && \ 31 apk add -U --no-cache lighttpd && \
32 rm /usr/bin/qemu-aarch64-static 32 rm /usr/bin/qemu-aarch64-static
33 33
34COPY --from=build-stage --chown=${USER}:${GROUP} /app/dist /www/ 34COPY --from=build-stage --chown=${USER}:${GROUP} /app/dist /www/
35COPY --from=build-stage --chown=${USER}:${GROUP} /app/dist/assets /www/default-assets 35COPY --from=build-stage --chown=${USER}:${GROUP} /app/dist/assets /www/default-assets
36COPY entrypoint.sh /entrypoint.sh 36COPY entrypoint.sh /entrypoint.sh
37COPY lighttpd.conf /lighttpd.conf
37 38
38HEALTHCHECK --interval=30s --timeout=5s --retries=3 \ 39HEALTHCHECK --interval=30s --timeout=5s --retries=3 \
39 CMD wget --no-verbose --tries=1 --spider http://127.0.0.1:${PORT}/ || exit 1 40 CMD wget --no-verbose --tries=1 --spider http://127.0.0.1:${PORT}/ || exit 1
diff --git a/entrypoint.sh b/entrypoint.sh
index 9da2615..e10e17e 100644
--- a/entrypoint.sh
+++ b/entrypoint.sh
@@ -18,4 +18,6 @@ if [[ -n "${SUBFOLDER}" ]]; then
18fi 18fi
19 19
20chown -R $UID:$GID /www/assets 20chown -R $UID:$GID /www/assets
21exec su-exec $UID:$GID darkhttpd /www/ --no-listing --port "$PORT" 21
22echo "Starting webserver"
23lighttpd -D -f /lighttpd.conf
diff --git a/lighttpd.conf b/lighttpd.conf
new file mode 100644
index 0000000..da72bf9
--- /dev/null
+++ b/lighttpd.conf
@@ -0,0 +1,20 @@
1# Minimal config by Kirmy34
2
3include "/etc/lighttpd/mime-types.conf"
4
5server.port = 8080
6
7server.username = "lighttpd"
8server.groupname = "lighttpd"
9
10server.document-root = "/www"
11server.pid-file = "/run/lighttpd.pid"
12
13server.indexfiles = ("index.php", "index.html", "index.htm", "default.htm")
14
15server.follow-symlink = "enable"
16
17static-file.exclude-extensions = (".php", ".pl", ".cgi", ".fcgi")
18
19url.access-deny = ("~", ".inc")
20