mirror of
				https://github.com/paperless-ngx/paperless-ngx.git
				synced 2025-10-30 03:56:23 -05:00 
			
		
		
		
	improved docker startup time
This commit is contained in:
		| @@ -4,37 +4,41 @@ set -e | ||||
|  | ||||
| # Source: https://github.com/sameersbn/docker-gitlab/ | ||||
| map_uidgid() { | ||||
|     USERMAP_ORIG_UID=$(id -u paperless) | ||||
|     USERMAP_ORIG_GID=$(id -g paperless) | ||||
|     USERMAP_NEW_UID=${USERMAP_UID:-$USERMAP_ORIG_UID} | ||||
|     USERMAP_NEW_GID=${USERMAP_GID:-${USERMAP_ORIG_GID:-$USERMAP_NEW_UID}} | ||||
|     if [[ ${USERMAP_NEW_UID} != "${USERMAP_ORIG_UID}" || ${USERMAP_NEW_GID} != "${USERMAP_ORIG_GID}" ]]; then | ||||
|         echo "Mapping UID and GID for paperless:paperless to $USERMAP_NEW_UID:$USERMAP_NEW_GID" | ||||
|         usermod -u "${USERMAP_NEW_UID}" paperless | ||||
|         groupmod -o -g "${USERMAP_NEW_GID}" paperless | ||||
|     fi | ||||
| 	USERMAP_ORIG_UID=$(id -u paperless) | ||||
| 	USERMAP_ORIG_GID=$(id -g paperless) | ||||
| 	USERMAP_NEW_UID=${USERMAP_UID:-$USERMAP_ORIG_UID} | ||||
| 	USERMAP_NEW_GID=${USERMAP_GID:-${USERMAP_ORIG_GID:-$USERMAP_NEW_UID}} | ||||
| 	if [[ ${USERMAP_NEW_UID} != "${USERMAP_ORIG_UID}" || ${USERMAP_NEW_GID} != "${USERMAP_ORIG_GID}" ]]; then | ||||
| 		echo "Mapping UID and GID for paperless:paperless to $USERMAP_NEW_UID:$USERMAP_NEW_GID" | ||||
| 		usermod -u "${USERMAP_NEW_UID}" paperless | ||||
| 		groupmod -o -g "${USERMAP_NEW_GID}" paperless | ||||
| 	fi | ||||
| } | ||||
|  | ||||
| initialize() { | ||||
| 	map_uidgid | ||||
|  | ||||
| 	for dir in export data data/index media media/documents media/documents/originals media/documents/thumbnails; do | ||||
| 		if [[ ! -d "../$dir" ]] | ||||
| 		then | ||||
| 			echo "creating directory ../$dir" | ||||
| 		if [[ ! -d "../$dir" ]]; then | ||||
| 			echo "Creating directory ../$dir" | ||||
| 			mkdir ../$dir | ||||
| 		fi | ||||
| 	done | ||||
|  | ||||
| 	echo "creating directory /tmp/paperless" | ||||
| 	echo "Creating directory /tmp/paperless" | ||||
| 	mkdir -p /tmp/paperless | ||||
|  | ||||
|     set +e | ||||
| 	chown -R paperless:paperless ../ | ||||
| 	set +e | ||||
| 	CURRENT_USER=$(stat -c '%U' ../) | ||||
| 	CURRENT_GROUP=$(stat -c '%G' ../) | ||||
| 	if [[ ${CURRENT_USER} != "paperless" || ${CURRENT_GROUP} != "paperless" ]] ; then | ||||
| 		echo "Adjusting permissions of paperless files. This may take a while." | ||||
| 		chown -R paperless:paperless ../ | ||||
| 	fi | ||||
| 	chown -R paperless:paperless /tmp/paperless | ||||
|     set -e | ||||
| 	set -e | ||||
|  | ||||
|     gosu paperless /sbin/docker-prepare.sh | ||||
| 	gosu paperless /sbin/docker-prepare.sh | ||||
| } | ||||
|  | ||||
| install_languages() { | ||||
| @@ -50,35 +54,35 @@ install_languages() { | ||||
| 	apt-get update | ||||
|  | ||||
| 	for lang in "${langs[@]}"; do | ||||
|         pkg="tesseract-ocr-$lang" | ||||
|         # English is installed by default | ||||
|         #if [[ "$lang" ==  "eng" ]]; then | ||||
|         #    continue | ||||
|         #fi | ||||
| 		pkg="tesseract-ocr-$lang" | ||||
| 		# English is installed by default | ||||
| 		#if [[ "$lang" ==  "eng" ]]; then | ||||
| 		#    continue | ||||
| 		#fi | ||||
|  | ||||
|         if dpkg -s $pkg &> /dev/null; then | ||||
|         	echo "package $pkg already installed!" | ||||
|         	continue | ||||
|         fi | ||||
| 		if dpkg -s $pkg &>/dev/null; then | ||||
| 			echo "Package $pkg already installed!" | ||||
| 			continue | ||||
| 		fi | ||||
|  | ||||
|         if ! apt-cache show $pkg &> /dev/null; then | ||||
|         	echo "package $pkg not found! :(" | ||||
|         	continue | ||||
|         fi | ||||
| 		if ! apt-cache show $pkg &>/dev/null; then | ||||
| 			echo "Package $pkg not found! :(" | ||||
| 			continue | ||||
| 		fi | ||||
|  | ||||
| 				echo "Installing package $pkg..." | ||||
| 				if ! apt-get -y install "$pkg" &> /dev/null; then | ||||
| 					echo "Could not install $pkg" | ||||
| 					exit 1 | ||||
| 				fi | ||||
|     done | ||||
| 		echo "Installing package $pkg..." | ||||
| 		if ! apt-get -y install "$pkg" &>/dev/null; then | ||||
| 			echo "Could not install $pkg" | ||||
| 			exit 1 | ||||
| 		fi | ||||
| 	done | ||||
| } | ||||
|  | ||||
| echo "Paperless-ng docker container starting..." | ||||
|  | ||||
| # Install additional languages if specified | ||||
| if [[ ! -z "$PAPERLESS_OCR_LANGUAGES"  ]]; then | ||||
| 		install_languages "$PAPERLESS_OCR_LANGUAGES" | ||||
| if [[ ! -z "$PAPERLESS_OCR_LANGUAGES" ]]; then | ||||
| 	install_languages "$PAPERLESS_OCR_LANGUAGES" | ||||
| fi | ||||
|  | ||||
| initialize | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 jonaswinkler
					jonaswinkler