Эх сурвалжийг харах

Merge pull request #236 from thefinn93/fix-docker-uid

fix docker user
Finn 3 жил өмнө
parent
commit
65514c046d
2 өөрчлөгдсөн 15 нэмэгдсэн , 1 устгасан
  1. 1 0
      Dockerfile
  2. 14 1
      docker-run.sh

+ 1 - 0
Dockerfile

@@ -47,5 +47,6 @@ RUN apk add git && pip3 install .[all] && apk del git \
   && cp mautrix_signal/example-config.yaml . && rm -rf mautrix_signal
   && cp mautrix_signal/example-config.yaml . && rm -rf mautrix_signal
 
 
 VOLUME /data
 VOLUME /data
+ENV UID=1337 GID=1337
 
 
 CMD ["/opt/mautrix-signal/docker-run.sh"]
 CMD ["/opt/mautrix-signal/docker-run.sh"]

+ 14 - 1
docker-run.sh

@@ -1,6 +1,16 @@
 #!/bin/sh
 #!/bin/sh
 cd /opt/mautrix-signal
 cd /opt/mautrix-signal
 
 
+function fixperms {
+	chown -R $UID:$GID /data
+
+	# /opt/mautrix-signal is read-only, so disable file logging if it's pointing there.
+	if [[ "$(yq e '.logging.handlers.file.filename' /data/config.yaml)" == "./mautrix-signal.log" ]]; then
+		yq -I4 e -i 'del(.logging.root.handlers[] | select(. == "file"))' /data/config.yaml
+		yq -I4 e -i 'del(.logging.handlers.file)' /data/config.yaml
+	fi
+}
+
 if [ ! -f /data/config.yaml ]; then
 if [ ! -f /data/config.yaml ]; then
 	cp example-config.yaml /data/config.yaml
 	cp example-config.yaml /data/config.yaml
 	yq -I4 e -i 'del(.logging.root.handlers[] | select(. == "file"))' /data/config.yaml
 	yq -I4 e -i 'del(.logging.root.handlers[] | select(. == "file"))' /data/config.yaml
@@ -13,6 +23,7 @@ if [ ! -f /data/config.yaml ]; then
 	echo "Copied default config file to /data/config.yaml"
 	echo "Copied default config file to /data/config.yaml"
 	echo "Modify that config file to your liking."
 	echo "Modify that config file to your liking."
 	echo "Start the container again after that to generate the registration file."
 	echo "Start the container again after that to generate the registration file."
+	fixperms
 	exit
 	exit
 fi
 fi
 
 
@@ -21,7 +32,9 @@ if [ ! -f /data/registration.yaml ]; then
 	echo "Didn't find a registration file."
 	echo "Didn't find a registration file."
 	echo "Generated one for you."
 	echo "Generated one for you."
 	echo "See https://docs.mau.fi/bridges/general/registering-appservices.html on how to use it."
 	echo "See https://docs.mau.fi/bridges/general/registering-appservices.html on how to use it."
+	fixperms
 	exit
 	exit
 fi
 fi
 
 
-exec python3 -m mautrix_signal -c /data/config.yaml
+fixperms
+exec su-exec $UID:$GID python3 -m mautrix_signal -c /data/config.yaml