[{"data":1,"prerenderedAt":821},["ShallowReactive",2],{"doc-\u002Fdocs\u002Fworkstations\u002Fwizard":3},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"body":10,"_type":815,"_id":816,"_source":817,"_file":818,"_stem":819,"_extension":820},"\u002Fworkstations\u002Fwizard","workstations",false,"","Dual-Track Provisioning Wizard","Learn how to provision containerized Linux workstations using Quick Launch templates or Custom Blueprints.",{"type":11,"children":12,"toc":799},"root",[13,21,51,55,62,67,76,83,285,288,294,314,406,409,415,420,426,439,445,466,472,529,535,584,590,671,674,680,692,793],{"type":14,"tag":15,"props":16,"children":18},"element","h1",{"id":17},"dual-track-provisioning-wizard",[19],{"type":20,"value":8},"text",{"type":14,"tag":22,"props":23,"children":24},"p",{},[25,27,34,36,42,44,49],{"type":20,"value":26},"The workstation creation wizard in ",{"type":14,"tag":28,"props":29,"children":31},"code",{"className":30},[],[32],{"type":20,"value":33},"webtop-manage",{"type":20,"value":35}," provides two distinct modes: ",{"type":14,"tag":37,"props":38,"children":39},"strong",{},[40],{"type":20,"value":41},"Quick Launch",{"type":20,"value":43}," for rapid 1-click deployments, and ",{"type":14,"tag":37,"props":45,"children":46},{},[47],{"type":20,"value":48},"Custom Blueprint",{"type":20,"value":50}," for power-user resource, network, and storage customization.",{"type":14,"tag":52,"props":53,"children":54},"hr",{},[],{"type":14,"tag":56,"props":57,"children":59},"h2",{"id":58},"mode-1-quick-launch-track",[60],{"type":20,"value":61},"⚡ Mode 1: Quick Launch Track",{"type":14,"tag":22,"props":63,"children":64},{},[65],{"type":20,"value":66},"Quick Launch is designed for developers who want a ready-to-code Linux desktop in seconds without configuring low-level Docker parameters.",{"type":14,"tag":68,"props":69,"children":71},"pre",{"code":70},"┌────────────────────────────────────────────────────────┐\n│ 1. Choose Environment Template (Ubuntu \u002F Debian)       │\n│    • Real-time local image cache detection (Ready)     │\n│    • Pre-pull terminal helper (docker pull ...)        │\n├────────────────────────────────────────────────────────┤\n│ 2. Workstation Identity & Access                       │\n│    • One-click random workstation name generator       │\n│    • Secure password generator & visibility toggle     │\n├────────────────────────────────────────────────────────┤\n│ 3. Storage & Folder Isolation                          │\n│    • OS Profile: workstation-\u003Cname>-config (\u002Fconfig)   │\n│    • Project Folder: Interactive Host Folder Browser   │\n└────────────────────────────────────────────────────────┘\n",[72],{"type":14,"tag":28,"props":73,"children":74},{"__ignoreMap":7},[75],{"type":20,"value":70},{"type":14,"tag":77,"props":78,"children":80},"h3",{"id":79},"curated-environment-templates",[81],{"type":20,"value":82},"Curated Environment Templates",{"type":14,"tag":84,"props":85,"children":86},"table",{},[87,133],{"type":14,"tag":88,"props":89,"children":90},"thead",{},[91],{"type":14,"tag":92,"props":93,"children":94},"tr",{},[95,102,107,112,117,128],{"type":14,"tag":96,"props":97,"children":99},"th",{"align":98},"left",[100],{"type":20,"value":101},"Template",{"type":14,"tag":96,"props":103,"children":104},{"align":98},[105],{"type":20,"value":106},"Desktop",{"type":14,"tag":96,"props":108,"children":109},{"align":98},[110],{"type":20,"value":111},"Base OS",{"type":14,"tag":96,"props":113,"children":114},{"align":98},[115],{"type":20,"value":116},"Idle RAM",{"type":14,"tag":96,"props":118,"children":119},{"align":98},[120,122],{"type":20,"value":121},"Default ",{"type":14,"tag":28,"props":123,"children":125},{"className":124},[],[126],{"type":20,"value":127},"\u002Fdev\u002Fshm",{"type":14,"tag":96,"props":129,"children":130},{"align":98},[131],{"type":20,"value":132},"Best For",{"type":14,"tag":134,"props":135,"children":136},"tbody",{},[137,182,217,251],{"type":14,"tag":92,"props":138,"children":139},{},[140,157,162,167,172,177],{"type":14,"tag":141,"props":142,"children":143},"td",{"align":98},[144,149,151],{"type":14,"tag":37,"props":145,"children":146},{},[147],{"type":20,"value":148},"Ubuntu Workstation (XFCE)",{"type":20,"value":150}," ",{"type":14,"tag":152,"props":153,"children":154},"em",{},[155],{"type":20,"value":156},"(Popular)",{"type":14,"tag":141,"props":158,"children":159},{"align":98},[160],{"type":20,"value":161},"XFCE 4.18",{"type":14,"tag":141,"props":163,"children":164},{"align":98},[165],{"type":20,"value":166},"Ubuntu 24.04 LTS",{"type":14,"tag":141,"props":168,"children":169},{"align":98},[170],{"type":20,"value":171},"~250 MB",{"type":14,"tag":141,"props":173,"children":174},{"align":98},[175],{"type":20,"value":176},"1024 MB",{"type":14,"tag":141,"props":178,"children":179},{"align":98},[180],{"type":20,"value":181},"VS Code, Node.js, Python, daily coding",{"type":14,"tag":92,"props":183,"children":184},{},[185,193,198,202,207,212],{"type":14,"tag":141,"props":186,"children":187},{"align":98},[188],{"type":14,"tag":37,"props":189,"children":190},{},[191],{"type":20,"value":192},"Ubuntu Modern GUI (KDE)",{"type":14,"tag":141,"props":194,"children":195},{"align":98},[196],{"type":20,"value":197},"KDE Plasma",{"type":14,"tag":141,"props":199,"children":200},{"align":98},[201],{"type":20,"value":166},{"type":14,"tag":141,"props":203,"children":204},{"align":98},[205],{"type":20,"value":206},"~650 MB",{"type":14,"tag":141,"props":208,"children":209},{"align":98},[210],{"type":20,"value":211},"2048 MB",{"type":14,"tag":141,"props":213,"children":214},{"align":98},[215],{"type":20,"value":216},"High-DPI scaling, Dolphin file manager",{"type":14,"tag":92,"props":218,"children":219},{},[220,228,232,237,242,246],{"type":14,"tag":141,"props":221,"children":222},{"align":98},[223],{"type":14,"tag":37,"props":224,"children":225},{},[226],{"type":20,"value":227},"Debian KDE Plasma",{"type":14,"tag":141,"props":229,"children":230},{"align":98},[231],{"type":20,"value":197},{"type":14,"tag":141,"props":233,"children":234},{"align":98},[235],{"type":20,"value":236},"Debian 12",{"type":14,"tag":141,"props":238,"children":239},{"align":98},[240],{"type":20,"value":241},"~600 MB",{"type":14,"tag":141,"props":243,"children":244},{"align":98},[245],{"type":20,"value":211},{"type":14,"tag":141,"props":247,"children":248},{"align":98},[249],{"type":20,"value":250},"Rock-solid stability, apt package repository",{"type":14,"tag":92,"props":252,"children":253},{},[254,262,267,271,276,280],{"type":14,"tag":141,"props":255,"children":256},{"align":98},[257],{"type":14,"tag":37,"props":258,"children":259},{},[260],{"type":20,"value":261},"Debian Lightweight (XFCE)",{"type":14,"tag":141,"props":263,"children":264},{"align":98},[265],{"type":20,"value":266},"XFCE",{"type":14,"tag":141,"props":268,"children":269},{"align":98},[270],{"type":20,"value":236},{"type":14,"tag":141,"props":272,"children":273},{"align":98},[274],{"type":20,"value":275},"~200 MB",{"type":14,"tag":141,"props":277,"children":278},{"align":98},[279],{"type":20,"value":176},{"type":14,"tag":141,"props":281,"children":282},{"align":98},[283],{"type":20,"value":284},"Low-footprint servers, minimal resource overhead",{"type":14,"tag":52,"props":286,"children":287},{},[],{"type":14,"tag":56,"props":289,"children":291},{"id":290},"image-cache-detection-pre-pull-helper",[292],{"type":20,"value":293},"🔍 Image Cache Detection & Pre-Pull Helper",{"type":14,"tag":22,"props":295,"children":296},{},[297,299,304,306,312],{"type":20,"value":298},"When selecting a preset, ",{"type":14,"tag":28,"props":300,"children":302},{"className":301},[],[303],{"type":20,"value":33},{"type":20,"value":305}," queries the local Docker daemon (",{"type":14,"tag":28,"props":307,"children":309},{"className":308},[],[310],{"type":20,"value":311},"GET \u002Fapi\u002Fcatalog\u002Fimage-status?image=...",{"type":20,"value":313},"):",{"type":14,"tag":315,"props":316,"children":317},"ul",{},[318,337],{"type":14,"tag":319,"props":320,"children":321},"li",{},[322,327,329,335],{"type":14,"tag":37,"props":323,"children":324},{},[325],{"type":20,"value":326},"Image Cached on Host",{"type":20,"value":328},": Displays a ",{"type":14,"tag":28,"props":330,"children":332},{"className":331},[],[333],{"type":20,"value":334},"Ready",{"type":20,"value":336}," badge. Launching the instance starts immediately with zero download wait time.",{"type":14,"tag":319,"props":338,"children":339},{},[340,345,347,352,354,386],{"type":14,"tag":37,"props":341,"children":342},{},[343],{"type":20,"value":344},"Image Not Cached (~1.2GB)",{"type":20,"value":346},": Displays a pre-pull command helper with a 1-click ",{"type":14,"tag":37,"props":348,"children":349},{},[350],{"type":20,"value":351},"Copy Command",{"type":20,"value":353}," button:\n",{"type":14,"tag":68,"props":355,"children":359},{"code":356,"language":357,"meta":7,"className":358,"style":7},"docker pull lscr.io\u002Flinuxserver\u002Fwebtop:ubuntu-xfce\n","bash","language-bash shiki shiki-themes github-dark github-dark github-light",[360],{"type":14,"tag":28,"props":361,"children":362},{"__ignoreMap":7},[363],{"type":14,"tag":364,"props":365,"children":368},"span",{"class":366,"line":367},"line",1,[369,375,381],{"type":14,"tag":364,"props":370,"children":372},{"style":371},"--shiki-default:#B392F0;--shiki-dark:#B392F0;--shiki-light:#6F42C1",[373],{"type":20,"value":374},"docker",{"type":14,"tag":364,"props":376,"children":378},{"style":377},"--shiki-default:#9ECBFF;--shiki-dark:#9ECBFF;--shiki-light:#032F62",[379],{"type":20,"value":380}," pull",{"type":14,"tag":364,"props":382,"children":383},{"style":377},[384],{"type":20,"value":385}," lscr.io\u002Flinuxserver\u002Fwebtop:ubuntu-xfce\n",{"type":14,"tag":387,"props":388,"children":389},"blockquote",{},[390],{"type":14,"tag":22,"props":391,"children":392},{},[393,398,400,404],{"type":14,"tag":364,"props":394,"children":395},{},[396],{"type":20,"value":397},"!TIP",{"type":20,"value":399},"\nCopy and run the pull command in your terminal. WebTop Manage automatically monitors image cache status and updates the template to ",{"type":14,"tag":37,"props":401,"children":402},{},[403],{"type":20,"value":334},{"type":20,"value":405}," the moment the download finishes.",{"type":14,"tag":52,"props":407,"children":408},{},[],{"type":14,"tag":56,"props":410,"children":412},{"id":411},"️-mode-2-custom-blueprint-track",[413],{"type":20,"value":414},"🛠️ Mode 2: Custom Blueprint Track",{"type":14,"tag":22,"props":416,"children":417},{},[418],{"type":20,"value":419},"For advanced multi-container environments, air-gapped sandboxes, and hardware passthrough:",{"type":14,"tag":77,"props":421,"children":423},{"id":422},"_1-distro-matrix-custom-base-images",[424],{"type":20,"value":425},"1. Distro Matrix & Custom Base Images",{"type":14,"tag":22,"props":427,"children":428},{},[429,431,437],{"type":20,"value":430},"Choose from the validated distro matrix or supply any custom Docker base image (e.g., custom CUDA or Python images derived from ",{"type":14,"tag":28,"props":432,"children":434},{"className":433},[],[435],{"type":20,"value":436},"linuxserver\u002Fwebtop",{"type":20,"value":438},").",{"type":14,"tag":77,"props":440,"children":442},{"id":441},"_2-live-port-conflict-scanner",[443],{"type":20,"value":444},"2. Live Port Conflict Scanner",{"type":14,"tag":22,"props":446,"children":447},{},[448,450,456,458,464],{"type":20,"value":449},"Clicking the refresh port icon scans host TCP ports starting from ",{"type":14,"tag":28,"props":451,"children":453},{"className":452},[],[454],{"type":20,"value":455},"BASE_PORT",{"type":20,"value":457}," (",{"type":14,"tag":28,"props":459,"children":461},{"className":460},[],[462],{"type":20,"value":463},"3000",{"type":20,"value":465},") and automatically populates the next conflict-free port.",{"type":14,"tag":77,"props":467,"children":469},{"id":468},"_3-egress-traffic-policies-multi-network-attachments",[470],{"type":20,"value":471},"3. Egress Traffic Policies & Multi-Network Attachments",{"type":14,"tag":315,"props":473,"children":474},{},[475,485,503],{"type":14,"tag":319,"props":476,"children":477},{},[478,483],{"type":14,"tag":37,"props":479,"children":480},{},[481],{"type":20,"value":482},"Full Outbound Internet (Default)",{"type":20,"value":484},": Unrestricted package installation and web browsing.",{"type":14,"tag":319,"props":486,"children":487},{},[488,493,495,501],{"type":14,"tag":37,"props":489,"children":490},{},[491],{"type":20,"value":492},"Restricted \u002F Air-Gapped Sandbox",{"type":20,"value":494},": Sets Docker ",{"type":14,"tag":28,"props":496,"children":498},{"className":497},[],[499],{"type":20,"value":500},"--internal=true",{"type":20,"value":502}," on the dedicated bridge network, blocking all outbound WAN traffic.",{"type":14,"tag":319,"props":504,"children":505},{},[506,511,513,519,521,527],{"type":14,"tag":37,"props":507,"children":508},{},[509],{"type":20,"value":510},"Secondary Networks",{"type":20,"value":512},": Selectively attach existing Docker networks (e.g., ",{"type":14,"tag":28,"props":514,"children":516},{"className":515},[],[517],{"type":20,"value":518},"dev-db-net",{"type":20,"value":520},", ",{"type":14,"tag":28,"props":522,"children":524},{"className":523},[],[525],{"type":20,"value":526},"redis-net",{"type":20,"value":528},") to communicate with sibling containers.",{"type":14,"tag":77,"props":530,"children":532},{"id":531},"_4-advanced-storage-bind-mounts",[533],{"type":20,"value":534},"4. Advanced Storage & Bind Mounts",{"type":14,"tag":315,"props":536,"children":537},{},[538,548,566],{"type":14,"tag":319,"props":539,"children":540},{},[541,546],{"type":14,"tag":37,"props":542,"children":543},{},[544],{"type":20,"value":545},"System Profile Volume",{"type":20,"value":547},": Assign a custom named volume or pick from existing Docker volumes.",{"type":14,"tag":319,"props":549,"children":550},{},[551,556,558,564],{"type":14,"tag":37,"props":552,"children":553},{},[554],{"type":20,"value":555},"Project Folder",{"type":20,"value":557},": Assign a host directory or named volume for ",{"type":14,"tag":28,"props":559,"children":561},{"className":560},[],[562],{"type":20,"value":563},"\u002Fconfig\u002Fworkspace",{"type":20,"value":565},".",{"type":14,"tag":319,"props":567,"children":568},{},[569,574,576,582],{"type":14,"tag":37,"props":570,"children":571},{},[572],{"type":20,"value":573},"Custom Host Root Bind Mount",{"type":20,"value":575},": Mount an entire host folder to ",{"type":14,"tag":28,"props":577,"children":579},{"className":578},[],[580],{"type":20,"value":581},"\u002Fconfig",{"type":20,"value":583}," for complete direct disk mapping.",{"type":14,"tag":77,"props":585,"children":587},{"id":586},"_5-hardware-allocation-gpu-acceleration",[588],{"type":20,"value":589},"5. Hardware Allocation & GPU Acceleration",{"type":14,"tag":315,"props":591,"children":592},{},[593,635,653],{"type":14,"tag":319,"props":594,"children":595},{},[596,609,611,617,619,625,627,633],{"type":14,"tag":37,"props":597,"children":598},{},[599,601,607],{"type":20,"value":600},"Shared Memory (",{"type":14,"tag":28,"props":602,"children":604},{"className":603},[],[605],{"type":20,"value":606},"--shm-size",{"type":20,"value":608},")",{"type":20,"value":610},": ",{"type":14,"tag":28,"props":612,"children":614},{"className":613},[],[615],{"type":20,"value":616},"1024MB",{"type":20,"value":618}," (Default), ",{"type":14,"tag":28,"props":620,"children":622},{"className":621},[],[623],{"type":20,"value":624},"2048MB",{"type":20,"value":626}," (High IDE load), ",{"type":14,"tag":28,"props":628,"children":630},{"className":629},[],[631],{"type":20,"value":632},"4096MB",{"type":20,"value":634}," (Heavy browsing).",{"type":14,"tag":319,"props":636,"children":637},{},[638,643,645,651],{"type":14,"tag":37,"props":639,"children":640},{},[641],{"type":20,"value":642},"CPU & Memory Limits",{"type":20,"value":644},": Real-time quota enforcement (",{"type":14,"tag":28,"props":646,"children":648},{"className":647},[],[649],{"type":20,"value":650},"0",{"type":20,"value":652}," = Uncapped).",{"type":14,"tag":319,"props":654,"children":655},{},[656,661,663,669],{"type":14,"tag":37,"props":657,"children":658},{},[659],{"type":20,"value":660},"Hardware Acceleration",{"type":20,"value":662},": Automatically passes ",{"type":14,"tag":28,"props":664,"children":666},{"className":665},[],[667],{"type":20,"value":668},"\u002Fdev\u002Fdri",{"type":20,"value":670}," render nodes into the container for Intel QuickSync and GPU rendering.",{"type":14,"tag":52,"props":672,"children":673},{},[],{"type":14,"tag":56,"props":675,"children":677},{"id":676},"live-provisioning-experience-sse-stream",[678],{"type":20,"value":679},"📊 Live Provisioning Experience (SSE Stream)",{"type":14,"tag":22,"props":681,"children":682},{},[683,685,690],{"type":20,"value":684},"When you click ",{"type":14,"tag":37,"props":686,"children":687},{},[688],{"type":20,"value":689},"Launch Workstation",{"type":20,"value":691},", the modal transitions into the live provisioning view:",{"type":14,"tag":693,"props":694,"children":695},"ol",{},[696,748,758,775],{"type":14,"tag":319,"props":697,"children":698},{},[699,704,706],{"type":14,"tag":37,"props":700,"children":701},{},[702],{"type":20,"value":703},"5-Step Animated Lifecycle Checklist",{"type":20,"value":705},":\n",{"type":14,"tag":315,"props":707,"children":708},{},[709],{"type":14,"tag":319,"props":710,"children":711},{},[712,718,720,726,727,733,734,740,741,747],{"type":14,"tag":28,"props":713,"children":715},{"className":714},[],[716],{"type":20,"value":717},"1. Docker Base Image",{"type":20,"value":719}," $\\rightarrow$ ",{"type":14,"tag":28,"props":721,"children":723},{"className":722},[],[724],{"type":20,"value":725},"2. Storage Volumes & Mounts",{"type":20,"value":719},{"type":14,"tag":28,"props":728,"children":730},{"className":729},[],[731],{"type":20,"value":732},"3. Isolated Sandbox Network",{"type":20,"value":719},{"type":14,"tag":28,"props":735,"children":737},{"className":736},[],[738],{"type":20,"value":739},"4. Launch & Port Binding",{"type":20,"value":719},{"type":14,"tag":28,"props":742,"children":744},{"className":743},[],[745],{"type":20,"value":746},"5. Online Ready",{"type":20,"value":565},{"type":14,"tag":319,"props":749,"children":750},{},[751,756],{"type":14,"tag":37,"props":752,"children":753},{},[754],{"type":20,"value":755},"Layer Download Progress Bar",{"type":20,"value":757},": Calculates and renders aggregated percentage, download speed, and megabytes across concurrent registry layers.",{"type":14,"tag":319,"props":759,"children":760},{},[761,766,768,773],{"type":14,"tag":37,"props":762,"children":763},{},[764],{"type":20,"value":765},"Console Log Stream",{"type":20,"value":767},": Live output of container instantiation events with a ",{"type":14,"tag":37,"props":769,"children":770},{},[771],{"type":20,"value":772},"Copy Logs",{"type":20,"value":774}," button.",{"type":14,"tag":319,"props":776,"children":777},{},[778,783,785,791],{"type":14,"tag":37,"props":779,"children":780},{},[781],{"type":20,"value":782},"Post-Provision Credentials Card",{"type":20,"value":784},": Displays assigned credentials (",{"type":14,"tag":28,"props":786,"children":788},{"className":787},[],[789],{"type":20,"value":790},"abc",{"type":20,"value":792},"), one-click password reveal\u002Fcopy, and a direct button to launch the desktop in a new browser tab.",{"type":14,"tag":794,"props":795,"children":796},"style",{},[797],{"type":20,"value":798},"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 .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}",{"title":7,"searchDepth":800,"depth":800,"links":801},3,[802,806,807,814],{"id":58,"depth":803,"text":61,"children":804},2,[805],{"id":79,"depth":800,"text":82},{"id":290,"depth":803,"text":293},{"id":411,"depth":803,"text":414,"children":808},[809,810,811,812,813],{"id":422,"depth":800,"text":425},{"id":441,"depth":800,"text":444},{"id":468,"depth":800,"text":471},{"id":531,"depth":800,"text":534},{"id":586,"depth":800,"text":589},{"id":676,"depth":803,"text":679},"markdown","content:2.workstations:1.wizard.md","content","2.workstations\u002F1.wizard.md","2.workstations\u002F1.wizard","md",1787169590130]