32 lines
968 B
Bash
Executable File
32 lines
968 B
Bash
Executable File
#!/bin/bash
|
|
set -e
|
|
|
|
if [ "$(id -u)" = "0" ]; then
|
|
chown -R plane:plane /code/plane/logs
|
|
exec su-exec plane "$0" "$@"
|
|
fi
|
|
|
|
if [ "$(id -u)" = "0" ]; then
|
|
chown -R plane:plane /code/plane/logs
|
|
exec su-exec plane "$0" "$@"
|
|
fi
|
|
|
|
# Collect system information
|
|
HOSTNAME=$(hostname)
|
|
MAC_ADDRESS=$(ip link show | awk '/ether/ {print $2}' | head -n 1)
|
|
CPU_INFO=$(cat /proc/cpuinfo)
|
|
MEMORY_INFO=$(free -h)
|
|
DISK_INFO=$(df -h)
|
|
|
|
# Concatenate information and compute SHA-256 hash
|
|
SIGNATURE=$(echo "$HOSTNAME$MAC_ADDRESS$CPU_INFO$MEMORY_INFO$DISK_INFO" | sha256sum | awk '{print $1}')
|
|
|
|
# Export the variables
|
|
MACHINE_SIGNATURE=${MACHINE_SIGNATURE:-$SIGNATURE}
|
|
export SKIP_ENV_VAR=1
|
|
|
|
# Run consolidated startup
|
|
python manage.py startup commercial --machine-signature "$MACHINE_SIGNATURE"
|
|
|
|
exec gunicorn -w "$GUNICORN_WORKERS" -k uvicorn.workers.UvicornWorker plane.asgi:application --bind 0.0.0.0:"${PORT:-8000}" --max-requests 1200 --max-requests-jitter 1000 --access-logfile -
|