@@ -1289,6 +1289,7 @@ <h2>Installation</h2>
12891289 < button class ="tab-btn " onclick ="openTab(event, 'smithery') " style ="color: #121212; font-weight: 300; "> Smithery Install</ button >
12901290 < button class ="tab-btn " onclick ="openTab(event, 'manual') " style ="color: #121212; font-weight: 300; "> Manual Configuration</ button >
12911291 < button class ="tab-btn " onclick ="openTab(event, 'local') " style ="color: #121212; font-weight: 300; "> Local Installation</ button >
1292+ < button class ="tab-btn " onclick ="openTab(event, 'docker') " style ="color: #121212; font-weight: 300; "> 🐳 Docker Install</ button >
12921293 </ div >
12931294
12941295 < div id ="smithery " class ="tab-content ">
@@ -1381,8 +1382,111 @@ <h3>Local Installation</h3>
13811382</ div >
13821383</ div >
13831384</ div >
1385+
1386+ < div id ="docker " class ="tab-content ">
1387+ < div class ="step ">
1388+ < div class ="step-content ">
1389+ < h3 > 🐳 Docker Installation</ h3 >
1390+ < p > < strong > Perfect for complete isolation and no Node.js required!</ strong > </ p >
1391+ < p > Desktop Commander runs in a sandboxed Docker container with persistent development environment.</ p >
1392+
1393+ < h4 > Prerequisites</ h4 >
1394+ < ul style ="margin-bottom: 15px; padding-left: 20px; ">
1395+ < li > < a href ="https://www.docker.com/products/docker-desktop/ " target ="_blank "> Docker Desktop</ a > installed < strong > and running</ strong > </ li >
1396+ < li > Claude Desktop app installed</ li >
1397+ </ ul >
1398+
1399+ < h4 > Automated Installation (Recommended)</ h4 >
1400+
1401+ < div style ="margin-bottom: 20px; ">
1402+ < strong > macOS/Linux:</ strong >
1403+ < pre style ="background: #f4f4f4; padding: 10px; overflow-x: auto; border-radius: 5px; margin-top: 10px; white-space: pre-wrap; word-break: break-word; "> bash < (curl -fsSL https://raw.githubusercontent.com/wonderwhy-er/DesktopCommanderMCP/refs/heads/main/install-docker.sh)</ pre >
1404+ </ div >
1405+
1406+ < div style ="margin-bottom: 20px; ">
1407+ < strong > Windows PowerShell (Run as Administrator):</ strong >
1408+ < pre style ="background: #f4f4f4; padding: 10px; overflow-x: auto; border-radius: 5px; margin-top: 10px; white-space: pre-wrap; word-break: break-word; "> iex ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/wonderwhy-er/DesktopCommanderMCP/refs/heads/main/install-docker.ps1'))</ pre >
1409+ </ div >
1410+
1411+ < div style ="background: #e8f4f8; padding: 15px; border-radius: 8px; margin: 15px 0; ">
1412+ < h4 style ="margin-top: 0; color: #0078D7; "> How Docker Persistence Works</ h4 >
1413+ < p > Desktop Commander creates a persistent work environment that remembers everything between sessions:</ p >
1414+ < ul style ="margin-bottom: 0; padding-left: 20px; ">
1415+ < li > < strong > Your development tools:</ strong > Any software you install stays installed</ li >
1416+ < li > < strong > Your configurations:</ strong > Git settings, SSH keys, shell preferences preserved</ li >
1417+ < li > < strong > Your work files:</ strong > Projects and files in workspace persist across restarts</ li >
1418+ < li > < strong > Package caches:</ strong > Downloaded packages cached for faster installs</ li >
1419+ </ ul >
1420+ </ div >
1421+
1422+ < h4 > Manual Docker Configuration</ h4 >
1423+ < p > If you prefer manual setup, add this to your claude_desktop_config.json:</ p >
1424+
1425+ < strong > Basic setup (no file access):</ strong >
1426+ < pre style ="background: #f4f4f4; padding: 10px; overflow-x: auto; border-radius: 5px; margin-top: 10px; white-space: pre-wrap; word-break: break-word; "> {
1427+ "mcpServers": {
1428+ "desktop-commander-docker": {
1429+ "command": "docker",
1430+ "args": [
1431+ "run", "-i", "--rm",
1432+ "mcp/desktop-commander:latest"
1433+ ]
1434+ }
1435+ }
1436+ }</ pre >
1437+
1438+ < strong > With folder mounting:</ strong >
1439+ < pre style ="background: #f4f4f4; padding: 10px; overflow-x: auto; border-radius: 5px; margin-top: 10px; white-space: pre-wrap; word-break: break-word; "> {
1440+ "mcpServers": {
1441+ "desktop-commander-docker": {
1442+ "command": "docker",
1443+ "args": [
1444+ "run", "-i", "--rm",
1445+ "-v", "dc-system:/usr",
1446+ "-v", "dc-home:/root",
1447+ "-v", "dc-workspace:/workspace",
1448+ "-v", "dc-packages:/var",
1449+ "-v", "/Users/username/Projects:/home/Projects",
1450+ "mcp/desktop-commander:latest"
1451+ ]
1452+ }
1453+ }
1454+ }</ pre >
1455+
1456+ < h4 > Docker Benefits</ h4 >
1457+ < ul style ="margin-bottom: 15px; padding-left: 20px; ">
1458+ < li > < strong > ✅ Complete Isolation:</ strong > Runs in sandboxed environment</ li >
1459+ < li > < strong > ✅ No Node.js Required:</ strong > Everything included in container</ li >
1460+ < li > < strong > ✅ Cross-Platform:</ strong > Same experience on all operating systems</ li >
1461+ < li > < strong > ✅ Persistent Environment:</ strong > Your tools and files survive restarts</ li >
1462+ </ ul >
1463+
1464+ < h4 > Management Commands</ h4 >
1465+
1466+ < strong > macOS/Linux:</ strong >
1467+ < pre style ="background: #f4f4f4; padding: 10px; overflow-x: auto; border-radius: 5px; margin-top: 10px; white-space: pre-wrap; word-break: break-word; "> # Check status
1468+ bash < (curl -fsSL https://raw.githubusercontent.com/wonderwhy-er/DesktopCommanderMCP/refs/heads/main/install-docker.sh) --status
1469+
1470+ # Reset persistent data
1471+ bash < (curl -fsSL https://raw.githubusercontent.com/wonderwhy-er/DesktopCommanderMCP/refs/heads/main/install-docker.sh) --reset</ pre >
1472+
1473+ < strong > Windows PowerShell:</ strong >
1474+ < pre style ="background: #f4f4f4; padding: 10px; overflow-x: auto; border-radius: 5px; margin-top: 10px; white-space: pre-wrap; word-break: break-word; "> # Check status
1475+ $script = (New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/wonderwhy-er/DesktopCommanderMCP/refs/heads/main/install-docker.ps1'); & ([ScriptBlock]::Create("$script")) -Status
1476+
1477+ # Reset data
1478+ $script = (New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/wonderwhy-er/DesktopCommanderMCP/refs/heads/main/install-docker.ps1'); & ([ScriptBlock]::Create("$script")) -Reset</ pre >
1479+
1480+ < br />
1481+ < p > ✅ < strong > Auto-Updates:</ strong > < code > latest</ code > tag automatically gets newer versions</ p >
1482+ < p > 🔄 < strong > Manual Update:</ strong > < code > docker pull mcp/desktop-commander:latest</ code > then restart Claude</ p >
1483+ < p > 🗑️ < strong > Uninstall:</ strong > Remove Docker configuration from Claude config and optionally run reset command to clear persistent data</ p >
1484+ </ div >
1485+ </ div >
1486+ </ div >
1487+
13841488< div style ="text-align: left; background: #f8f8f8; padding: 12px; overflow-x: auto; border-radius: 5px; margin-top: 15px; margin-bottom: 15px; border: 1px solid #ccc; box-shadow: 0 1px 3px rgba(0,0,0,0.05); ">
1385- < p style ="margin-top: 0; color: #171717; "> To install DesktopCommanderMCP you need to have Node.js v18.18.0+ and Claude Desktop installed on your system:</ p >
1489+ < p style ="margin-top: 0; color: #171717; "> To install DesktopCommanderMCP you need to have Node.js v18.18.0+ and Claude Desktop installed on your system (except Docker installation which doesn't require Node.js but Docker) :</ p >
13861490 < p > < strong > Download Node.js:</ strong > < a href ="https://nodejs.org/en/download " target ="_blank "> https://nodejs.org/en/download</ a > </ p >
13871491 < p style ="margin-bottom: 0; "> < strong > Download Claude Desktop:</ strong > < a href ="https://claude.ai/download " target ="_blank "> https://claude.ai/download</ a > </ p >
13881492</ div >
0 commit comments