From 82a5680217628830507db029ccf748c42f74effb Mon Sep 17 00:00:00 2001 From: Thom Wiggers Date: Mon, 14 Apr 2025 16:39:56 +0200 Subject: [PATCH] Delete unused docker/docker-entrypoint.sh (#9615) --- docker/docker-entrypoint.sh | 179 ------------------------------------ 1 file changed, 179 deletions(-) delete mode 100755 docker/docker-entrypoint.sh diff --git a/docker/docker-entrypoint.sh b/docker/docker-entrypoint.sh deleted file mode 100755 index b8687dc56..000000000 --- a/docker/docker-entrypoint.sh +++ /dev/null @@ -1,179 +0,0 @@ -#!/usr/bin/env bash - -set -e - -# Source: https://github.com/sameersbn/docker-gitlab/ -map_uidgid() { - local -r usermap_original_uid=$(id -u paperless) - local -r usermap_original_gid=$(id -g paperless) - local -r usermap_new_uid=${USERMAP_UID:-$usermap_original_uid} - local -r usermap_new_gid=${USERMAP_GID:-${usermap_original_gid:-$usermap_new_uid}} - if [[ ${usermap_new_uid} != "${usermap_original_uid}" || ${usermap_new_gid} != "${usermap_original_gid}" ]]; then - echo "Mapping UID and GID for paperless:paperless to $usermap_new_uid:$usermap_new_gid" - usermod --non-unique --uid "${usermap_new_uid}" paperless - groupmod --non-unique --gid "${usermap_new_gid}" paperless - fi -} - -map_folders() { - # Export these so they can be used in docker-prepare.sh - export DATA_DIR="${PAPERLESS_DATA_DIR:-/usr/src/paperless/data}" - export MEDIA_ROOT_DIR="${PAPERLESS_MEDIA_ROOT:-/usr/src/paperless/media}" - export CONSUME_DIR="${PAPERLESS_CONSUMPTION_DIR:-/usr/src/paperless/consume}" -} - -custom_container_init() { - # Mostly borrowed from the LinuxServer.io base image - # https://github.com/linuxserver/docker-baseimage-ubuntu/tree/bionic/root/etc/cont-init.d - local -r custom_script_dir="/custom-cont-init.d" - # Tamper checking. - # Don't run files which are owned by anyone except root - # Don't run files which are writeable by others - if [ -d "${custom_script_dir}" ]; then - if [ -n "$(/usr/bin/find "${custom_script_dir}" -maxdepth 1 ! -user root)" ]; then - echo "**** Potential tampering with custom scripts detected ****" - echo "**** The folder '${custom_script_dir}' must be owned by root ****" - return 0 - fi - if [ -n "$(/usr/bin/find "${custom_script_dir}" -maxdepth 1 -perm -o+w)" ]; then - echo "**** The folder '${custom_script_dir}' or some of contents have write permissions for others, which is a security risk. ****" - echo "**** Please review the permissions and their contents to make sure they are owned by root, and can only be modified by root. ****" - return 0 - fi - - # Make sure custom init directory has files in it - if [ -n "$(/bin/ls --almost-all "${custom_script_dir}" 2>/dev/null)" ]; then - echo "[custom-init] files found in ${custom_script_dir} executing" - # Loop over files in the directory - for SCRIPT in "${custom_script_dir}"/*; do - NAME="$(basename "${SCRIPT}")" - if [ -f "${SCRIPT}" ]; then - echo "[custom-init] ${NAME}: executing..." - /bin/bash "${SCRIPT}" - echo "[custom-init] ${NAME}: exited $?" - elif [ ! -f "${SCRIPT}" ]; then - echo "[custom-init] ${NAME}: is not a file" - fi - done - else - echo "[custom-init] no custom files found exiting..." - fi - - fi -} - -initialize() { - - # Setup environment from secrets before anything else - # Check for a version of this var with _FILE appended - # and convert the contents to the env var value - # Source it so export is persistent - # shellcheck disable=SC1091 - source /sbin/env-from-file.sh - - # Change the user and group IDs if needed - map_uidgid - - # Check for overrides of certain folders - map_folders - - local -r export_dir="/usr/src/paperless/export" - - for dir in \ - "${export_dir}" \ - "${DATA_DIR}" "${DATA_DIR}/index" \ - "${MEDIA_ROOT_DIR}" "${MEDIA_ROOT_DIR}/documents" "${MEDIA_ROOT_DIR}/documents/originals" "${MEDIA_ROOT_DIR}/documents/thumbnails" \ - "${CONSUME_DIR}"; do - if [[ ! -d "${dir}" ]]; then - echo "Creating directory ${dir}" - mkdir --parents --verbose "${dir}" - fi - done - - local -r tmp_dir="${PAPERLESS_SCRATCH_DIR:=/tmp/paperless}" - echo "Creating directory scratch directory ${tmp_dir}" - mkdir --parents --verbose "${tmp_dir}" - - set +e - echo "Adjusting permissions of paperless files. This may take a while." - chown -R paperless:paperless "${tmp_dir}" - for dir in \ - "${export_dir}" \ - "${DATA_DIR}" \ - "${MEDIA_ROOT_DIR}" \ - "${CONSUME_DIR}"; do - find "${dir}" -not \( -user paperless -and -group paperless \) -exec chown --changes paperless:paperless {} + - done - set -e - - "${gosu_cmd[@]}" /sbin/docker-prepare.sh - - # Leave this last thing - custom_container_init - -} - -install_languages() { - echo "Installing languages..." - - read -ra langs <<<"$1" - - # Check that it is not empty - if [ ${#langs[@]} -eq 0 ]; then - return - fi - - # Build list of packages to install - to_install=() - for lang in "${langs[@]}"; do - pkg="tesseract-ocr-$lang" - - if dpkg --status "$pkg" &>/dev/null; then - echo "Package $pkg already installed!" - continue - else - to_install+=("$pkg") - fi - done - - # Use apt only when we install packages - if [ ${#to_install[@]} -gt 0 ]; then - apt-get update - - for pkg in "${to_install[@]}"; do - - if ! apt-cache show "$pkg" &>/dev/null; then - echo "Skipped $pkg: Package not found! :(" - continue - fi - - echo "Installing package $pkg..." - if ! apt-get --assume-yes install "$pkg" &>/dev/null; then - echo "Could not install $pkg" - exit 1 - fi - done - fi -} - -echo "Paperless-ngx docker container starting..." - -gosu_cmd=(gosu paperless) -if [ "$(id --user)" == "$(id --user paperless)" ]; then - gosu_cmd=() -fi - -# Install additional languages if specified -if [[ -n "$PAPERLESS_OCR_LANGUAGES" ]]; then - install_languages "$PAPERLESS_OCR_LANGUAGES" -fi - -initialize - -if [[ "$1" != "/"* ]]; then - echo Executing management command "$@" - exec "${gosu_cmd[@]}" python3 manage.py "$@" -else - echo Executing "$@" - exec "$@" -fi