Ctrl K
ComunidadGuías…

docker-entrypoint.sh

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
#!/bin/sh
set -eu

# Adopt volume created by an earlier root-only release, then drop privileges
if [ "$(id -u)" = "0" ]; then
  chown -R node:node /app/data
  exec su-exec node "$0" "$@"
fi

api_pid=""
web_pid=""

shutdown() {
  trap - TERM INT
  [ -n "$api_pid" ] && kill -TERM "$api_pid" 2>/dev/null || true
  [ -n "$web_pid" ] && kill -TERM "$web_pid" 2>/dev/null || true
  wait 2>/dev/null || true
}

trap shutdown TERM INT

cd /app/backend
node dist/main &
api_pid=$!

cd /app/frontend
node web-server/start.ts &
web_pid=$!

while kill -0 "$api_pid" 2>/dev/null && kill -0 "$web_pid" 2>/dev/null; do
  sleep 1
done

if ! kill -0 "$api_pid" 2>/dev/null; then
  echo "guardian: api process exited, shutting down container" >&2
else
  echo "guardian: web process exited, shutting down container" >&2
fi

shutdown
exit 1