From 294fcc89762a47a166947dc8d3d4360713ba21dc Mon Sep 17 00:00:00 2001
From: Jacek Kowalski <Jacek@jacekk.info>
Date: Sun, 13 May 2018 16:58:34 +0000
Subject: [PATCH] Set mFi to initialize on first run with empty data dir
---
Dockerfile | 18 +++++++++++++++---
run.sh | 17 +++++++++++++++++
2 files changed, 32 insertions(+), 3 deletions(-)
diff --git a/Dockerfile b/Dockerfile
index 7f8fbbf..210cc95 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -5,18 +5,30 @@
RUN apt-get update \
&& apt-get -y dist-upgrade \
&& apt-get -y install --no-install-recommends \
- wget jsvc mongodb-server binutils unzip \
+ wget jsvc mongodb-server binutils procps unzip \
&& apt-get -y clean \
&& rm -Rf /var/lib/apt/lists/*
RUN cd /tmp \
&& wget "http://dl.ubnt.com/mfi/${MFI_VERSION}/mFi.unix.zip" \
&& unzip mFi.unix.zip \
- && mv /tmp/mFi /usr/lib/mfi
+ && rm mFi.unix.zip \
+ && mv /tmp/mFi /usr/lib/mfi \
+ && cp -Rf /usr/lib/mfi/data /usr/lib/mfi/data-orig \
+ && groupadd -r -g 500 mfi \
+ && useradd -r -d /usr/lib/mfi -u 500 -g 500 mfi \
+ && mkdir -p /var/lib/mfi \
+ && chown -Rf mfi:mfi /usr/lib/mfi /var/lib/mfi
EXPOSE 6080 6443
VOLUME /usr/lib/mfi/data
WORKDIR /var/lib/mfi
-CMD ["/usr/bin/java", "-Xmx1024M", "-jar", "/usr/lib/mfi/lib/ace.jar", "start"]
+COPY run.sh /run.sh
+CMD /run.sh
+
+USER mfi
+
+HEALTHCHECK --start-period=3m CMD wget -q -O /dev/null --no-check-certificate \
+ https://127.0.0.1:6443/login
diff --git a/run.sh b/run.sh
new file mode 100755
index 0000000..1f48ed6
--- /dev/null
+++ b/run.sh
@@ -0,0 +1,17 @@
+#!/bin/bash
+
+if [ -z "$JAVA_OPTS" ]; then
+ JAVA_OPTS="-Xmx1024m"
+fi
+
+if [ ! -f /usr/lib/mfi/data/system.properties ]; then
+ cp -Rf /usr/lib/mfi/data-orig/. /usr/lib/mfi/data/
+fi
+
+if [ `id -u` -eq 0 ]; then
+ chown -Rf mfi:mfi /usr/lib/mfi/data
+
+ exec sudo -u mfi java $JAVA_OPTS -jar /usr/lib/mfi/lib/ace.jar start
+else
+ exec java $JAVA_OPTS -jar /usr/lib/mfi/lib/ace.jar start
+fi
--
Gitblit v1.9.1