WIP! A BB-style forum, on the ATmosphere! We're still working... we'll be back soon when we have something to show off!
node typescript hono htmx atproto
at feat/atb-60-theme-import-export 82 lines 1.9 kB view raw
1#!/bin/sh 2set -e # Exit on error 3 4echo "=== atBB Container Starting ===" 5 6# Start nginx 7echo "Starting nginx..." 8nginx 9sleep 1 10 11# Read nginx PID from PID file 12if [ ! -f /tmp/nginx.pid ]; then 13 echo "ERROR: nginx failed to start (no PID file)" 14 exit 1 15fi 16NGINX_PID=$(cat /tmp/nginx.pid) 17 18# Verify nginx is running 19if ! kill -0 $NGINX_PID 2>/dev/null; then 20 echo "ERROR: nginx failed to start (process not running)" 21 exit 1 22fi 23echo "nginx started (PID: $NGINX_PID)" 24 25# Start appview (background) 26echo "Starting appview..." 27cd /app/apps/appview 28NODE_ENV=production node dist/index.js & 29APPVIEW_PID=$! 30sleep 2 31 32# Verify appview started 33if ! kill -0 $APPVIEW_PID 2>/dev/null; then 34 echo "ERROR: appview failed to start" 35 kill $NGINX_PID 2>/dev/null || true 36 exit 1 37fi 38echo "appview started (PID: $APPVIEW_PID)" 39 40# Start web (background) 41echo "Starting web..." 42cd /app/apps/web 43NODE_ENV=production node dist/index.js & 44WEB_PID=$! 45sleep 2 46 47# Verify web started 48if ! kill -0 $WEB_PID 2>/dev/null; then 49 echo "ERROR: web failed to start" 50 kill $NGINX_PID $APPVIEW_PID 2>/dev/null || true 51 exit 1 52fi 53echo "web started (PID: $WEB_PID)" 54echo "=== All services started, container ready ===" 55 56# Cleanup function for graceful shutdown 57cleanup() { 58 echo "Received shutdown signal, stopping services..." 59 kill $NGINX_PID $APPVIEW_PID $WEB_PID 2>/dev/null || true 60 wait $NGINX_PID $APPVIEW_PID $WEB_PID 2>/dev/null || true 61 exit 0 62} 63 64# Setup signal handling 65trap cleanup TERM INT 66 67# Monitor processes - exit if any critical service crashes 68while true; do 69 if ! kill -0 $NGINX_PID 2>/dev/null; then 70 echo "ERROR: nginx crashed, shutting down container" 71 cleanup 72 fi 73 if ! kill -0 $APPVIEW_PID 2>/dev/null; then 74 echo "ERROR: appview crashed, shutting down container" 75 cleanup 76 fi 77 if ! kill -0 $WEB_PID 2>/dev/null; then 78 echo "ERROR: web crashed, shutting down container" 79 cleanup 80 fi 81 sleep 5 82done