[{"data":1,"prerenderedAt":1948},["ShallowReactive",2],{"nav-docs":3,"page-/docs/getting-started/install-linux":880,"surround-/docs/getting-started/install-linux":1942,"raw-/docs/getting-started/install-linux":1945},[4,56,226,546,634,773,806,863],{"title":5,"path":6,"stem":7,"children":8,"page":55},"Space Builder","/getting-started","00.getting-started",[9,13,17,23,29,33,38,42,46,50],{"title":10,"path":11,"stem":12,"children":-1},"Introducing SpaceBuilder","/getting-started/overview","00.getting-started/00.overview",{"title":14,"path":15,"stem":16,"children":-1},"Create a SetFN Account","/getting-started/create-setfn-account","00.getting-started/05.create-setfn-account",{"title":18,"path":19,"stem":20,"tags":21,"children":-1},"Installing on Linux","/getting-started/install-linux","00.getting-started/10.install-linux",[22],"recommended",{"title":24,"path":25,"stem":26,"tags":27,"children":-1},"Installing with Docker","/getting-started/install-docker","00.getting-started/12.install-docker",[28],"preparing",{"title":30,"path":31,"stem":32,"children":-1},"Installing on Windows","/getting-started/install-windows","00.getting-started/14.install-windows",{"title":34,"path":35,"stem":36,"tags":37,"children":-1},"Installing on macOS","/getting-started/install-macos","00.getting-started/16.install-macos",[28],{"title":39,"path":40,"stem":41,"children":-1},"Initial Setup","/getting-started/initial-setup","00.getting-started/20.initial-setup",{"title":43,"path":44,"stem":45,"children":-1},"License Activation","/getting-started/license-activation","00.getting-started/30.license-activation",{"title":47,"path":48,"stem":49,"children":-1},"Checking Your Access Address (Local/Internal Network)","/getting-started/access-url","00.getting-started/35.access-url",{"title":51,"path":52,"stem":53,"tags":54,"children":-1},"Choosing an External Access Method","/getting-started/access-domain","00.getting-started/40.access-domain",[22],false,{"title":57,"path":58,"stem":59,"children":60,"page":55},"Space management","/admin","10.admin",[61,74,107,136,171,184,209],{"title":62,"path":63,"stem":64,"children":65,"page":55},"Admin Home","/admin/home","10.admin/00.home",[66,70],{"title":67,"path":68,"stem":69,"children":-1},"Accessing the Admin Page","/admin/home/admin-page-access","10.admin/00.home/00.admin-page-access",{"title":71,"path":72,"stem":73,"children":-1},"License Management","/admin/home/license","10.admin/00.home/20.license",{"title":75,"path":76,"stem":77,"children":78,"page":55},"User management","/admin/user-management","10.admin/10.user-management",[79,83,87,91,95,99,103],{"title":80,"path":81,"stem":82,"children":-1},"Setting Signup Policy and Default Permissions","/admin/user-management/signup-policy","10.admin/10.user-management/02.signup-policy",{"title":84,"path":85,"stem":86,"children":-1},"Creating a User Account","/admin/user-management/invite-new-member","10.admin/10.user-management/10.invite-new-member",{"title":88,"path":89,"stem":90,"children":-1},"Editing a User Account","/admin/user-management/edit-member","10.admin/10.user-management/11.edit-member",{"title":92,"path":93,"stem":94,"children":-1},"Adding an Admin","/admin/user-management/add-new-admin","10.admin/10.user-management/12.add-new-admin",{"title":96,"path":97,"stem":98,"children":-1},"Team Management","/admin/user-management/team","10.admin/10.user-management/22.team",{"title":100,"path":101,"stem":102,"children":-1},"Level Management","/admin/user-management/level","10.admin/10.user-management/24.level",{"title":104,"path":105,"stem":106,"children":-1},"Checking Access Logs","/admin/user-management/access-log","10.admin/10.user-management/30.access-log",{"title":108,"path":109,"stem":110,"children":111,"page":55},"Service Configuration","/admin/service-config","10.admin/20.service-config",[112,116,120,124,128,132],{"title":113,"path":114,"stem":115,"children":-1},"File Area Settings","/admin/service-config/file-area","10.admin/20.service-config/10.file-area",{"title":117,"path":118,"stem":119,"children":-1},"Webhook Settings","/admin/service-config/webhook-settings","10.admin/20.service-config/16.webhook-settings",{"title":121,"path":122,"stem":123,"children":-1},"Community Settings","/admin/service-config/community-space","10.admin/20.service-config/22.community-space",{"title":125,"path":126,"stem":127,"children":-1},"AI Chatbot Policy Settings","/admin/service-config/community-ai-chatbot","10.admin/20.service-config/24.community-ai-chatbot",{"title":129,"path":130,"stem":131,"children":-1},"Email Settings","/admin/service-config/email-settings","10.admin/20.service-config/30.email-settings",{"title":133,"path":134,"stem":135,"children":-1},"Branding Settings","/admin/service-config/brand","10.admin/20.service-config/40.brand",{"title":137,"path":138,"stem":139,"children":140,"page":55},"Intelligent Service (AI)","/admin/ai","10.admin/30.ai",[141,145,149,153,159,163,167],{"title":142,"path":143,"stem":144,"children":-1},"AI Model Settings","/admin/ai/ai-model-setting","10.admin/30.ai/10.ai-model-setting",{"title":146,"path":147,"stem":148,"children":-1},"AI DB Settings","/admin/ai/ai-db-setting","10.admin/30.ai/20.ai-db-setting",{"title":150,"path":151,"stem":152,"children":-1},"Setting Up a Qdrant Server","/admin/ai/qdrant-server-setup","10.admin/30.ai/25.qdrant-server-setup",{"title":154,"path":155,"stem":156,"children":157},"Knowledge Indexing","/admin/ai/knowledge-indexing","10.admin/30.ai/30.knowledge-indexing",[158],{"title":154,"path":155,"stem":156,"children":-1},{"title":160,"path":161,"stem":162,"children":-1},"AI Integration and Policy Settings","/admin/ai/ai-link","10.admin/30.ai/40.ai-link",{"title":164,"path":165,"stem":166,"children":-1},"MCP Server Management","/admin/ai/mcp-server","10.admin/30.ai/50.mcp-server",{"title":168,"path":169,"stem":170,"children":-1},"Search Management","/admin/ai/search-management","10.admin/30.ai/60.search-management",{"title":172,"path":173,"stem":174,"children":175,"page":55},"plugin","/admin/plugin","10.admin/40.plugin",[176,180],{"title":177,"path":178,"stem":179,"children":-1},"Managing Plugins","/admin/plugin/overview","10.admin/40.plugin/00.overview",{"title":181,"path":182,"stem":183,"children":-1},"Extension Plugin Settings","/admin/plugin/settings","10.admin/40.plugin/10.settings",{"title":185,"path":186,"stem":187,"children":188,"page":55},"Security Management","/admin/security","10.admin/50.security",[189,193,197,201,205],{"title":190,"path":191,"stem":192,"children":-1},"Security Overview","/admin/security/overview","10.admin/50.security/00.overview",{"title":194,"path":195,"stem":196,"children":-1},"Checking the Audit Log","/admin/security/audit-log","10.admin/50.security/05.audit-log",{"title":198,"path":199,"stem":200,"children":-1},"Block Management","/admin/security/block-management","10.admin/50.security/10.block-management",{"title":202,"path":203,"stem":204,"children":-1},"Security Settings","/admin/security/security-setting","10.admin/50.security/12.security-setting",{"title":206,"path":207,"stem":208,"children":-1},"IP Access Restriction","/admin/security/ip-restriction","10.admin/50.security/16.ip-restriction",{"title":210,"path":211,"stem":212,"children":213,"page":55},"System management","/admin/system-admin","10.admin/60.system-admin",[214,218,222],{"title":215,"path":216,"stem":217,"children":-1},"Device Information","/admin/system-admin/device-info","10.admin/60.system-admin/10.device-info",{"title":219,"path":220,"stem":221,"children":-1},"Server Restart and System Maintenance","/admin/system-admin/server-restart","10.admin/60.system-admin/12.server-restart",{"title":223,"path":224,"stem":225,"children":-1},"Background Services","/admin/system-admin/background-service","10.admin/60.system-admin/14.background-service",{"title":227,"path":228,"stem":229,"children":230,"page":55},"Use workspace","/workspace","20.workspace",[231,264,281,337,448,495,527],{"title":232,"path":233,"stem":234,"children":235,"page":55},"menu","/workspace/menu","20.workspace/05.menu",[236,240,244,248,252,256,260],{"title":237,"path":238,"stem":239,"children":-1},"Workspace Overview","/workspace/menu/overview","20.workspace/05.menu/00.overview",{"title":241,"path":242,"stem":243,"children":-1},"Team Space","/workspace/menu/team-space","20.workspace/05.menu/05.team-space",{"title":245,"path":246,"stem":247,"children":-1},"Client Space","/workspace/menu/client-space","20.workspace/05.menu/06.client-space",{"title":249,"path":250,"stem":251,"children":-1},"Favorites","/workspace/menu/favorites","20.workspace/05.menu/10.favorites",{"title":253,"path":254,"stem":255,"children":-1},"Recent Documents","/workspace/menu/recent","20.workspace/05.menu/20.recent",{"title":257,"path":258,"stem":259,"children":-1},"External Share","/workspace/menu/external-share","20.workspace/05.menu/30.external-share",{"title":261,"path":262,"stem":263,"children":-1},"Trash","/workspace/menu/trash","20.workspace/05.menu/40.trash",{"title":265,"path":266,"stem":267,"children":268,"page":55},"Account","/workspace/account","20.workspace/10.account",[269,273,277],{"title":270,"path":271,"stem":272,"children":-1},"Sign Up and Log In","/workspace/account/signup","20.workspace/10.account/10.signup",{"title":274,"path":275,"stem":276,"children":-1},"Resetting Your Password","/workspace/account/reset-password","20.workspace/10.account/20.reset-password",{"title":278,"path":279,"stem":280,"children":-1},"Account Settings","/workspace/account/account-settings","20.workspace/10.account/30.account-settings",{"title":282,"path":283,"stem":284,"children":285,"page":55},"folder","/workspace/folder","20.workspace/20.folder",[286,290,294,298,302,308,312,316,321,325,329,333],{"title":287,"path":288,"stem":289,"children":-1},"Folder Basics","/workspace/folder/basic","20.workspace/20.folder/10.basic",{"title":291,"path":292,"stem":293,"children":-1},"Creating Multiple Folders at Once","/workspace/folder/bulk-folder-creation","20.workspace/20.folder/12.bulk-folder-creation",{"title":295,"path":296,"stem":297,"children":-1},"Filter","/workspace/folder/filter","20.workspace/20.folder/13.filter",{"title":299,"path":300,"stem":301,"children":-1},"Configuring Folder View Options","/workspace/folder/folder-view-options","20.workspace/20.folder/14.folder-view-options",{"title":303,"path":304,"stem":305,"tags":306,"children":-1},"Folder Web View","/workspace/folder/folder-web-view","20.workspace/20.folder/16.folder-web-view",[307],"hot",{"title":309,"path":310,"stem":311,"children":-1},"Folder Organization","/workspace/folder/folder-organize","20.workspace/20.folder/17.folder-organize",{"title":313,"path":314,"stem":315,"children":-1},"Folder Notice (README)","/workspace/folder/folder-readme","20.workspace/20.folder/18.folder-readme",{"title":317,"path":318,"stem":319,"tags":320,"children":-1},"Exporting Folder/File Lists","/workspace/folder/folder-export","20.workspace/20.folder/20.folder-export",[307],{"title":322,"path":323,"stem":324,"children":-1},"Setting Level-Based Access Permissions","/workspace/folder/level-access-permissions","20.workspace/20.folder/24.level-access-permissions",{"title":326,"path":327,"stem":328,"children":-1},"Setting Team-Based Access Permissions","/workspace/folder/team-access-permissions","20.workspace/20.folder/26.team-access-permissions",{"title":330,"path":331,"stem":332,"children":-1},"Folder Webhooks","/workspace/folder/webhook","20.workspace/20.folder/30.webhook",{"title":334,"path":335,"stem":336,"children":-1},"Work Automation Folder","/workspace/folder/automation","20.workspace/20.folder/40.automation",{"title":338,"path":339,"stem":340,"children":341,"page":55},"file","/workspace/file","20.workspace/30.file",[342,346,351,355,359,363,367,371,375,379,384,388,392,396,400,404,408,412,416,420,424,428,432,436,440,444],{"title":343,"path":344,"stem":345,"children":-1},"File Management Basics","/workspace/file/overview","20.workspace/30.file/00.overview",{"title":347,"path":348,"stem":349,"tags":350,"children":-1},"Checking the List While Viewing a File","/workspace/file/list-in-file","20.workspace/30.file/05.list-in-file",[307],{"title":352,"path":353,"stem":354,"children":-1},"Register disk files","/workspace/file/disk-file-registration","20.workspace/30.file/06.disk-file-registration",{"title":356,"path":357,"stem":358,"children":-1},"Viewing and Editing Text Files","/workspace/file/text-file-viewer","20.workspace/30.file/10.text-file-viewer",{"title":360,"path":361,"stem":362,"children":-1},"Viewing HTML Files","/workspace/file/html-viewer","20.workspace/30.file/11.html-viewer",{"title":364,"path":365,"stem":366,"children":-1},"Viewing and Editing CSV Files","/workspace/file/csv-viewer","20.workspace/30.file/12.csv-viewer",{"title":368,"path":369,"stem":370,"children":-1},"Viewing Image/Video Files","/workspace/file/image-file-viewer","20.workspace/30.file/13.image-file-viewer",{"title":372,"path":373,"stem":374,"children":-1},"Viewing Office/PDF Files","/workspace/file/office-viewer","20.workspace/30.file/14.office-viewer",{"title":376,"path":377,"stem":378,"children":-1},"Pasting Web Pages (HTML)","/workspace/file/paste-html","20.workspace/30.file/20.paste-html",{"title":380,"path":381,"stem":382,"tags":383,"children":-1},"Pasting Screenshots","/workspace/file/paste-screenshot","20.workspace/30.file/21.paste-screenshot",[307],{"title":385,"path":386,"stem":387,"children":-1},"Pasting Markdown (MD)","/workspace/file/paste-md","20.workspace/30.file/22.paste-md",{"title":389,"path":390,"stem":391,"children":-1},"Screen Recording","/workspace/file/screen-recording","20.workspace/30.file/23.screen-recording",{"title":393,"path":394,"stem":395,"children":-1},"File Tags","/workspace/file/file-tag","20.workspace/30.file/33.file-tag",{"title":397,"path":398,"stem":399,"children":-1},"Bulk Renaming Files","/workspace/file/bulk-name-revise","20.workspace/30.file/34.bulk-name-revise",{"title":401,"path":402,"stem":403,"children":-1},"File Conversion","/workspace/file/file-convert-overview","20.workspace/30.file/40.file-convert-overview",{"title":405,"path":406,"stem":407,"children":-1},"Template Files","/workspace/file/templates","20.workspace/30.file/41.templates",{"title":409,"path":410,"stem":411,"children":-1},"To-Do List","/workspace/file/template-todo","20.workspace/30.file/42.template-todo",{"title":413,"path":414,"stem":415,"children":-1},"Approval Form","/workspace/file/template-approval","20.workspace/30.file/43.template-approval",{"title":417,"path":418,"stem":419,"children":-1},"Kanban Board","/workspace/file/template-kanban","20.workspace/30.file/44.template-kanban",{"title":421,"path":422,"stem":423,"children":-1},"Timeline","/workspace/file/template-timeline","20.workspace/30.file/45.template-timeline",{"title":425,"path":426,"stem":427,"children":-1},"Memo","/workspace/file/template-memo","20.workspace/30.file/46.template-memo",{"title":429,"path":430,"stem":431,"children":-1},"AI Chat File","/workspace/file/ai-chat-file","20.workspace/30.file/47.ai-chat-file",{"title":433,"path":434,"stem":435,"children":-1},"Checking the File Change History","/workspace/file/audit-trail","20.workspace/30.file/50.audit-trail",{"title":437,"path":438,"stem":439,"children":-1},"File Version Control","/workspace/file/version-trail","20.workspace/30.file/51.version-trail",{"title":441,"path":442,"stem":443,"children":-1},"Edit Lock","/workspace/file/file-lock","20.workspace/30.file/52.file-lock",{"title":445,"path":446,"stem":447,"children":-1},"File Encryption","/workspace/file/file-encrypt","20.workspace/30.file/53.file-encrypt",{"title":449,"path":450,"stem":451,"children":452,"page":55},"Collaboration","/workspace/cooperation","20.workspace/35.cooperation",[453,457,461,465,470,474,478,482,487,491],{"title":454,"path":455,"stem":456,"children":-1},"File/Folder Comments","/workspace/cooperation/file-comments","20.workspace/35.cooperation/00.file-comments",{"title":458,"path":459,"stem":460,"children":-1},"Chat","/workspace/cooperation/chat","20.workspace/35.cooperation/10.chat",{"title":462,"path":463,"stem":464,"children":-1},"Collaboration Chat and Edit Lock","/workspace/cooperation/collaboration-chat","20.workspace/35.cooperation/11.collaboration-chat",{"title":466,"path":467,"stem":468,"tags":469,"children":-1},"Following a Team Member's Location","/workspace/cooperation/follow-team-location","20.workspace/35.cooperation/12.follow-team-location",[307],{"title":471,"path":472,"stem":473,"children":-1},"Mentions","/workspace/cooperation/mention","20.workspace/35.cooperation/14.mention",{"title":475,"path":476,"stem":477,"children":-1},"Direct Messages","/workspace/cooperation/dm","20.workspace/35.cooperation/16.dm",{"title":479,"path":480,"stem":481,"children":-1},"Notification Inbox","/workspace/cooperation/notification-inbox","20.workspace/35.cooperation/18.notification-inbox",{"title":483,"path":484,"stem":485,"tags":486,"children":-1},"Checking Team Activity","/workspace/cooperation/file-activity","20.workspace/35.cooperation/30.file-activity",[307],{"title":488,"path":489,"stem":490,"children":-1},"Creating an External Share Link","/workspace/cooperation/share-link-creation","20.workspace/35.cooperation/40.share-link-creation",{"title":492,"path":493,"stem":494,"children":-1},"Sending an External Share Link by Email","/workspace/cooperation/share-link-email","20.workspace/35.cooperation/42.share-link-email",{"title":496,"path":497,"stem":498,"children":499,"page":55},"Search","/workspace/search","20.workspace/40.search",[500,504,509,515,519,523],{"title":501,"path":502,"stem":503,"children":-1},"File Search","/workspace/search/search","20.workspace/40.search/00.search",{"title":505,"path":506,"stem":507,"tags":508,"children":-1},"Context Search (AI Search)","/workspace/search/context-search","20.workspace/40.search/10.context-search",[307],{"title":510,"path":511,"stem":512,"tags":513,"children":-1},"Image Search","/workspace/search/image-search","20.workspace/40.search/20.image-search",[514],"new",{"title":516,"path":517,"stem":518,"children":-1},"Chat Search","/workspace/search/chat-search","20.workspace/40.search/30.chat-search",{"title":520,"path":521,"stem":522,"children":-1},"Comment Search","/workspace/search/comment-search","20.workspace/40.search/40.comment-search",{"title":524,"path":525,"stem":526,"children":-1},"Synonym Search","/workspace/search/synonym-search","20.workspace/40.search/50.synonym-search",{"title":528,"path":529,"stem":530,"children":531,"page":55},"AI","/workspace/ai","20.workspace/50.ai",[532,536,541],{"title":533,"path":534,"stem":535,"children":-1},"AI Features Summary","/workspace/ai/overview","20.workspace/50.ai/00.overview",{"title":537,"path":538,"stem":539,"tags":540,"children":-1},"Requesting Work from the Local AI","/workspace/ai/ai-work","20.workspace/50.ai/10.ai-work",[307],{"title":542,"path":543,"stem":544,"tags":545,"children":-1},"Using External AI","/workspace/ai/external-ai","20.workspace/50.ai/20.external-ai",[514],{"title":547,"path":548,"stem":549,"children":550,"page":55},"Webspace","/webspace","40.webspace",[551,555,559,563,567,571,576,580,584,588,592,621],{"title":552,"path":553,"stem":554,"children":-1},"What is WebSpace?","/webspace/overview","40.webspace/00.overview",{"title":556,"path":557,"stem":558,"children":-1},"Deploying a Website","/webspace/website-release","40.webspace/10.website-release",{"title":560,"path":561,"stem":562,"children":-1},"Create a schema file (.sfn)","/webspace/create-database","40.webspace/20.create-database",{"title":564,"path":565,"stem":566,"children":-1},"Build APIs and deploy a database","/webspace/api-overview","40.webspace/24.api-overview",{"title":568,"path":569,"stem":570,"children":-1},"Checking the Frontend Sample","/webspace/frontend-example","40.webspace/26.frontend-example",{"title":572,"path":573,"stem":574,"tags":575,"children":-1},"Building an Internal Team Web Service","/webspace/internal-webservice","40.webspace/32.internal-webservice",[307],{"title":577,"path":578,"stem":579,"children":-1},"Building a Publicly Accessible Web Service","/webspace/external-webservice","40.webspace/34.external-webservice",{"title":581,"path":582,"stem":583,"children":-1},"Import and export SQL","/webspace/sql-converter","40.webspace/42.sql-converter",{"title":585,"path":586,"stem":587,"children":-1},"Developer Tip 2: Code Converter","/webspace/code-converter","40.webspace/44.code-converter",{"title":589,"path":590,"stem":591,"children":-1},"Performance and scaling","/webspace/performance","40.webspace/48.performance",{"title":593,"path":594,"stem":595,"children":596,"page":55},"Webspace Management","/webspace/admin","40.webspace/50.admin",[597,601,605,609,613,617],{"title":598,"path":599,"stem":600,"children":-1},"Get started with WebSpace administration","/webspace/admin/overview","40.webspace/50.admin/00.overview",{"title":602,"path":603,"stem":604,"children":-1},"Operations","/webspace/admin/operations","40.webspace/50.admin/10.operations",{"title":606,"path":607,"stem":608,"children":-1},"Workspace access","/webspace/admin/workspace-access","40.webspace/50.admin/20.workspace-access",{"title":610,"path":611,"stem":612,"children":-1},"API & site security","/webspace/admin/api-site-security","40.webspace/50.admin/30.api-site-security",{"title":614,"path":615,"stem":616,"children":-1},"Services and capacity","/webspace/admin/service-capacity","40.webspace/50.admin/40.service-capacity",{"title":618,"path":619,"stem":620,"children":-1},"Deployment management and frontend releases","/webspace/admin/deployments","40.webspace/50.admin/50.deployments",{"title":622,"path":623,"stem":624,"children":625,"page":55},"Try WebSpace","/webspace/examples","40.webspace/60.examples",[626,630],{"title":627,"path":628,"stem":629,"children":-1},"WebSpace examples","/webspace/examples/overview","40.webspace/60.examples/00.overview",{"title":631,"path":632,"stem":633,"children":-1},"Build a real-time Gomoku game","/webspace/examples/realtime-gomoku","40.webspace/60.examples/20.realtime-gomoku",{"title":635,"path":636,"stem":637,"children":638,"page":55},"Using plugin","/plugin","50.plugin",[639,643,660,704,722,752],{"title":640,"path":641,"stem":642,"children":-1},"Plugin Overview","/plugin/overview","50.plugin/00.overview",{"title":644,"path":645,"stem":646,"children":647,"page":55},"Calendar","/plugin/calendar","50.plugin/10.calendar",[648,652,656],{"title":649,"path":650,"stem":651,"children":-1},"Calendar Introduction","/plugin/calendar/overview","50.plugin/10.calendar/00.overview",{"title":653,"path":654,"stem":655,"children":-1},"Creating, Editing, and Deleting Events","/plugin/calendar/create-event","50.plugin/10.calendar/10.create-event",{"title":657,"path":658,"stem":659,"children":-1},"Checking Activity History","/plugin/calendar/file-activity","50.plugin/10.calendar/40.file-activity",{"title":661,"path":662,"stem":663,"children":664,"page":55},"Email","/plugin/email","50.plugin/20.email",[665,669,672,676,680,684,688,692,696,700],{"title":666,"path":667,"stem":668,"children":-1},"Email Introduction","/plugin/email/overview","50.plugin/20.email/00.overview",{"title":129,"path":670,"stem":671,"children":-1},"/plugin/email/setfn-email-setting","50.plugin/20.email/05.setfn-email-setting",{"title":673,"path":674,"stem":675,"children":-1},"Connect an External Email Account","/plugin/email/external-email","50.plugin/20.email/07.external-email",{"title":677,"path":678,"stem":679,"children":-1},"Basic Email Functionality","/plugin/email/email-basic","50.plugin/20.email/10.email-basic",{"title":681,"path":682,"stem":683,"children":-1},"Composing and Sending Email","/plugin/email/email-compose","50.plugin/20.email/20.email-compose",{"title":685,"path":686,"stem":687,"children":-1},"Attaching Files","/plugin/email/email-attachment","50.plugin/20.email/30.email-attachment",{"title":689,"path":690,"stem":691,"children":-1},"Mail Folder Management","/plugin/email/email-folders","50.plugin/20.email/40.email-folders",{"title":693,"path":694,"stem":695,"children":-1},"Automatic Email Classification","/plugin/email/email-auto-classify","50.plugin/20.email/50.email-auto-classify",{"title":697,"path":698,"stem":699,"children":-1},"Email File Archiving and Sharing","/plugin/email/email-open-in-space","50.plugin/20.email/60.email-open-in-space",{"title":701,"path":702,"stem":703,"children":-1},"Email Security","/plugin/email/email-security","50.plugin/20.email/70.email-security",{"title":705,"path":706,"stem":707,"children":708,"page":55},"Workflow","/plugin/workflow","50.plugin/30.workflow",[709,713,718],{"title":710,"path":711,"stem":712,"children":-1},"Workflow Introduction","/plugin/workflow/overview","50.plugin/30.workflow/00.overview",{"title":714,"path":715,"stem":716,"tags":717,"children":-1},"Creating a New Workflow","/plugin/workflow/new-workflow","50.plugin/30.workflow/10.new-workflow",[307],{"title":719,"path":720,"stem":721,"children":-1},"Checking Execution History","/plugin/workflow/execution-history","50.plugin/30.workflow/20.execution-history",{"title":723,"path":724,"stem":725,"children":726,"page":55},"Pinetuning (AI learning)","/plugin/fine-tuning","50.plugin/40.fine-tuning",[727,732,736,740,744,748],{"title":728,"path":729,"stem":730,"tags":731,"children":-1},"Fine-tuning Introduction","/plugin/fine-tuning/overview","50.plugin/40.fine-tuning/00.overview",[307],{"title":733,"path":734,"stem":735,"children":-1},"Preprocessing Training Data","/plugin/fine-tuning/pre-processing","50.plugin/40.fine-tuning/10.pre-processing",{"title":737,"path":738,"stem":739,"children":-1},"Training","/plugin/fine-tuning/training","50.plugin/40.fine-tuning/20.training",{"title":741,"path":742,"stem":743,"children":-1},"Evaluation","/plugin/fine-tuning/evaluation","50.plugin/40.fine-tuning/30.evaluation",{"title":745,"path":746,"stem":747,"children":-1},"Chat Test","/plugin/fine-tuning/chat-test","50.plugin/40.fine-tuning/40.chat-test",{"title":749,"path":750,"stem":751,"children":-1},"Export","/plugin/fine-tuning/export","50.plugin/40.fine-tuning/50.export",{"title":753,"path":754,"stem":755,"children":756,"page":55},"EDC (data collection)","/plugin/edc","50.plugin/50.edc",[757,761,765,769],{"title":758,"path":759,"stem":760,"children":-1},"EDC Introduction","/plugin/edc/overview","50.plugin/50.edc/00.overview",{"title":762,"path":763,"stem":764,"children":-1},"Data Entry, Audit Trail","/plugin/edc/data-entry","50.plugin/50.edc/10.data-entry",{"title":766,"path":767,"stem":768,"children":-1},"Builder","/plugin/edc/builder","50.plugin/50.edc/20.builder",{"title":770,"path":771,"stem":772,"children":-1},"User/Site Settings","/plugin/edc/account","50.plugin/50.edc/30.account",{"title":774,"path":775,"stem":776,"children":777,"page":55},"FAQ","/faq","99.FAQ",[778,782,786,790,794,798,802],{"title":779,"path":780,"stem":781,"children":-1},"SetFN vs Cloud Services Comparison","/faq/comparison-cloud","99.FAQ/10.comparison-cloud",{"title":783,"path":784,"stem":785,"children":-1},"SetFN vs NAS Comparison","/faq/comparison-nas","99.FAQ/20.comparison-nas",{"title":787,"path":788,"stem":789,"children":-1},"Security Policy","/faq/security-policy","99.FAQ/30.security-policy",{"title":791,"path":792,"stem":793,"children":-1},"Why Is SetFN Fast","/faq/why-fast","99.FAQ/40.why-fast",{"title":795,"path":796,"stem":797,"children":-1},"License FAQ","/faq/license-faq","99.FAQ/50.license-faq",{"title":799,"path":800,"stem":801,"children":-1},"AI Features FAQ","/faq/ai-faq","99.FAQ/60.ai-faq",{"title":803,"path":804,"stem":805,"children":-1},"Troubleshooting Guide","/faq/troubleshooting","99.FAQ/70.troubleshooting",{"title":807,"path":808,"stem":809,"children":810,"page":55},"Applied (draft)","/draft","draft",[811,815,819,823,827,831,835,839,843,847,851,855,859],{"title":812,"path":813,"stem":814,"children":-1},"Example 1. Building an Introduction Page","/draft/static-intro","draft/05.static-intro",{"title":816,"path":817,"stem":818,"children":-1},"Example 2. Building a Notice Board","/draft/public-notice-board","draft/07.public-notice-board",{"title":820,"path":821,"stem":822,"children":-1},"Example 3. Building a Coffee Chat Booking System","/draft/coffee-chat-booking","draft/08.coffee-chat-booking",{"title":824,"path":825,"stem":826,"children":-1},"Example 4. Building a Leave Request System","/draft/leave-request","draft/09.leave-request",{"title":828,"path":829,"stem":830,"children":-1},"Example 5. Building Real-Time Team Chat","/draft/team-chat","draft/10.team-chat",{"title":832,"path":833,"stem":834,"children":-1},"Example 6. Building a Job Application Intake","/draft/client-submission","draft/11.client-submission",{"title":836,"path":837,"stem":838,"children":-1},"Example 7. Building an Issue Tracker with Team and Level Conditions","/draft/crm-basic","draft/12.crm-basic",{"title":840,"path":841,"stem":842,"children":-1},"Example 8. Building a Status Filter and Stats Summary Screen","/draft/crm-search-filter","draft/13.crm-search-filter",{"title":844,"path":845,"stem":846,"children":-1},"Example 9. Building Real-Time Community Chat with Moderation","/draft/community-moderation","draft/14.community-moderation",{"title":848,"path":849,"stem":850,"children":-1},"Example 10. Building a Real-Time Attendance Check / Poll","/draft/attendance-poll","draft/15.attendance-poll",{"title":852,"path":853,"stem":854,"children":-1},"Example 11. Building a Debate Battle","/draft/debate-battle","draft/16.debate-battle",{"title":856,"path":857,"stem":858,"children":-1},"Example 13. Building an Announcement Read Receipt","/draft/announcement-read","draft/18.announcement-read",{"title":860,"path":861,"stem":862,"children":-1},"Example 14. Building an Inventory Management System","/draft/inventory-management","draft/19.inventory-management",{"title":864,"path":865,"stem":866,"children":867,"page":55},"SJAUTO","/sjauto","sjauto",[868,872,876],{"title":869,"path":870,"stem":871,"children":-1},"Access the Administrator Page","/sjauto/admin-page-access","sjauto/00.admin-page-access",{"title":873,"path":874,"stem":875,"children":-1},"Sign Up and Sign In","/sjauto/signup","sjauto/10.signup",{"title":877,"path":878,"stem":879,"children":-1},"AI Chat Files","/sjauto/ai-chat-file","sjauto/ai-chat-file",{"id":881,"title":18,"body":882,"cover":1923,"description":1924,"extension":1925,"image":1923,"meta":1926,"navigation":1594,"path":19,"seo":1928,"stem":20,"tags":1940,"thumbnail":1923,"__hash__":1941},"docs_en/00.getting-started/10.install-linux.md",{"type":883,"value":884,"toc":1906},"minimal",[885,889,893,896,901,918,924,929,932,935,939,945,949,952,955,981,985,988,1048,1105,1121,1125,1128,1131,1179,1298,1314,1317,1395,1399,1402,1411,1430,1437,1445,1449,1456,1467,1474,1482,1486,1489,1498,1510,1523,1526,1530,1537,1552,1563,1670,1688,1700,1704,1707,1722,1742,1745,1760,1771,1775,1780,1805,1811,1827,1831,1895,1902],[886,887,18],"h1",{"id":888},"installing-on-linux",[890,891,892],"p",{},"This guide explains how to run SetFN SpaceBuilder directly on a Linux host. The examples below are based on Ubuntu-family distributions; package names and install commands may differ on other distributions.",[894,895],"hr",{},[897,898,900],"h2",{"id":899},"before-you-begin","Before you begin",[902,903,904,912,915],"ul",{},[905,906,907,911],"li",{},[908,909,910],"strong",{},"sudo"," privileges are required only the first time you install the required libraries",[905,913,914],{},"Sufficient disk space to store service data and files you'll upload in the future",[905,916,917],{},"Firewall access to the server port if you'll connect from other devices",[890,919,920,921,923],{},"Running SpaceBuilder itself does not require ",[908,922,910],{}," privileges. Run it under a regular user account.",[925,926,928],"h3",{"id":927},"gpu-servers-and-ai-workstations","GPU Servers and AI Workstations",[890,930,931],{},"In addition to general Linux PCs and servers, GB10-based personal AI systems such as NVIDIA DGX Spark, ASUS Ascent GX10, Dell Pro Max with GB10, HP ZGX Nano AI Station, Lenovo ThinkStation PGX, and MSI EdgeXpert can be used as Linux hosts. These systems are well suited to GPU-intensive workloads such as running local AI models and knowledge indexing.",[890,933,934],{},"CPU architecture, Linux distribution, NVIDIA driver requirements, and AI runtime support vary by device. Before installation, confirm that the SpaceBuilder installer and your chosen AI runtime support the target environment.",[925,936,938],{"id":937},"planned-full-installation-option","Planned Full Installation Option",[940,941,942],"note",{},[890,943,944],{},"We are building a simplified installation feature that sets up SpaceBuilder along with image processing, OCR, PDF analysis, and office document conversion all at once. Until it's available, run the installation commands below in order — you'll be able to use all the same functionality.",[897,946,948],{"id":947},"downloading-the-installer","Downloading the installer",[890,950,951],{},"Download the Linux installer from the download page.",[890,953,954],{},"Grant execute permission to the downloaded file.",[956,957,962],"pre",{"className":958,"code":959,"language":960,"meta":961,"style":961},"language-bash shiki shiki-themes github-light github-dark monokai","chmod +x ~/SetFnSpaceBuilder\n","bash","",[963,964,965],"code",{"__ignoreMap":961},[966,967,970,974,978],"span",{"class":968,"line":969},"line",1,[966,971,973],{"class":972},"srTi1","chmod",[966,975,977],{"class":976},"sstjo"," +x",[966,979,980],{"class":976}," ~/SetFnSpaceBuilder\n",[897,982,984],{"id":983},"installing-required-libraries","Installing required libraries",[890,986,987],{},"The SpaceBuilder binary uses native libraries for image analysis and preview generation. On Ubuntu 24.04 and later, install the following packages first.",[956,989,991],{"className":958,"code":990,"language":960,"meta":961,"style":961},"sudo apt update\nsudo apt install -y \\\n  libvips42t64 libvips-tools \\\n  libheif1 libheif-plugin-libde265 \\\n  libglib2.0-0\n",[963,992,993,1003,1020,1031,1042],{"__ignoreMap":961},[966,994,995,997,1000],{"class":968,"line":969},[966,996,910],{"class":972},[966,998,999],{"class":976}," apt",[966,1001,1002],{"class":976}," update\n",[966,1004,1006,1008,1010,1013,1017],{"class":968,"line":1005},2,[966,1007,910],{"class":972},[966,1009,999],{"class":976},[966,1011,1012],{"class":976}," install",[966,1014,1016],{"class":1015},"s7F3e"," -y",[966,1018,1019],{"class":1015}," \\\n",[966,1021,1023,1026,1029],{"class":968,"line":1022},3,[966,1024,1025],{"class":976},"  libvips42t64",[966,1027,1028],{"class":976}," libvips-tools",[966,1030,1019],{"class":1015},[966,1032,1034,1037,1040],{"class":968,"line":1033},4,[966,1035,1036],{"class":976},"  libheif1",[966,1038,1039],{"class":976}," libheif-plugin-libde265",[966,1041,1019],{"class":1015},[966,1043,1045],{"class":968,"line":1044},5,[966,1046,1047],{"class":976},"  libglib2.0-0\n",[1049,1050,1051,1064],"table",{},[1052,1053,1054],"thead",{},[1055,1056,1057,1061],"tr",{},[1058,1059,1060],"th",{},"Package",[1058,1062,1063],{},"Feature it enables",[1065,1066,1067,1082,1095],"tbody",{},[1055,1068,1069,1079],{},[1070,1071,1072,1075,1076],"td",{},[963,1073,1074],{},"libvips42t64",", ",[963,1077,1078],{},"libvips-tools",[1070,1080,1081],{},"Image metadata analysis, thumbnail generation, and image format conversion",[1055,1083,1084,1092],{},[1070,1085,1086,1075,1089],{},[963,1087,1088],{},"libheif1",[963,1090,1091],{},"libheif-plugin-libde265",[1070,1093,1094],{},"HEIC/HEIF container handling and HEVC image decoding",[1055,1096,1097,1102],{},[1070,1098,1099],{},[963,1100,1101],{},"libglib2.0-0",[1070,1103,1104],{},"Runtime support for native image-processing components such as libvips",[940,1106,1107],{},[890,1108,1109,1110,1113,1114,1116,1117,1120],{},"On older distributions such as Ubuntu 22.04, use the ",[963,1111,1112],{},"libvips42"," package instead of ",[963,1115,1074],{},". If you see a \"package not found\" message, check ",[963,1118,1119],{},"apt-cache search libvips"," to find the runtime package name provided by your distribution.",[897,1122,1124],{"id":1123},"installing-recommended-feature-packages","Installing recommended feature packages",[890,1126,1127],{},"The SpaceBuilder server also handles OCR, PDF analysis, document previews, and format conversion for uploaded files on its own. The server's core features will run without the following packages, but some functionality will be limited or fewer conversion engines will be available when processing related files.",[890,1129,1130],{},"To use all OCR and document conversion features, we recommend installing the following packages together.",[956,1132,1134],{"className":958,"code":1133,"language":960,"meta":961,"style":961},"sudo apt install -y \\\n  tesseract-ocr tesseract-ocr-kor tesseract-ocr-jpn \\\n  poppler-utils mupdf-tools \\\n  libreoffice pandoc\n",[963,1135,1136,1148,1161,1171],{"__ignoreMap":961},[966,1137,1138,1140,1142,1144,1146],{"class":968,"line":969},[966,1139,910],{"class":972},[966,1141,999],{"class":976},[966,1143,1012],{"class":976},[966,1145,1016],{"class":1015},[966,1147,1019],{"class":1015},[966,1149,1150,1153,1156,1159],{"class":968,"line":1005},[966,1151,1152],{"class":976},"  tesseract-ocr",[966,1154,1155],{"class":976}," tesseract-ocr-kor",[966,1157,1158],{"class":976}," tesseract-ocr-jpn",[966,1160,1019],{"class":1015},[966,1162,1163,1166,1169],{"class":968,"line":1022},[966,1164,1165],{"class":976},"  poppler-utils",[966,1167,1168],{"class":976}," mupdf-tools",[966,1170,1019],{"class":1015},[966,1172,1173,1176],{"class":968,"line":1033},[966,1174,1175],{"class":976},"  libreoffice",[966,1177,1178],{"class":976}," pandoc\n",[1049,1180,1181,1192],{},[1052,1182,1183],{},[1055,1184,1185,1187,1189],{},[1058,1186,1060],{},[1058,1188,1063],{},[1058,1190,1191],{},"If not installed",[1065,1193,1194,1207,1220,1233,1256,1272,1285],{},[1055,1195,1196,1201,1204],{},[1070,1197,1198],{},[963,1199,1200],{},"tesseract-ocr",[1070,1202,1203],{},"Character recognition (OCR) for images and scanned PDFs, with base English recognition",[1070,1205,1206],{},"Local Tesseract OCR is unavailable",[1055,1208,1209,1214,1217],{},[1070,1210,1211],{},[963,1212,1213],{},"tesseract-ocr-kor",[1070,1215,1216],{},"Korean OCR language data",[1070,1218,1219],{},"Korean recognition accuracy degrades or Korean OCR is unavailable",[1055,1221,1222,1227,1230],{},[1070,1223,1224],{},[963,1225,1226],{},"tesseract-ocr-jpn",[1070,1228,1229],{},"Japanese OCR language data",[1070,1231,1232],{},"Japanese OCR is unavailable",[1055,1234,1235,1240,1253],{},[1070,1236,1237],{},[963,1238,1239],{},"poppler-utils",[1070,1241,1242,1243,1075,1246,1075,1249,1252],{},"PDF text extraction and page-to-image conversion (",[963,1244,1245],{},"pdftotext",[963,1247,1248],{},"pdftoppm",[963,1250,1251],{},"pdftocairo",")",[1070,1254,1255],{},"PDF text extraction and OCR preprocessing paths are limited",[1055,1257,1258,1263,1269],{},[1070,1259,1260],{},[963,1261,1262],{},"mupdf-tools",[1070,1264,1265,1266,1252],{},"Secondary engine for PDF page-to-image conversion (",[963,1267,1268],{},"mutool",[1070,1270,1271],{},"Fewer local fallback engines available if Poppler processing fails",[1055,1273,1274,1279,1282],{},[1070,1275,1276],{},[963,1277,1278],{},"libreoffice",[1070,1280,1281],{},"Preview and PDF conversion for office documents such as DOCX, XLSX, and PPTX",[1070,1283,1284],{},"Office document conversion features are limited",[1055,1286,1287,1292,1295],{},[1070,1288,1289],{},[963,1290,1291],{},"pandoc",[1070,1293,1294],{},"Conversion between document formats such as DOCX, HTML, and Markdown",[1070,1296,1297],{},"Conversion paths for these formats are limited",[940,1299,1300],{},[890,1301,1302,1303,1306,1307,1075,1310,1313],{},"The project Makefile's ",[963,1304,1305],{},"make install-deps"," target also includes ",[963,1308,1309],{},"build-essential",[963,1311,1312],{},"*-dev"," packages, and OpenCV development packages needed for building from source. If you're only running the distributed binary on a server, you only need the runtime/feature packages above — install the full set of Makefile development dependencies only when building from source yourself.",[890,1315,1316],{},"You can check your installation status with the following commands.",[956,1318,1320],{"className":958,"code":1319,"language":960,"meta":961,"style":961},"vips --version\nvips list classes | grep -i heif\ntesseract --version\ntesseract --list-langs\npdftotext -v\nmutool -v\nlibreoffice --version\npandoc --version\n",[963,1321,1322,1330,1353,1360,1367,1374,1381,1388],{"__ignoreMap":961},[966,1323,1324,1327],{"class":968,"line":969},[966,1325,1326],{"class":972},"vips",[966,1328,1329],{"class":1015}," --version\n",[966,1331,1332,1334,1337,1340,1344,1347,1350],{"class":968,"line":1005},[966,1333,1326],{"class":972},[966,1335,1336],{"class":976}," list",[966,1338,1339],{"class":976}," classes",[966,1341,1343],{"class":1342},"sC2Qs"," |",[966,1345,1346],{"class":972}," grep",[966,1348,1349],{"class":1015}," -i",[966,1351,1352],{"class":976}," heif\n",[966,1354,1355,1358],{"class":968,"line":1022},[966,1356,1357],{"class":972},"tesseract",[966,1359,1329],{"class":1015},[966,1361,1362,1364],{"class":968,"line":1033},[966,1363,1357],{"class":972},[966,1365,1366],{"class":1015}," --list-langs\n",[966,1368,1369,1371],{"class":968,"line":1044},[966,1370,1245],{"class":972},[966,1372,1373],{"class":1015}," -v\n",[966,1375,1377,1379],{"class":968,"line":1376},6,[966,1378,1268],{"class":972},[966,1380,1373],{"class":1015},[966,1382,1384,1386],{"class":968,"line":1383},7,[966,1385,1278],{"class":972},[966,1387,1329],{"class":1015},[966,1389,1391,1393],{"class":968,"line":1390},8,[966,1392,1291],{"class":972},[966,1394,1329],{"class":1015},[897,1396,1398],{"id":1397},"running-the-installer","Running the installer",[890,1400,1401],{},"Run the installer file.",[956,1403,1405],{"className":958,"code":1404,"language":960,"meta":961,"style":961},"./SetFnSpaceBuilder\n",[963,1406,1407],{"__ignoreMap":961},[966,1408,1409],{"class":968,"line":969},[966,1410,1404],{"class":972},[940,1412,1413,1420],{},[890,1414,1415,1416,1419],{},"On ",[908,1417,1418],{},"a PC with a desktop and web browser, such as Ubuntu Desktop",", running the installer automatically opens your browser.",[890,1421,1415,1422,1425,1426,1429],{},[908,1423,1424],{},"a server managed by terminal, without a monitor or web browser, such as Ubuntu Server",", the browser will not open automatically. In this case, check the ",[908,1427,1428],{},"URLs for Installation"," entries printed in the terminal, then open the displayed address from a PC connected to the same network.",[890,1431,1432,1433,1436],{},"By default, the installer opens the initial setup page on port ",[963,1434,1435],{},"18510",". If that port is already in use by another program, the next available port is chosen automatically, so always connect using the address printed in the terminal.",[890,1438,1439,1440,1444],{},"When the initial setup page opens in your browser, review and agree to the terms of service, then configure the administrator account and service environment. For details on the specific fields and precautions, see ",[1441,1442,39],"a",{"href":1443},"./initial-setup",".",[897,1446,1448],{"id":1447},"starting-automatically-when-the-computer-turns-on","Starting automatically when the computer turns on",[890,1450,1451,1452,1455],{},"Once you've completed the initial setup, ",[908,1453,1454],{},"we recommend configuring auto-start"," so that SpaceBuilder is always running. With auto-start configured, the following behavior applies.",[902,1457,1458,1461,1464],{},[905,1459,1460],{},"SpaceBuilder keeps running even if you close the terminal you launched it from.",[905,1462,1463],{},"SpaceBuilder starts automatically when you turn the computer off and back on.",[905,1465,1466],{},"If SpaceBuilder exits due to an error, it restarts automatically.",[890,1468,1469,1470,1473],{},"On Linux, programs that should always be running are registered with the standard management facility called ",[963,1471,1472],{},"systemd",". Follow the commands below in order.",[940,1475,1476],{},[890,1477,1478,1481],{},[908,1479,1480],{},"sudo privileges are required only the first time you configure auto-start."," Once configured, SpaceBuilder runs under the regular user account you specify.",[925,1483,1485],{"id":1484},"_1-check-your-username-and-file-location","1. Check your username and file location",[890,1487,1488],{},"Run the following two commands, one line at a time.",[956,1490,1492],{"className":958,"code":1491,"language":960,"meta":961,"style":961},"whoami\n",[963,1493,1494],{"__ignoreMap":961},[966,1495,1496],{"class":968,"line":969},[966,1497,1491],{"class":972},[956,1499,1501],{"className":958,"code":1500,"language":960,"meta":961,"style":961},"realpath ~/SetFnSpaceBuilder\n",[963,1502,1503],{"__ignoreMap":961},[966,1504,1505,1508],{"class":968,"line":969},[966,1506,1507],{"class":972},"realpath",[966,1509,980],{"class":976},[902,1511,1512,1518],{},[905,1513,1514,1517],{},[963,1515,1516],{},"whoami"," shows the username you're currently logged in as.",[905,1519,1520,1522],{},[963,1521,1507],{}," shows the exact location of the SpaceBuilder executable.",[890,1524,1525],{},"Make a note of the output — you'll use it in the next step.",[925,1527,1529],{"id":1528},"_2-create-the-auto-start-configuration-file","2. Create the auto-start configuration file",[890,1531,1532,1533,1536],{},"If SpaceBuilder is currently running in your terminal, press ",[963,1534,1535],{},"Ctrl+C"," to stop it first.\nOpen the auto-start configuration file with the following command.",[956,1538,1540],{"className":958,"code":1539,"language":960,"meta":961,"style":961},"sudo nano /etc/systemd/system/setfn-space-builder.service\n",[963,1541,1542],{"__ignoreMap":961},[966,1543,1544,1546,1549],{"class":968,"line":969},[966,1545,910],{"class":972},[966,1547,1548],{"class":976}," nano",[966,1550,1551],{"class":976}," /etc/systemd/system/setfn-space-builder.service\n",[890,1553,1554,1555,1558,1559,1562],{},"Paste in the following content. Replace every instance of ",[963,1556,1557],{},"\u003Cuser>"," with the username you confirmed in step 1, and set ",[963,1560,1561],{},"ExecStart"," to the executable location you confirmed.",[956,1564,1568],{"className":1565,"code":1566,"language":1567,"meta":961,"style":961},"language-ini shiki shiki-themes github-light github-dark monokai","[Unit]\nDescription=SetFN SpaceBuilder\nWants=network-online.target\nAfter=network-online.target\n\n[Service]\nType=simple\nUser=\u003Cuser>\nWorkingDirectory=/home/\u003Cuser>\nEnvironment=HOME=/home/\u003Cuser>\nExecStart=/home/\u003Cuser>/SetFnSpaceBuilder\nRestart=on-failure\nRestartSec=5\nStandardOutput=journal\nStandardError=journal\n\n[Install]\nWantedBy=multi-user.target\n","ini",[963,1569,1570,1575,1580,1585,1590,1596,1601,1606,1611,1617,1623,1629,1635,1641,1647,1653,1658,1664],{"__ignoreMap":961},[966,1571,1572],{"class":968,"line":969},[966,1573,1574],{},"[Unit]\n",[966,1576,1577],{"class":968,"line":1005},[966,1578,1579],{},"Description=SetFN SpaceBuilder\n",[966,1581,1582],{"class":968,"line":1022},[966,1583,1584],{},"Wants=network-online.target\n",[966,1586,1587],{"class":968,"line":1033},[966,1588,1589],{},"After=network-online.target\n",[966,1591,1592],{"class":968,"line":1044},[966,1593,1595],{"emptyLinePlaceholder":1594},true,"\n",[966,1597,1598],{"class":968,"line":1376},[966,1599,1600],{},"[Service]\n",[966,1602,1603],{"class":968,"line":1383},[966,1604,1605],{},"Type=simple\n",[966,1607,1608],{"class":968,"line":1390},[966,1609,1610],{},"User=\u003Cuser>\n",[966,1612,1614],{"class":968,"line":1613},9,[966,1615,1616],{},"WorkingDirectory=/home/\u003Cuser>\n",[966,1618,1620],{"class":968,"line":1619},10,[966,1621,1622],{},"Environment=HOME=/home/\u003Cuser>\n",[966,1624,1626],{"class":968,"line":1625},11,[966,1627,1628],{},"ExecStart=/home/\u003Cuser>/SetFnSpaceBuilder\n",[966,1630,1632],{"class":968,"line":1631},12,[966,1633,1634],{},"Restart=on-failure\n",[966,1636,1638],{"class":968,"line":1637},13,[966,1639,1640],{},"RestartSec=5\n",[966,1642,1644],{"class":968,"line":1643},14,[966,1645,1646],{},"StandardOutput=journal\n",[966,1648,1650],{"class":968,"line":1649},15,[966,1651,1652],{},"StandardError=journal\n",[966,1654,1656],{"class":968,"line":1655},16,[966,1657,1595],{"emptyLinePlaceholder":1594},[966,1659,1661],{"class":968,"line":1660},17,[966,1662,1663],{},"[Install]\n",[966,1665,1667],{"class":968,"line":1666},18,[966,1668,1669],{},"WantedBy=multi-user.target\n",[890,1671,1672,1673,1676,1677,1680,1681,1684,1685,1444],{},"In ",[963,1674,1675],{},"nano",", save with ",[963,1678,1679],{},"Ctrl+O"," then ",[963,1682,1683],{},"Enter",", and exit with ",[963,1686,1687],{},"Ctrl+X",[1689,1690,1691],"warning",{},[890,1692,1693,1694,1696,1697,1444],{},"Leaving the example ",[963,1695,1557],{}," as-is will prevent the service from running. Replace it — including the angle brackets — with the actual username. The data storage folder specified during initial setup must also be usable by that same user. Run SpaceBuilder as a regular user, not as ",[963,1698,1699],{},"root",[925,1701,1703],{"id":1702},"_3-turn-on-auto-start","3. Turn on auto-start",[890,1705,1706],{},"Run the following commands, one line at a time. The first command tells Linux about the configuration you just wrote, and the second starts SpaceBuilder now while also enabling it to start automatically on every future boot.",[956,1708,1710],{"className":958,"code":1709,"language":960,"meta":961,"style":961},"sudo systemctl daemon-reload\n",[963,1711,1712],{"__ignoreMap":961},[966,1713,1714,1716,1719],{"class":968,"line":969},[966,1715,910],{"class":972},[966,1717,1718],{"class":976}," systemctl",[966,1720,1721],{"class":976}," daemon-reload\n",[956,1723,1725],{"className":958,"code":1724,"language":960,"meta":961,"style":961},"sudo systemctl enable --now setfn-space-builder\n",[963,1726,1727],{"__ignoreMap":961},[966,1728,1729,1731,1733,1736,1739],{"class":968,"line":969},[966,1730,910],{"class":972},[966,1732,1718],{"class":976},[966,1734,1735],{"class":976}," enable",[966,1737,1738],{"class":1015}," --now",[966,1740,1741],{"class":976}," setfn-space-builder\n",[890,1743,1744],{},"Check that it's running correctly.",[956,1746,1748],{"className":958,"code":1747,"language":960,"meta":961,"style":961},"systemctl status setfn-space-builder\n",[963,1749,1750],{"__ignoreMap":961},[966,1751,1752,1755,1758],{"class":968,"line":969},[966,1753,1754],{"class":972},"systemctl",[966,1756,1757],{"class":976}," status",[966,1759,1741],{"class":976},[890,1761,1762,1763,1766,1767,1770],{},"If ",[963,1764,1765],{},"active (running)"," is displayed, auto-start has been configured successfully. Press ",[963,1768,1769],{},"q"," to close the status screen.",[925,1772,1774],{"id":1773},"_4-troubleshooting-when-it-doesnt-run","4. Troubleshooting when it doesn't run",[890,1776,1762,1777,1779],{},[963,1778,1765],{}," is not shown, or you can't connect to SpaceBuilder, check recent logs with the following command.",[956,1781,1783],{"className":958,"code":1782,"language":960,"meta":961,"style":961},"journalctl -u setfn-space-builder -n 100 --no-pager\n",[963,1784,1785],{"__ignoreMap":961},[966,1786,1787,1790,1793,1796,1799,1802],{"class":968,"line":969},[966,1788,1789],{"class":972},"journalctl",[966,1791,1792],{"class":1015}," -u",[966,1794,1795],{"class":976}," setfn-space-builder",[966,1797,1798],{"class":1015}," -n",[966,1800,1801],{"class":1015}," 100",[966,1803,1804],{"class":1015}," --no-pager\n",[890,1806,1807,1808,1810],{},"To watch the startup process in real time, use the following command. Press ",[963,1809,1535],{}," to exit when you're done.",[956,1812,1814],{"className":958,"code":1813,"language":960,"meta":961,"style":961},"journalctl -u setfn-space-builder -f\n",[963,1815,1816],{"__ignoreMap":961},[966,1817,1818,1820,1822,1824],{"class":968,"line":969},[966,1819,1789],{"class":972},[966,1821,1792],{"class":1015},[966,1823,1795],{"class":976},[966,1825,1826],{"class":1015}," -f\n",[925,1828,1830],{"id":1829},"auto-start-management-commands","Auto-start management commands",[1049,1832,1833,1843],{},[1052,1834,1835],{},[1055,1836,1837,1840],{},[1058,1838,1839],{},"Task",[1058,1841,1842],{},"Command",[1065,1844,1845,1855,1865,1875,1885],{},[1055,1846,1847,1850],{},[1070,1848,1849],{},"Check running status",[1070,1851,1852],{},[963,1853,1854],{},"systemctl status setfn-space-builder",[1055,1856,1857,1860],{},[1070,1858,1859],{},"Restart",[1070,1861,1862],{},[963,1863,1864],{},"sudo systemctl restart setfn-space-builder",[1055,1866,1867,1870],{},[1070,1868,1869],{},"Turn SpaceBuilder off",[1070,1871,1872],{},[963,1873,1874],{},"sudo systemctl stop setfn-space-builder",[1055,1876,1877,1880],{},[1070,1878,1879],{},"Turn SpaceBuilder on",[1070,1881,1882],{},[963,1883,1884],{},"sudo systemctl start setfn-space-builder",[1055,1886,1887,1890],{},[1070,1888,1889],{},"Disable auto-start on boot",[1070,1891,1892],{},[963,1893,1894],{},"sudo systemctl disable setfn-space-builder",[890,1896,1897,1898,1901],{},"If you modify the auto-start configuration file, run ",[963,1899,1900],{},"sudo systemctl daemon-reload"," and then restart SpaceBuilder for the changes to take effect.",[1903,1904,1905],"style",{},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html .sepia .shiki span {color: var(--shiki-sepia);background: var(--shiki-sepia-bg);font-style: var(--shiki-sepia-font-style);font-weight: var(--shiki-sepia-font-weight);text-decoration: var(--shiki-sepia-text-decoration);}html.sepia .shiki span {color: var(--shiki-sepia);background: var(--shiki-sepia-bg);font-style: var(--shiki-sepia-font-style);font-weight: var(--shiki-sepia-font-weight);text-decoration: var(--shiki-sepia-text-decoration);}html pre.shiki code .srTi1, html code.shiki .srTi1{--shiki-default:#6F42C1;--shiki-dark:#B392F0;--shiki-sepia:#A6E22E}html pre.shiki code .sstjo, html code.shiki .sstjo{--shiki-default:#032F62;--shiki-dark:#9ECBFF;--shiki-sepia:#E6DB74}html pre.shiki code .s7F3e, html code.shiki .s7F3e{--shiki-default:#005CC5;--shiki-dark:#79B8FF;--shiki-sepia:#AE81FF}html pre.shiki code .sC2Qs, html code.shiki .sC2Qs{--shiki-default:#D73A49;--shiki-dark:#F97583;--shiki-sepia:#F92672}",{"title":961,"searchDepth":1005,"depth":1022,"links":1907},[1908,1912,1913,1914,1915,1916],{"id":899,"depth":1005,"text":900,"children":1909},[1910,1911],{"id":927,"depth":1022,"text":928},{"id":937,"depth":1022,"text":938},{"id":947,"depth":1005,"text":948},{"id":983,"depth":1005,"text":984},{"id":1123,"depth":1005,"text":1124},{"id":1397,"depth":1005,"text":1398},{"id":1447,"depth":1005,"text":1448,"children":1917},[1918,1919,1920,1921,1922],{"id":1484,"depth":1022,"text":1485},{"id":1528,"depth":1022,"text":1529},{"id":1702,"depth":1022,"text":1703},{"id":1773,"depth":1022,"text":1774},{"id":1829,"depth":1022,"text":1830},null,"Explains how to install SetFN SpaceBuilder on Linux and configure the administrator account, service port, and data storage path.","md",{"slug":1927},"/getting-started/install-linux/",{"title":1929,"description":1930,"ogType":1931,"twitterCard":1932,"keywords":1933},"Installing on Linux | SetFN Docs","Explains how to install SetFN SpaceBuilder on Linux and complete the initial setup.","article","summary_large_image",[18,1934,1935,948,984,1398,1936,1937,1938,1939],"Windows","Linux","Configuring the administrator account","systemd auto-start","NVIDIA DGX Spark","GPU workstation",[22],"qCTAy26TF1QX4yIskIxppr1ksZV5ASO9w-2l5Et7opE",[1943,1944],{"title":14,"path":15,"stem":16,"children":-1},{"title":24,"path":25,"stem":26,"children":-1},{"title":18,"filename":1946,"content":1947},"install-linux","# Installing on Linux\n\nThis guide explains how to run SetFN SpaceBuilder directly on a Linux host. The examples below are based on Ubuntu-family distributions; package names and install commands may differ on other distributions.\n\n---\n\n## Before you begin\n\n- **sudo** privileges are required only the first time you install the required libraries\n- Sufficient disk space to store service data and files you'll upload in the future\n- Firewall access to the server port if you'll connect from other devices\n\nRunning SpaceBuilder itself does not require **sudo** privileges. Run it under a regular user account.\n\n### GPU Servers and AI Workstations\n\nIn addition to general Linux PCs and servers, GB10-based personal AI systems such as NVIDIA DGX Spark, ASUS Ascent GX10, Dell Pro Max with GB10, HP ZGX Nano AI Station, Lenovo ThinkStation PGX, and MSI EdgeXpert can be used as Linux hosts. These systems are well suited to GPU-intensive workloads such as running local AI models and knowledge indexing.\n\nCPU architecture, Linux distribution, NVIDIA driver requirements, and AI runtime support vary by device. Before installation, confirm that the SpaceBuilder installer and your chosen AI runtime support the target environment.\n\n### Planned Full Installation Option\n\n::note\nWe are building a simplified installation feature that sets up SpaceBuilder along with image processing, OCR, PDF analysis, and office document conversion all at once. Until it's available, run the installation commands below in order — you'll be able to use all the same functionality.\n::\n\n## Downloading the installer\n\nDownload the Linux installer from the download page.\n\nGrant execute permission to the downloaded file.\n\n```bash\nchmod +x ~/SetFnSpaceBuilder\n```\n\n## Installing required libraries\n\nThe SpaceBuilder binary uses native libraries for image analysis and preview generation. On Ubuntu 24.04 and later, install the following packages first.\n\n```bash\nsudo apt update\nsudo apt install -y \\\n  libvips42t64 libvips-tools \\\n  libheif1 libheif-plugin-libde265 \\\n  libglib2.0-0\n```\n\n| Package | Feature it enables |\n| ------ | --------- |\n| `libvips42t64`, `libvips-tools` | Image metadata analysis, thumbnail generation, and image format conversion |\n| `libheif1`, `libheif-plugin-libde265` | HEIC/HEIF container handling and HEVC image decoding |\n| `libglib2.0-0` | Runtime support for native image-processing components such as libvips |\n\n::note\nOn older distributions such as Ubuntu 22.04, use the `libvips42` package instead of `libvips42t64`. If you see a \"package not found\" message, check `apt-cache search libvips` to find the runtime package name provided by your distribution.\n::\n\n## Installing recommended feature packages\n\nThe SpaceBuilder server also handles OCR, PDF analysis, document previews, and format conversion for uploaded files on its own. The server's core features will run without the following packages, but some functionality will be limited or fewer conversion engines will be available when processing related files.\n\nTo use all OCR and document conversion features, we recommend installing the following packages together.\n\n```bash\nsudo apt install -y \\\n  tesseract-ocr tesseract-ocr-kor tesseract-ocr-jpn \\\n  poppler-utils mupdf-tools \\\n  libreoffice pandoc\n```\n\n| Package | Feature it enables | If not installed |\n| ------ | --------- | ------------------ |\n| `tesseract-ocr` | Character recognition (OCR) for images and scanned PDFs, with base English recognition | Local Tesseract OCR is unavailable |\n| `tesseract-ocr-kor` | Korean OCR language data | Korean recognition accuracy degrades or Korean OCR is unavailable |\n| `tesseract-ocr-jpn` | Japanese OCR language data | Japanese OCR is unavailable |\n| `poppler-utils` | PDF text extraction and page-to-image conversion (`pdftotext`, `pdftoppm`, `pdftocairo`) | PDF text extraction and OCR preprocessing paths are limited |\n| `mupdf-tools` | Secondary engine for PDF page-to-image conversion (`mutool`) | Fewer local fallback engines available if Poppler processing fails |\n| `libreoffice` | Preview and PDF conversion for office documents such as DOCX, XLSX, and PPTX | Office document conversion features are limited |\n| `pandoc` | Conversion between document formats such as DOCX, HTML, and Markdown | Conversion paths for these formats are limited |\n\n::note\nThe project Makefile's `make install-deps` target also includes `build-essential`, `*-dev` packages, and OpenCV development packages needed for building from source. If you're only running the distributed binary on a server, you only need the runtime/feature packages above — install the full set of Makefile development dependencies only when building from source yourself.\n::\n\nYou can check your installation status with the following commands.\n\n```bash\nvips --version\nvips list classes | grep -i heif\ntesseract --version\ntesseract --list-langs\npdftotext -v\nmutool -v\nlibreoffice --version\npandoc --version\n```\n\n## Running the installer\n\nRun the installer file.\n\n```bash\n./SetFnSpaceBuilder\n```\n\n::note\nOn **a PC with a desktop and web browser, such as Ubuntu Desktop**, running the installer automatically opens your browser.\n\nOn **a server managed by terminal, without a monitor or web browser, such as Ubuntu Server**, the browser will not open automatically. In this case, check the **URLs for Installation** entries printed in the terminal, then open the displayed address from a PC connected to the same network.\n::\n\nBy default, the installer opens the initial setup page on port `18510`. If that port is already in use by another program, the next available port is chosen automatically, so always connect using the address printed in the terminal.\n\nWhen the initial setup page opens in your browser, review and agree to the terms of service, then configure the administrator account and service environment. For details on the specific fields and precautions, see [Initial Setup](./20.initial-setup.md).\n\n## Starting automatically when the computer turns on\n\nOnce you've completed the initial setup, **we recommend configuring auto-start** so that SpaceBuilder is always running. With auto-start configured, the following behavior applies.\n\n- SpaceBuilder keeps running even if you close the terminal you launched it from.\n- SpaceBuilder starts automatically when you turn the computer off and back on.\n- If SpaceBuilder exits due to an error, it restarts automatically.\n\nOn Linux, programs that should always be running are registered with the standard management facility called `systemd`. Follow the commands below in order.\n\n::note\n**sudo privileges are required only the first time you configure auto-start.** Once configured, SpaceBuilder runs under the regular user account you specify.\n::\n\n### 1. Check your username and file location\n\nRun the following two commands, one line at a time.\n\n```bash\nwhoami\n```\n\n```bash\nrealpath ~/SetFnSpaceBuilder\n```\n\n- `whoami` shows the username you're currently logged in as.\n- `realpath` shows the exact location of the SpaceBuilder executable.\n\nMake a note of the output — you'll use it in the next step.\n\n### 2. Create the auto-start configuration file\n\nIf SpaceBuilder is currently running in your terminal, press `Ctrl+C` to stop it first.\nOpen the auto-start configuration file with the following command.\n\n```bash\nsudo nano /etc/systemd/system/setfn-space-builder.service\n```\n\nPaste in the following content. Replace every instance of `\u003Cuser>` with the username you confirmed in step 1, and set `ExecStart` to the executable location you confirmed.\n\n```ini\n[Unit]\nDescription=SetFN SpaceBuilder\nWants=network-online.target\nAfter=network-online.target\n\n[Service]\nType=simple\nUser=\u003Cuser>\nWorkingDirectory=/home/\u003Cuser>\nEnvironment=HOME=/home/\u003Cuser>\nExecStart=/home/\u003Cuser>/SetFnSpaceBuilder\nRestart=on-failure\nRestartSec=5\nStandardOutput=journal\nStandardError=journal\n\n[Install]\nWantedBy=multi-user.target\n```\n\nIn `nano`, save with `Ctrl+O` then `Enter`, and exit with `Ctrl+X`.\n\n::warning\nLeaving the example `\u003Cuser>` as-is will prevent the service from running. Replace it — including the angle brackets — with the actual username. The data storage folder specified during initial setup must also be usable by that same user. Run SpaceBuilder as a regular user, not as `root`.\n::\n\n### 3. Turn on auto-start\n\nRun the following commands, one line at a time. The first command tells Linux about the configuration you just wrote, and the second starts SpaceBuilder now while also enabling it to start automatically on every future boot.\n\n```bash\nsudo systemctl daemon-reload\n```\n```bash\nsudo systemctl enable --now setfn-space-builder\n```\n\n\nCheck that it's running correctly.\n\n```bash\nsystemctl status setfn-space-builder\n```\n\nIf `active (running)` is displayed, auto-start has been configured successfully. Press `q` to close the status screen.\n\n### 4. Troubleshooting when it doesn't run\n\nIf `active (running)` is not shown, or you can't connect to SpaceBuilder, check recent logs with the following command.\n\n```bash\njournalctl -u setfn-space-builder -n 100 --no-pager\n```\n\nTo watch the startup process in real time, use the following command. Press `Ctrl+C` to exit when you're done.\n\n```bash\njournalctl -u setfn-space-builder -f\n```\n\n### Auto-start management commands\n\n| Task | Command |\n| ---- | ---- |\n| Check running status | `systemctl status setfn-space-builder` |\n| Restart | `sudo systemctl restart setfn-space-builder` |\n| Turn SpaceBuilder off | `sudo systemctl stop setfn-space-builder` |\n| Turn SpaceBuilder on | `sudo systemctl start setfn-space-builder` |\n| Disable auto-start on boot | `sudo systemctl disable setfn-space-builder` |\n\nIf you modify the auto-start configuration file, run `sudo systemctl daemon-reload` and then restart SpaceBuilder for the changes to take effect.\n",1789664752834]