[Unit] Description=Curriculum Project Hub (Feishu agent + cph) After=network-online.target postgresql.service Wants=network-online.target [Service] Type=simple User=__SERVICE_USER__ WorkingDirectory=__HUB_DIR__ EnvironmentFile=__ENV_FILE__ # Run prisma migrations before each start, then launch the Hub. ExecStartPre=__NODE_BIN__ __HUB_DIR__/node_modules/prisma/build/index.js migrate deploy --schema __HUB_DIR__/prisma/schema.prisma ExecStart=__NODE_BIN__ __HUB_DIR__/dist/server.js Restart=on-failure RestartSec=5 # Graceful shutdown: lark ws close + in-flight runs. KillSignal=SIGTERM TimeoutStopSec=30 [Install] WantedBy=multi-user.target