#!/bin/sh set -e load_secret() { env_var="$1" secret_file="$2" if [ -f "$secret_file" ]; then value=$(cat "$secret_file") if [ -z "$value" ]; then echo >&2 "error: $secret_file is empty" exit 1 fi export "$env_var"="$value" else echo >&2 "[info] didn't set $env_var because $secret_file does not exist. If you don't use the secret or it is no secret at all you can safely ignore this message." fi } # load every env-var that ends on _FILE for var in $(env | grep "_FILE="); do key=$(echo "$var" | sed 's/_FILE=.*//') value=$(echo "$var" | sed 's/.*_FILE=//') load_secret "$key" "$value" done # upstream has no entrypoint https://github.com/directus/directus/blob/main/Dockerfile node cli.js bootstrap && pm2-runtime start ecosystem.config.cjs