Spaces:
Runtime error
Runtime error
File size: 2,561 Bytes
029d2df 5b90fd5 d78ce96 5b90fd5 0554601 5b90fd5 18dc087 d381974 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 | #!/bin/sh
set -e
# Capture runtime UID/GID from environment variables, defaulting to 1000
PUID=${USER_UID:-1000}
PGID=${USER_GID:-1000}
# Adjust the node user's UID/GID if they differ from the runtime request
# and fix volume ownership only when a remap is needed
changed=0
if [ "$(id -u node)" -ne "$PUID" ]; then
echo "Updating node UID to $PUID"
usermod -o -u "$PUID" node
changed=1
fi
if [ "$(id -g node)" -ne "$PGID" ]; then
echo "Updating node GID to $PGID"
groupmod -o -g "$PGID" node
usermod -g "$PGID" node
changed=1
fi
if [ "$changed" = "1" ]; then
chown -R node:node /paperclip
fi
export PAPERCLIP_DEPLOYMENT_MODE=authenticated
export PAPERCLIP_DEPLOYMENT_EXPOSURE=public
# In background, wait a bit for server to start up, then bootstrap CEO
(
sleep 10
export PAPERCLIP_DEPLOYMENT_MODE=authenticated
export PAPERCLIP_DEPLOYMENT_EXPOSURE=public
echo "Onboarding environment and bootstrapping CEO..."
echo "Running default setup manually..." > /paperclip/bootstrap_logs.txt
mkdir -p /paperclip/instances/default/db
mkdir -p /paperclip/instances/default/data/logs
mkdir -p /paperclip/instances/default/data/artifacts
cat << JSONEOF > /paperclip/instances/default/config.json
{
"\$meta": {
"version": 1,
"createdAt": "2026-04-06T19:20:00.000Z",
"updatedAt": "2026-04-06T19:20:00.000Z",
"source": "onboard"
},
"instanceId": "default",
"deployment": {
"exposure": "public",
"mode": "authenticated",
"authOrigin": null,
"uiMode": "static"
},
"database": {
"engine": "embedded-postgres",
"path": "/paperclip/instances/default/db"
},
"server": {
"port": 7860
},
"storage": {
"engine": "local",
"root": "/paperclip/instances/default/data/artifacts"
},
"logging": {
"level": "info",
"dir": "/paperclip/instances/default/data/logs",
"mode": "file"
},
"agent": {
"jwtSecret": "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"
}
}
JSONEOF
echo "Wrote default config.json. Bootstrapping CEO and generating invite URL..." >> /paperclip/bootstrap_logs.txt
# try running it from root instead of explicit paths
PAPERCLIP_DEPLOYMENT_MODE=authenticated PAPERCLIP_DEPLOYMENT_EXPOSURE=public PAPERCLIP_HOME=/paperclip PAPERCLIP_INSTANCE_ID=default gosu node npm run start -- auth bootstrap-ceo >> /paperclip/bootstrap_logs.txt 2>&1
) &
export PAPERCLIP_DEPLOYMENT_MODE=authenticated
export PAPERCLIP_DEPLOYMENT_EXPOSURE=public
export PAPERCLIP_HOME=/paperclip
export PAPERCLIP_INSTANCE_ID=default
exec gosu node "$@"
|