Files
lifeforge/docker/server/entrypoint.sh
melvinchia3636 e9776c3fd6 refactor: extract shared configs & federation packages; rename log/server-utils
- Create @lifeforge/configs package with shared client/module Vite configs
  and the `@` path alias resolver extracted from client/vite.config.ts
- Create @lifeforge/federation package with module loading, federation
  provider, and route utilities moved out of the client app
- Rename packages/lifeforge-log → packages/log
- Rename packages/lifeforge-server-utils → packages/server-utils
- Update all imports, tsconfig references, Dockerfiles, and workspace
  scripts to reflect the new package names and locations
2026-06-25 08:53:34 +08:00

34 lines
1.1 KiB
Bash

#!/bin/sh
set -e
echo "Waiting for PocketBase to be ready..."
until wget -q --spider http://db:8090/api/health 2>/dev/null; do
echo "PocketBase not ready, waiting..."
sleep 2
done
echo "PocketBase is ready!"
# Create symlinks for externalized dependencies
mkdir -p /lifeforge/node_modules/@lifeforge
# Symlink shared package
ln -sf /lifeforge/shared /lifeforge/node_modules/shared
# Symlink @lifeforge/log (required by server-utils)
ln -sf /lifeforge/packages/log /lifeforge/node_modules/@lifeforge/log
# Symlink @lifeforge/server-utils (required by module bundles)
ln -sf /lifeforge/packages/server-utils /lifeforge/node_modules/@lifeforge/server-utils
# Check if modules are mounted
if [ -d "/lifeforge/apps" ] && [ "$(ls -A /lifeforge/apps 2>/dev/null)" ]; then
module_count=$(ls -d /lifeforge/apps/*/ 2>/dev/null | wc -l | tr -d ' ')
echo "Found $module_count module(s) mounted at /lifeforge/apps"
else
echo "No modules mounted. Mount modules to /lifeforge/apps to enable them."
fi
echo "Starting server..."
cd /lifeforge/server
exec bun dist/server.js