Files
peardock-website/docs/faq.html
T
2026-07-11 19:13:34 -04:00

192 lines
10 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
<title>FAQ · PearDock Docs</title>
<meta name="description" content="Frequently asked questions about PearDock: install, keys, Docker group, Pear, Gatekeeper, AGPL, upgrades." />
<meta name="keywords" content="PearDock FAQ, install, keys, Docker group, AGPL" />
<meta name="author" content="HoneyPeer, LLC" />
<meta name="robots" content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1" />
<meta name="googlebot" content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1" />
<meta name="theme-color" content="#2dd4bf" />
<meta name="color-scheme" content="dark light" />
<meta name="application-name" content="PearDock" />
<meta name="apple-mobile-web-app-title" content="PearDock" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="mobile-web-app-capable" content="yes" />
<meta name="msapplication-TileColor" content="#2dd4bf" />
<meta name="msapplication-config" content="/assets/favicons/browserconfig.xml" />
<meta name="format-detection" content="telephone=no" />
<link rel="canonical" href="https://peardock.boats/docs/faq" />
<link rel="alternate" hreflang="en" href="https://peardock.boats/docs/faq" />
<link rel="alternate" hreflang="x-default" href="https://peardock.boats/docs/faq" />
<!-- Open Graph -->
<meta property="og:type" content="article" />
<meta property="og:site_name" content="PearDock" />
<meta property="og:locale" content="en_US" />
<meta property="og:url" content="https://peardock.boats/docs/faq" />
<meta property="og:title" content="FAQ · PearDock Docs" />
<meta property="og:description" content="Frequently asked questions about PearDock: install, keys, Docker group, Pear, Gatekeeper, AGPL, upgrades." />
<meta property="og:image" content="https://peardock.boats/assets/brand/og-image.png" />
<meta property="og:image:secure_url" content="https://peardock.boats/assets/brand/og-image.png" />
<meta property="og:image:type" content="image/png" />
<meta property="og:image:width" content="1200" />
<meta property="og:image:height" content="630" />
<meta property="og:image:alt" content="PearDock: decentralized Docker management on HyperDHT" />
<!-- Twitter / X -->
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="FAQ · PearDock Docs" />
<meta name="twitter:description" content="Frequently asked questions about PearDock: install, keys, Docker group, Pear, Gatekeeper, AGPL, upgrades." />
<meta name="twitter:image" content="https://peardock.boats/assets/brand/twitter-card.png" />
<meta name="twitter:image:alt" content="PearDock: decentralized Docker management" />
<!-- Icons & PWA -->
<link rel="icon" href="/assets/favicons/favicon.ico" sizes="any" />
<link rel="icon" type="image/png" sizes="32x32" href="/assets/favicons/favicon-32x32.png" />
<link rel="icon" type="image/png" sizes="16x16" href="/assets/favicons/favicon-16x16.png" />
<link rel="icon" type="image/png" sizes="48x48" href="/assets/favicons/favicon-48x48.png" />
<link rel="apple-touch-icon" sizes="180x180" href="/assets/favicons/apple-touch-icon.png" />
<link rel="manifest" href="/assets/favicons/site.webmanifest" />
<link rel="mask-icon" href="/assets/logo/peardock-wordmark.svg" color="#2dd4bf" />
<!-- Article -->
<meta property="article:section" content="Documentation" />
<meta property="article:author" content="HoneyPeer, LLC" />
<meta property="article:publisher" content="HoneyPeer, LLC" />
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": [
"WebPage",
"TechArticle"
],
"name": "FAQ \u00b7 PearDock Docs",
"description": "Frequently asked questions about PearDock: install, keys, Docker group, Pear, Gatekeeper, AGPL, upgrades.",
"url": "https://peardock.boats/docs/faq",
"isPartOf": {
"@type": "WebSite",
"name": "PearDock",
"url": "https://peardock.boats"
},
"publisher": {
"@type": "Organization",
"name": "HoneyPeer, LLC",
"url": "https://peardock.boats"
},
"inLanguage": "en-US",
"primaryImageOfPage": {
"@type": "ImageObject",
"url": "https://peardock.boats/assets/brand/og-image.png",
"width": 1200,
"height": 630
},
"headline": "FAQ \u00b7 PearDock Docs"
}
</script>
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet" />
<link rel="stylesheet" href="/src/styles/global.css" />
<link rel="stylesheet" href="/src/styles/docs.css" />
</head>
<body>
<div class="bg-mesh" aria-hidden="true"></div>
<div data-nav data-prefix="../"></div>
<div class="docs-layout">
<aside class="docs-sidebar" data-docs-nav data-prefix="../"></aside>
<button type="button" class="docs-sidebar-toggle" aria-label="Docs menu"></button>
<article class="docs-main">
<h1>FAQ</h1>
<p class="docs-lead">Short answers to common questions.</p>
<h2>Do I need to open ports or set up VPN / remote access?</h2>
<p>
<strong>No.</strong> PearDock is peer-to-peer over HyperDHT. You share the servers public key;
clients holepunch an encrypted connection. You do not open inbound firewall ports for Docker or the control UI,
expose <code>dockerd</code> to the internet, or maintain a permanent VPN just to run ops.
Optional Holesail tunnels reach published services the same way, still without punching host firewall holes.
</p>
<h2>How do I install PearDock?</h2>
<pre><code>curl -fsSL https://install.peardock.boats | bash</code></pre>
<p>
Interactive: choose <strong>server</strong> (Linux systemd) or <strong>client</strong> (desktop).
Non-interactive: <code>--server --yes</code> / <code>--client --yes</code>.
Details: <a href="/download">Download &amp; install</a>.
</p>
<h2>What do I share with clients?</h2>
<p>The server <strong>public key</strong> (64 hex characters). Never share <code>SERVER_SEED</code>.</p>
<h2>Where is the public key after install?</h2>
<pre><code>sudo journalctl -u peardock -n 80 --no-pager | grep -i 'public key'</code></pre>
<p>Also stored under <code>/opt/peardock/.env</code> as <code>SERVER_PUBLIC_KEY</code> when generated.</p>
<h2>Container list empty / “permission denied” on Docker</h2>
<p>The service user <code>peardock</code> needs the docker group:</p>
<pre><code>sudo usermod -aG docker peardock
sudo systemctl restart peardock
# if the group was just created:
sudo systemctl restart docker</code></pre>
<p>The one-line installer does this automatically on server install.</p>
<h2>Is there a cloud / SaaS component?</h2>
<p>No. HyperDHT holepunches between peers. Bootstrap nodes are part of the HyperDHT network; PearDock does not operate a proprietary control plane.</p>
<h2>Pear prints “DEPRECATED: pear run is deprecated”</h2>
<p>Platform-wide message. Prefer the Electron desktop client from the rolling release or <code>install.sh --client</code>. Source: <code>npm run start:client</code>.</p>
<h2>macOS says the app is damaged</h2>
<p>Usually quarantine or signature after download. Installer runs <code>xattr -cr</code>. Manually:</p>
<pre><code>xattr -cr ~/Applications/peardock.app
# or right-click → Open
# re-sign from source build:
npm run sign:macos -- out/peardock-darwin-arm64/peardock.app</code></pre>
<h2>Client lost connection. Does it reconnect?</h2>
<p>Yes. Unexpected disconnects retry every <strong>5 seconds</strong> until the peer is back or you remove it. Last active peer is restored on launch.</p>
<h2>Why is PearDock AGPL?</h2>
<p>PearDock is <strong>AGPL-3.0</strong>, matching Holesail (also AGPL-3.0). If you modify PearDock and let others use it over a network, review AGPL source-offer obligations. You can set <code>ENABLE_HOLESAIL=0</code> to disable tunnel creation.</p>
<h2>Can I run without Holesail?</h2>
<p>Yes: <code>ENABLE_HOLESAIL=0</code> in the server environment. Control-plane Docker management still works.</p>
<h2>Default role is admin. Is that safe?</h2>
<p>Convenient for a single trusted operator. For multi-operator fleets, set <code>PEARDOCK_DEFAULT_ROLE</code>, <code>PEARDOCK_ADMIN_KEYS</code>, and allowlist. See <a href="/docs/security">threat model</a>.</p>
<h2>v1 vs v2</h2>
<p>v1 used Hyperswarm topics and raw JSON streams. v2 uses HyperDHT keypairs, public keys, and protomux-rpc. Clients and servers are not wire-compatible across major versions.</p>
<h2>Where is peer state stored on the client?</h2>
<p>Typically <code>~/.config/peardock/cache/peers.json</code> (includes last active peer id).</p>
<h2>How do I update?</h2>
<ul>
<li><strong>Server:</strong> re-run <code>install.sh --server --yes</code> or replace the binary; keep <code>/opt/peardock/.env</code>; <code>systemctl restart peardock</code>.</li>
<li><strong>Client:</strong> re-run <code>install.sh --client --yes</code> or install a newer rolling tarball.</li>
<li><strong>Assets:</strong> <a href="https://git.ssh.surf/snxraven/peardock/releases/tag/rolling" target="_blank" rel="noopener">rolling</a> tag on every main CI build.</li>
</ul>
<h2>License</h2>
<p>PearDock and Holesail: <strong>AGPL-3.0</strong>. See <a href="/legal/license">Open Source Notices</a>.</p>
<div class="docs-pager">
<a href="/docs/release"><span>Previous</span><strong>← Releases</strong></a>
<a class="next" href="/docs/index"><span>Docs home</span><strong>Overview →</strong></a>
</div>
</article>
</div>
<div data-footer data-prefix="../"></div>
<script type="module" src="/src/js/site.js"></script>
</body>
</html>