22 KiB
title | meta_title | icon | description | cover |
---|---|---|---|---|
Self-Hosting | Self-Hosted Software and Services - Privacy Guides | material/server-network | For our more technical readers, self-hosted software and services can provide additional privacy assurances by having maximum control over your data. | router.webp |
Protects against the following threat(s):
- :material-server-network: Service Providers{ .pg-teal }
Using self-hosted software and services can be a way to achieve a higher level of privacy through digital sovereignty, particularly independence from cloud servers controlled by product developers or vendors. By self-hosting, we mean hosting applications and data on your own hardware.
Self-hosting your own solutions requires advanced technical knowledge and a deep understanding of the associated risks. By becoming the host for yourself and possibly others, you take on responsibilities you might not otherwise have. Self-hosting privacy software improperly can leave you worse off than using e.g. an end-to-end encrypted service provider, so it is best avoided if you are not already comfortable doing so.
:material-email: Email Servers
Advanced system administrators may consider setting up their own email server. Mail servers require attention and continuous maintenance in order to keep things secure and mail delivery reliable. In addition to the "all-in-one" solutions below, we've picked out a few articles that cover a more manual approach:
- Setting up a mail server with OpenSMTPD, Dovecot and Rspamd (2019)
- How To Run Your Own Mail Server (August 2017)
Stalwart
Stalwart is a newer mail server written in Rust which supports JMAP in addition to the standard IMAP, POP3, and SMTP. It has a wide variety of configuration options, but also defaults to very reasonable settings in terms of both security and features, making it easy to use immediately. It has web-based administration with TOTP 2FA support and allows you to enter your public PGP key to encrypt all incoming messages.
:octicons-home-16: Homepage{ .md-button .md-button--primary } :octicons-info-16:{ .card-link title="Documentation" } :octicons-code-16:{ .card-link title="Source Code" } :octicons-heart-16:{ .card-link title="Contribute" }
Stalwart's PGP implementation is unique among our self-hosted recommendations and allows you to operate your own mail server with zero-knowledge message storage. If you additionally configure Web Key Directory (WKD) on your domain, and if you use an email client which supports PGP and WKD for outgoing mail (like Thunderbird), then this is the easiest way to get self-hosted E2EE compatibility with all Proton Mail users.
Stalwart does not have an integrated webmail, so you will need to use it with a dedicated email client or find an open-source webmail to self-host, like Nextcloud's Mail app.
We use Stalwart for our own internal email at Privacy Guides.
Mailcow
Mailcow is an advanced mail server perfect for those with Linux experience. It has everything you need in a Docker container: a mail server with DKIM support, antivirus and spam monitoring, webmail and ActiveSync with SOGo, and web-based administration with 2FA support.
:octicons-home-16: Homepage{ .md-button .md-button--primary } :octicons-info-16:{ .card-link title="Documentation" } :octicons-code-16:{ .card-link title="Source Code" } :octicons-heart-16:{ .card-link title="Contribute" }
Mail-in-a-Box
Mail-in-a-Box is an automated setup script for deploying a mail server on Ubuntu. Its goal is to make it easier for people to set up their own mail server.
:octicons-home-16: Homepage{ .md-button .md-button--primary } :octicons-info-16:{ .card-link title="Documentation" } :octicons-code-16:{ .card-link title="Source Code" }
:material-dns: DNS Filtering
A self-hosted DNS solution is useful for providing filtering on controlled platforms, such as smart TVs and other IoT devices, as no client-side software is needed. Keep in mind that the DNS solutions below are typically restricted to your home/local network unless you set up a more advanced configuration.
Pi-Hole
Pi-hole is an open-source DNS sinkhole which uses DNS filtering to block unwanted web content, such as advertisements.
Pi-hole is designed to be hosted on a Raspberry Pi, but it is not limited to such hardware. The software features a friendly web interface to view insights and manage blocked content.
:octicons-home-16: Homepage{ .md-button .md-button--primary } :octicons-eye-16:{ .card-link title="Privacy Policy" } :octicons-info-16:{ .card-link title="Documentation" } :octicons-code-16:{ .card-link title="Source Code" } :octicons-heart-16:{ .card-link title="Contribute" }
AdGuard Home
AdGuard Home is an open-source DNS sinkhole which uses DNS filtering to block unwanted web content, such as advertisements.
AdGuard Home features a polished web interface to view insights and manage blocked content.
:octicons-home-16: Homepage{ .md-button .md-button--primary } :octicons-eye-16:{ .card-link title="Privacy Policy" } :octicons-info-16:{ .card-link title="Documentation" } :octicons-code-16:{ .card-link title="Source Code" }
:material-file-multiple-outline: File Management
PhotoPrism
PhotoPrism is a platform for managing photos. It supports album syncing and sharing as well as a variety of other features. It does not include E2EE, so it's best hosted on a server that you trust and is under your control.
:octicons-home-16: Homepage{ .md-button .md-button--primary } :octicons-eye-16:{ .card-link title="Privacy Policy" } :octicons-info-16:{ .card-link title="Documentation" } :octicons-code-16:{ .card-link title="Source Code" }
Nextcloud
Nextcloud is a suite of free and open-source client-server software for creating your own file hosting services on a private server you control.
:octicons-home-16: Homepage{ .md-button .md-button--primary } :octicons-eye-16:{ .card-link title="Privacy Policy" } :octicons-info-16:{ .card-link title="Documentation" } :octicons-code-16:{ .card-link title="Source Code" } :octicons-heart-16:{ .card-link title="Contribute" }
Danger
We don't recommend using the E2EE App for Nextcloud as it may lead to data loss; it is highly experimental and not production quality. For this reason, we don't recommend third-party Nextcloud providers.
Peergos
Peergos provides a secure and private space where users can store, share, and view their photos, videos, documents, etc. Peergos secures your files with quantum-resistant end-to-end encryption and ensures all data about your files remains private.
:octicons-home-16:{ .card-link title="Homepage" } :octicons-info-16:{ .card-link title="Admin Documentation" } :octicons-code-16:{ .card-link title="Source Code" }
Peergos is primarily a web app, but you can self-host the server either as a local cache for your remote Peergos account, or as a standalone storage server which negates the need to register for a remote account and subscription. The Peergos server is a .jar
file, which means the Java 17+ Runtime Environment (OpenJDK download) should be installed on your machine to get it working.
Running a local version of Peergos alongside a registered account on their paid, hosted service allows you to access your Peergos storage without any reliance on DNS or TLS certificate authorities, and keep a copy of your data backed up to their cloud. The user experience should be the same whether you run their desktop server or just use their hosted web interface.
:material-search-web: Search Engines
SearXNG
SearXNG is an open-source, metasearch engine that serves as a proxy between you and the search engines it aggregates from.
:octicons-home-16:{ .card-link title="Homepage" } :octicons-info-16:{ .card-link title="Admin Documentation" } :octicons-code-16:{ .card-link title="Source Code" }
It is important that you have other people using your instance so that the queries would blend in. You should be careful with where and how you are hosting SearXNG, as people looking up illegal content on your instance could draw unwanted attention from authorities.
:material-share-variant: File Sharing and Sync
Send
Send allows you to share files with others using a link. Files are encrypted on your device so that they cannot be read by the server, and they can be optionally password-protected as well.
:octicons-home-16:{ .card-link title="Homepage" } :octicons-info-16:{ .card-link title="Admin Documentation" } :octicons-code-16:{ .card-link title="Source Code" }
To upload files to your own server via the ffsend CLI, specify the --host
flag:
ffsend upload --host https://example.com/ FILE
FreedomBox
FreedomBox is an operating system designed to be run on a single-board computer (SBC). The purpose is to make it easy to set up server applications for use cases like sharing files.
:octicons-home-16: Homepage{ .md-button .md-button--primary } :octicons-info-16:{ .card-link title="Documentation" } :octicons-code-16:{ .card-link title="Source Code" } :octicons-heart-16:{ .card-link title="Contribute" }
:material-form-textbox-password: Password Management
Vaultwarden
{ align=right }
{ align=right }
Vaultwarden is an alternative implementation of Bitwarden's sync server written in Rust and compatible with official Bitwarden clients, perfect for self-hosted deployment where running the resource-heavy official service might not be ideal.
:octicons-repo-16: Repository{ .md-button .md-button--primary } :octicons-info-16:{ .card-link title="Documentation" } :octicons-code-16:{ .card-link title="Source Code" } :octicons-heart-16:{ .card-link title="Contribute" }
Psono
Psono is a free and open-source password manager with a focus on password management for teams. Psono supports secure sharing of passwords, files, bookmarks, and emails. All secrets are protected by a master password.
:octicons-home-16:{ .card-link title="Homepage" } :octicons-info-16:{ .card-link title="Admin Documentation" } :octicons-code-16:{ .card-link title="Source Code" }
Downloads
Psono provides extensive documentation for their product. The webclient for Psono can be self-hosted; alternatively, you can choose the full Community Edition or the Enterprise Edition with additional features.
:material-flip-to-front: Frontends
Self-hosting your own instance of a web-based frontend can help you circumvent rate limits that you may encounter on high-traffic, public instances. It is important that you have other people using your instance as well in order for you to blend in. You should be careful with where and how you are hosting, as other peoples' usage will be linked to your hosting.
-
{ .lg .middle .twemoji } Redlib (Reddit)
:octicons-info-16:{ .card-link title="Admin Documentation" } :octicons-code-16:{ .card-link title="Source Code" }
-
{ .lg .middle .twemoji } ProxiTok (TikTok)
:octicons-info-16:{ .card-link title="Admin Documentation" } :octicons-code-16:{ .card-link title="Source Code" }
-
{ .twemoji }
{ .twemoji } Invidious (YouTube)
:octicons-home-16:{ .card-link title="Homepage" } :octicons-info-16:{ .card-link title="Admin Documentation" } :octicons-code-16:{ .card-link title="Source Code" }
-
:octicons-info-16:{ .card-link title="Admin Documentation" } :octicons-code-16:{ .card-link title="Source Code" }
More Tools...
Tool recommendations in other categories of the website also provide a self-hosted option, so you could consider this if you are confident in your ability to host the software after reading their documentation.
-
{ .twemoji } Addy.io (Email Aliasing)
:octicons-home-16:{ .card-link title="Homepage" } :octicons-info-16:{ .card-link title="Admin Documentation" } :octicons-code-16:{ .card-link title="Source Code" }
-
{ .twemoji } SimpleLogin (Email Aliasing)
:octicons-home-16:{ .card-link title="Homepage" } :octicons-info-16:{ .card-link title="Admin Documentation" } :octicons-code-16:{ .card-link title="Source Code" }
-
{ .twemoji }
{ .twemoji } Ente Photos (Photo Manager)
:octicons-home-16:{ .card-link title="Homepage" } :octicons-info-16:{ .card-link title="Admin Documentation" } :octicons-code-16:{ .card-link title="Source Code" }
-
{ .twemoji }
{ .twemoji } Stingle (Photo Manager)
:octicons-home-16:{ .card-link title="Homepage" } :octicons-info-16:{ .card-link title="Admin Documentation" } :octicons-code-16:{ .card-link title="Source Code" }
-
{ .twemoji } CryptPad (Online Office Suite)
:octicons-home-16:{ .card-link title="Homepage" } :octicons-info-16:{ .card-link title="Admin Documentation" } :octicons-code-16:{ .card-link title="Source Code" }
-
{ .twemoji }
{ .twemoji } LanguageTool (Grammar, Style, and Spell Checker)
:octicons-home-16:{ .card-link title="Homepage" } :octicons-info-16:{ .card-link title="Admin Documentation" } :octicons-code-16:{ .card-link title="Source Code" }
-
{ .twemoji }
{ .twemoji } Miniflux (News Aggregator)
:octicons-home-16:{ .card-link title="Homepage" } :octicons-info-16:{ .card-link title="Admin Documentation" } :octicons-code-16:{ .card-link title="Source Code" }
-
{ .twemoji } Standard Notes (Notes App)
:octicons-home-16:{ .card-link title="Homepage" } :octicons-info-16:{ .card-link title="Admin Documentation" } :octicons-code-16:{ .card-link title="Source Code" }
-
{ .twemoji } PrivateBin (Pastebin)
:octicons-home-16:{ .card-link title="Homepage" } :octicons-info-16:{ .card-link title="Admin Documentation" } :octicons-code-16:{ .card-link title="Source Code" }
-
{ .twemoji } Paaster (Pastebin)
:octicons-home-16:{ .card-link title="Homepage" } :octicons-info-16:{ .card-link title="Admin Documentation" } :octicons-code-16:{ .card-link title="Source Code" }
-
{ .twemoji } SimpleX Chat (Instant Messenger)
:octicons-home-16:{ .card-link title="Homepage" } :octicons-info-16:{ .card-link title="Admin Documentation" } :octicons-code-16:{ .card-link title="Source Code" }
-
{ .twemoji } Element (Matrix Client)
:octicons-home-16:{ .card-link title="Homepage" } :octicons-info-16:{ .card-link title="Admin Documentation" } :octicons-code-16:{ .card-link title="Source Code" }