Host Your Own Onion Service

Step-by-step guide to hosting your own Tor onion service for secure, anonymous access to your website or service

✍️ Dasho 📅 2026-02-13
documentation guide tor onion hosting

🧅 Host Your Own Onion Service

Want to host your own Tor onion service for secure, anonymous access to your website or service? This guide will walk you through the process step-by-step.

🔧 Prerequisites

Before you begin, make sure you have the following:

  • Somewhere to host your onion service (a VPS, home server, old laptop, etc.) - A Raspberry Pi works great for this and is a low-cost option worth considering if you want to host from home
  • A basic understanding of Linux command line and server administration
  • Tor installed on your server (we'll cover this in the next section)
  • A web server (like Nginx or Apache) if you want to host a website, or any other service you want to make available over Tor (IRC, SSH, etc.)
  • Optional: A custom onion address if you want to use a custom onion address (not required, but can be nice for branding - see the "Custom Onion Addresses" section below)

🚀 Step 1: Getting your server ready

First, you'll need to set up your server. This can be a VPS from a provider that allows Tor hosting (make sure to check their policies), or you can use a home server if you have a stable internet connection and are comfortable with the security implications of hosting from home. If you're using a VPS, choose a provider that values privacy and allows Tor hosting (some popular options include Vultr, DigitalOcean, and Linode).

Unless you plan on hosting your onion service over clearnet (which is possible but not recommended), there is no need to open any ports on your server's firewall for the onion service to work. Tor will handle all the incoming connections through the Tor network, so you can keep your server's firewall closed for maximum security. (It's crazy how many guides out there tell you to open ports for your onion service... just don't do it, it's not necessary and it reduces your security)

You'll start by first choosing your server's operating system. Most Linux distributions will work fine, but Ubuntu Server is a popular choice for its ease of use and good documentation. Once you've chosen your OS, follow the provider's instructions to set up your server and use it's terminal / connect to it via SSH.

Do not use Windows for hosting an onion service
Windows is not designed for this and will be a nightmare to set up and maintain securely. Also there's no privacy benefits to hosting an onion service on Windows since Windows itself is a privacy nightmare. Also... (another also is crazy)... Windows has much higher system requirements and resource usage compared to Linux, which means you'll need a much more powerful (and expensive) server to run it, and even then it will likely perform poorly. Just use Linux, it's not that hard to learn and there are plenty of resources available to help you get started.

... to be continued (will finish this guide later as I want to make sure it's as comprehensive and beginner-friendly as possible, and I also want to include a section on custom onion addresses which is a bit more advanced but can be really cool for branding your onion service)

Last updated: 2026-02-13