A private network, often called a VPN, links a few computers over the internet so they reach each other as if they shared one Wi-Fi network, and nobody else can reach them. Run the Socketchat server inside one, and your friends’ apps reach it there, so port 7444 never opens to the internet. WireGuard is free, open-source software that makes encrypted links between computers. Tailscale is a service built on WireGuard that does the setup for you: you sign in, and it hands out the keys and addresses. Its private network is called a tailnet.Two terms help with the table below. UDP is a simple way of sending data over the internet, which WireGuard uses. CGNAT (carrier-grade NAT) is when an internet provider puts many homes behind one shared public address, so nothing from outside can connect in to your home.
Medium: make keys and write a config file for the server and for each friend.
Accounts needed
A Tailscale account for you and for each friend, signed in through an existing account such as Google, Microsoft or GitHub.
None.
Who runs the coordination
Tailscale’s coordination server hands out keys and addresses. When two computers cannot connect directly, Tailscale’s relay servers carry the encrypted traffic.
You do. You write every config and hand it out yourself.
What needs a reachable port
None.
One UDP port on the server, 51820 by default.
Adding or removing a friend
Share the server computer from Tailscale’s admin console, or remove the share.
Add or delete the friend’s entry in the server’s config, then reload it. Adding one also means sending them a config file.
Cost
The Personal plan is free for non-commercial use, for up to 6 users.
Free. A cloud server to run it on costs a small monthly fee.
Works behind CGNAT
Yes, on both ends.
Friends behind CGNAT are fine. The server must not be behind it, so put it on a cloud server.
What friends install
The Tailscale app, signed in.
The WireGuard app and the config file you send them.
Best for
Groups who want it working in minutes, or already use Tailscale.
People who want no outside company and no accounts, and are at ease editing config files.
Pick Tailscale for the quickest setup; pick WireGuard when you want nothing between your friends and your server but software you run.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Socketchat","description":"End-to-end encrypted group chat for the terminal, on a server you run yourself.","colors":{"primary":"#d6322b","light":"#e5554e","dark":"#d6322b"},"logo":{"light":"https://mintcdn.com/socketchat/monB38keb4E2y3CS/logo/light.svg?fit=max\u0026auto=format\u0026n=monB38keb4E2y3CS\u0026q=85\u0026s=aa261c0e3ae684cdb7035482225eecb6","dark":"https://mintcdn.com/socketchat/monB38keb4E2y3CS/logo/dark.svg?fit=max\u0026auto=format\u0026n=monB38keb4E2y3CS\u0026q=85\u0026s=8eeac27cfe93a6726536b12306dda7eb","href":"https://socketchat.org"},"favicon":"https://mintcdn.com/socketchat/monB38keb4E2y3CS/favicon.svg?fit=max\u0026auto=format\u0026n=monB38keb4E2y3CS\u0026q=85\u0026s=babc8dce669670db7350c6927d381212","appearance":{"default":"dark","strict":false},"background":{"color":{"light":"#f7f4ec","dark":"#0b0b0d"}},"navbar":{"links":[{"href":"https://socketchat.org","label":"socketchat.org"},{"href":"https://github.com/sachio222/socketchat_v4","type":"github"}],"primary":{"type":"button","label":"Install","href":"/install"}},"footer":{"socials":{"github":"https://github.com/sachio222/socketchat_v4","website":"https://socketchat.org"}},"seo":{"metatags":{"og:site_name":"Socketchat docs"}},"fonts":{"heading":{"family":"Bodoni Moda","weight":700},"body":{"family":"Jost","weight":400}},"icons":{"library":"lucide"},"styling":{"codeblocks":"dark","latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"socketchat","hasAudioNarration":false,"actualSubdomain":"socketchat","customDomains":["docs.socketchat.org"],"gitSource":{"type":"github","owner":"sachio222","repo":"socketchat_v4","deployBranch":"docs","contentDirectory":"docs-site","isPrivate":false,"mountPath":"","label":"","_id":"6ad9a7470c4260996a02f424"},"chroma":{"latestBuiltDeploymentHistoryId":"6ad9a9370c4260996a031af4","collectionId":"86fbd047-f77f-4c0e-870c-f5a993189812","liveDeploymentHistoryId":"6ad9a9370c4260996a031af4","schemaVersion":"v3"},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ad9ae62dc0a58bc12067d54","clientVersion":"0.0.3926","searchFilterCounts":[{"language":"default","tag":"Host a server","count":9},{"language":"default","tag":"Help","count":5},{"language":"default","tag":"Use Socketchat","count":5},{"language":"default","tag":"Get started","count":4},{"language":"default","tag":"Security","count":4},{"language":"default","tag":"Private network (VPN)","count":3}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":true},"customCss":[{"filePath":"style.css","content":"html.dark .prose,html.dark .prose li,html.dark .prose p,html.dark .prose td,html.dark body{color:#ece6d8}html.dark #page-title,html.dark .prose h1,html.dark .prose h2,html.dark .prose h3,html.dark .prose h4{color:#f4efe3}.prose table td,.prose table th{vertical-align:top}"}],"page":{"pagePath":"hosting/vpn/overview","slug":"/hosting/vpn/overview","pageMetadata":{"title":"Tailscale or WireGuard?","sidebarTitle":"Tailscale or WireGuard?","mode":"wide","description":"Both put your server and your friends on a private network, so nothing opens to the internet. How they differ, and which to pick.","keywords":["VPN","private network","Tailscale","WireGuard","tailnet","CGNAT","compare"],"href":"/hosting/vpn/overview"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Both put your server and your friends on a private network, so nothing opens to the internet. How they differ, and which to pick.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,li:`li`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Heading,Info,Table}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Info)_missingMdxReference(`Info`,true);if(!Table)_missingMdxReference(`Table`,true);return _jsxs(_Fragment,{children:[_jsxs(Info,{children:[`New to this? Read `,_jsx(_components.a,{href:`/how-it-works`,children:`How Socketchat works`}),` first.`]}),`\n`,_jsxs(_components.p,{children:[`A private network, often called a VPN, links a few computers over the internet so they reach each other as if they shared one Wi-Fi network, and nobody else can reach them. Run the Socketchat server inside one, and your friends’ apps reach it there, so port 7444 never opens to the internet. `,_jsx(_components.a,{href:`https://www.wireguard.com`,children:`WireGuard`}),` is free, open-source software that makes encrypted links between computers. `,_jsx(_components.a,{href:`https://tailscale.com/kb/1151/what-is-tailscale`,children:`Tailscale`}),` is a service built on WireGuard that does the setup for you: you sign in, and it hands out the keys and addresses. Its private network is called a tailnet.`]}),`\n`,_jsx(_components.p,{children:`Two terms help with the table below. UDP is a simple way of sending data over the internet, which WireGuard uses. CGNAT (carrier-grade NAT) is when an internet provider puts many homes behind one shared public address, so nothing from outside can connect in to your home.`}),`\n`,_jsx(Heading,{level:`2`,id:`how-they-compare`,children:`How they compare`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{}),_jsx(_components.th,{children:_jsx(_components.a,{href:`/hosting/vpn/tailscale`,children:`Tailscale`})}),_jsx(_components.th,{children:_jsx(_components.a,{href:`/hosting/vpn/wireguard`,children:`WireGuard`})})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Setup effort`})}),_jsx(_components.td,{children:`Low: install an app on each computer and sign in.`}),_jsx(_components.td,{children:`Medium: make keys and write a config file for the server and for each friend.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Accounts needed`})}),_jsx(_components.td,{children:`A Tailscale account for you and for each friend, signed in through an existing account such as Google, Microsoft or GitHub.`}),_jsx(_components.td,{children:`None.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Who runs the coordination`})}),_jsxs(_components.td,{children:[`Tailscale’s coordination server hands out keys and addresses. When two computers cannot connect directly, Tailscale’s `,_jsx(_components.a,{href:`https://tailscale.com/kb/1232/derp-servers`,children:`relay servers`}),` carry the encrypted traffic.`]}),_jsx(_components.td,{children:`You do. You write every config and hand it out yourself.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`What needs a reachable port`})}),_jsx(_components.td,{children:`None.`}),_jsx(_components.td,{children:`One UDP port on the server, 51820 by default.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Adding or removing a friend`})}),_jsx(_components.td,{children:`Share the server computer from Tailscale’s admin console, or remove the share.`}),_jsx(_components.td,{children:`Add or delete the friend’s entry in the server’s config, then reload it. Adding one also means sending them a config file.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Cost`})}),_jsxs(_components.td,{children:[`The `,_jsx(_components.a,{href:`https://tailscale.com/pricing`,children:`Personal plan`}),` is free for non-commercial use, for up to 6 users.`]}),_jsx(_components.td,{children:`Free. A cloud server to run it on costs a small monthly fee.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Works behind CGNAT`})}),_jsx(_components.td,{children:`Yes, on both ends.`}),_jsx(_components.td,{children:`Friends behind CGNAT are fine. The server must not be behind it, so put it on a cloud server.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`What friends install`})}),_jsx(_components.td,{children:`The Tailscale app, signed in.`}),_jsxs(_components.td,{children:[`The `,_jsx(_components.a,{href:`https://www.wireguard.com/install/`,children:`WireGuard app`}),` and the config file you send them.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Best for`})}),_jsx(_components.td,{children:`Groups who want it working in minutes, or already use Tailscale.`}),_jsx(_components.td,{children:`People who want no outside company and no accounts, and are at ease editing config files.`})]})]})]}),`\n`,_jsx(_components.p,{children:`Pick Tailscale for the quickest setup; pick WireGuard when you want nothing between your friends and your server but software you run.`}),`\n`,_jsx(Heading,{level:`2`,id:`next`,children:`Next`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/hosting/vpn/tailscale`,children:`Host on Tailscale`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/hosting/vpn/wireguard`,children:`Host on WireGuard`})}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"codeStyling":"dark","config":{},"pageMetadata":{"title":"Tailscale or WireGuard?","sidebarTitle":"Tailscale or WireGuard?","mode":"wide","description":"Both put your server and your friends on a private network, so nothing opens to the internet. How they differ, and which to pick.","keywords":["VPN","private network","Tailscale","WireGuard","tailnet","CGNAT","compare"],"href":"/hosting/vpn/overview"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"How they compare","slug":"how-they-compare","depth":2,"children":[]},{"title":"Next","slug":"next","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"socketchat","siteName":"Socketchat","title":"Tailscale or WireGuard? - Socketchat","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-22T06:34:14.451Z","originalFileLocation":"hosting/vpn/overview.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"dark\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Both put your server and your friends on a private network, so nothing opens to the internet. How they differ, and which to pick.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Socketchat\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/socketchat/uEAjlBgWea3r9Pjl/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/socketchat/uEAjlBgWea3r9Pjl/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/socketchat/uEAjlBgWea3r9Pjl/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/socketchat/uEAjlBgWea3r9Pjl/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/socketchat/uEAjlBgWea3r9Pjl/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/socketchat/uEAjlBgWea3r9Pjl/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/socketchat/uEAjlBgWea3r9Pjl/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/socketchat/uEAjlBgWea3r9Pjl/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/socketchat/uEAjlBgWea3r9Pjl/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Tailscale or WireGuard? - Socketchat\">\u003cmeta data-mint-head property=\"og:description\" content=\"Both put your server and your friends on a private network, so nothing opens to the internet. How they differ, and which to pick.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Socketchat docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.socketchat.org/hosting/vpn/overview\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://socketchat.mintlify.app/_mintlify/api/og/v2?division=Private+network+%28VPN%29\u0026amp;title=Tailscale+or+WireGuard%3F\u0026amp;description=Both+put+your+server+and+your+friends+on+a+private+network%2C+so+nothing+opens+to+the+internet.+How+they+differ%2C+and+which+to+pick.\u0026amp;theme=4d949694dfc63923a3c21e5b\u0026amp;signature=36a588fffc0f97f40826b5971e6321805a3ead1d42669edd397908de22672ba1\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Tailscale or WireGuard? - Socketchat\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Both put your server and your friends on a private network, so nothing opens to the internet. How they differ, and which to pick.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://socketchat.mintlify.app/_mintlify/api/og/v2?division=Private+network+%28VPN%29\u0026amp;title=Tailscale+or+WireGuard%3F\u0026amp;description=Both+put+your+server+and+your+friends+on+a+private+network%2C+so+nothing+opens+to+the+internet.+How+they+differ%2C+and+which+to+pick.\u0026amp;theme=4d949694dfc63923a3c21e5b\u0026amp;signature=36a588fffc0f97f40826b5971e6321805a3ead1d42669edd397908de22672ba1\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/socketchat/uEAjlBgWea3r9Pjl/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Socketchat\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#d6322b\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.socketchat.org/hosting/vpn/overview\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/hosting/vpn/overview.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.socketchat.org/#organization\",\"name\":\"Socketchat\",\"url\":\"https://docs.socketchat.org\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/socketchat/monB38keb4E2y3CS/logo/light.svg?fit=max\u0026auto=format\u0026n=monB38keb4E2y3CS\u0026q=85\u0026s=aa261c0e3ae684cdb7035482225eecb6\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.socketchat.org#website\",\"name\":\"Socketchat\",\"url\":\"https://docs.socketchat.org\",\"publisher\":{\"@id\":\"https://docs.socketchat.org/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.socketchat.org/hosting/vpn/overview#webpage\",\"url\":\"https://docs.socketchat.org/hosting/vpn/overview\",\"name\":\"Tailscale or WireGuard?\",\"description\":\"Both put your server and your friends on a private network, so nothing opens to the internet. How they differ, and which to pick.\",\"dateModified\":\"2026-10-22T06:34:14.451Z\",\"isPartOf\":{\"@id\":\"https://docs.socketchat.org#website\"},\"breadcrumb\":{\"@id\":\"https://docs.socketchat.org/hosting/vpn/overview#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.socketchat.org/hosting/vpn/overview#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Host a server\",\"item\":\"https://docs.socketchat.org/hosting/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Tailscale or WireGuard?\",\"item\":\"https://docs.socketchat.org/hosting/vpn/overview\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.socketchat.org/hosting/vpn/overview#article\",\"headline\":\"Tailscale or WireGuard?\",\"name\":\"Tailscale or WireGuard?\",\"description\":\"Both put your server and your friends on a private network, so nothing opens to the internet. How they differ, and which to pick.\",\"url\":\"https://docs.socketchat.org/hosting/vpn/overview\",\"mainEntityOfPage\":{\"@id\":\"https://docs.socketchat.org/hosting/vpn/overview#webpage\"},\"dateModified\":\"2026-10-22T06:34:14.451Z\",\"keywords\":\"VPN, private network, Tailscale, WireGuard, tailnet, CGNAT, compare\",\"publisher\":{\"@id\":\"https://docs.socketchat.org/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.socketchat.org#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Socketchat\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Socketchat","nav":{"global":null,"groups":[{"group":"Get started","pages":[{"title":"Introduction","sidebarTitle":"Introduction","href":"/index"},{"title":"How Socketchat works","sidebarTitle":"How it works","href":"/how-it-works"},{"title":"Install Socketchat","sidebarTitle":"Install","href":"/install"},{"title":"Quick start","href":"/quickstart"}]},{"group":"Host a server","pages":[{"title":"Host a server","sidebarTitle":"Overview","mode":"wide","href":"/hosting/overview"},{"title":"Host on your local network","sidebarTitle":"Same Wi-Fi","href":"/hosting/local-network"},{"title":"Host at home with port forwarding","sidebarTitle":"Port forwarding","href":"/hosting/port-forwarding"},{"title":"Host on a cloud server","sidebarTitle":"Cloud server (VPS)","description":"Run an always-on Socketchat server on a small Linux VPS with your own domain name.","href":"/hosting/cloud-server"},{"group":"Private network (VPN)","pages":[{"title":"Tailscale or WireGuard?","sidebarTitle":"Tailscale or WireGuard?","mode":"wide","href":"/hosting/vpn/overview"},{"title":"Host on Tailscale","sidebarTitle":"Tailscale","description":"Run the server on any machine in your tailnet. No port forwarding and no public IP.","href":"/hosting/vpn/tailscale"},{"title":"Host on WireGuard","sidebarTitle":"WireGuard","href":"/hosting/vpn/wireguard"}]},{"title":"Hosted by Socketchat","tag":"SOON","href":"/hosting/hosted-by-socketchat"},{"title":"Server settings and backups","sidebarTitle":"Settings and backups","href":"/hosting/server-settings"}]},{"group":"Use Socketchat","pages":[{"title":"The chat screen","href":"/use/chat-screen"},{"title":"Rooms and invites","href":"/use/rooms-and-invites"},{"title":"Files, photos and videos","href":"/use/files-photos-videos"},{"title":"Commands","href":"/use/commands"},{"title":"Agents and scripts","sidebarTitle":"Agents","href":"/use/agents"}]},{"group":"Security","pages":[{"title":"What the server sees","href":"/security/what-the-server-sees"},{"title":"Encryption","href":"/security/encryption"},{"title":"Your passphrase","href":"/security/passphrase"},{"title":"Report a security problem","sidebarTitle":"Report a problem","href":"/security/reporting"}]},{"group":"Help","pages":[{"title":"Troubleshooting","href":"/help/troubleshooting"},{"title":"Updating","href":"/help/updating"},{"title":"Uninstalling","href":"/help/uninstalling"},{"title":"FAQ","href":"/help/faq"},{"title":"Contributing","href":"/help/contributing"}]}]},"title":"Tailscale or WireGuard? - Socketchat","buildId":"dpl_9DauxEjb9gzCtcuhPQFbquJvx7FJ","deploymentId":"dpl_9DauxEjb9gzCtcuhPQFbquJvx7FJ","dynamics":[],"chunks":[]}