mirror of
https://github.com/immich-app/immich.git
synced 2025-07-31 15:08:44 -04:00
45 lines
1.3 KiB
Bash
Executable File
45 lines
1.3 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
echo "Initializing Immich $IMMICH_SOURCE_REF"
|
|
|
|
lib_path="/usr/lib/$(arch)-linux-gnu/libmimalloc.so.2"
|
|
if [ -f "$lib_path" ]; then
|
|
export LD_PRELOAD="$lib_path"
|
|
else
|
|
echo "skipping libmimalloc - path not found $lib_path"
|
|
fi
|
|
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/lib/jellyfin-ffmpeg/lib"
|
|
SERVER_HOME=/usr/src/app/server
|
|
|
|
read_file_and_export() {
|
|
if [ -n "${!1}" ]; then
|
|
content="$(cat "${!1}")"
|
|
export "$2"="${content}"
|
|
unset "$1"
|
|
fi
|
|
}
|
|
read_file_and_export "DB_URL_FILE" "DB_URL"
|
|
read_file_and_export "DB_HOSTNAME_FILE" "DB_HOSTNAME"
|
|
read_file_and_export "DB_DATABASE_NAME_FILE" "DB_DATABASE_NAME"
|
|
read_file_and_export "DB_USERNAME_FILE" "DB_USERNAME"
|
|
read_file_and_export "DB_PASSWORD_FILE" "DB_PASSWORD"
|
|
read_file_and_export "REDIS_PASSWORD_FILE" "REDIS_PASSWORD"
|
|
|
|
if CPU_CORES="${CPU_CORES:=$(get-cpus.sh 2>/dev/null)}"; then
|
|
echo "Detected CPU Cores: $CPU_CORES"
|
|
if [ "$CPU_CORES" -gt 4 ]; then
|
|
export UV_THREADPOOL_SIZE=$CPU_CORES
|
|
fi
|
|
else
|
|
echo "skipping get-cpus.sh - not found in PATH or failed: using default UV_THREADPOOL_SIZE"
|
|
fi
|
|
|
|
if [ -f "${SERVER_HOME}/dist/main.js" ]; then
|
|
exec node "${SERVER_HOME}/dist/main.js" "$@"
|
|
else
|
|
echo "Error: ${SERVER_HOME}/dist/main.js not found"
|
|
if [ "$IMMICH_ENV" = "development" ]; then
|
|
echo "You may need to build the server first."
|
|
fi
|
|
exit 1
|
|
fi
|