Self-hosting
The term self-hosting may refer to any of the following:
1. In web applications and cloud services, self-hosting refers to software installed and maintained by the user on a generic web hosting service, such as a VPS. The benefit of self-hosting is that the user has complete control over their data, at a potentially lower monthly cost. The downside is that the user is responsible for maintaining the service. If the service encounters an error, the user is responsible for resolving the issue.
Examples of self-hosted web apps and services
The following are examples of software and services that a user can self-host on the Internet. Most of the examples listed here are open-source, and can be freely downloaded and installed for personal or business use.
- Browser configuration and web data
- Cloud storage and file synchronization
- Dashboards and personal productivity
- DNS
- Document management
- E-mail services
- File sharing
- Games
- Groupware
- IRC tools
- Media storage and streaming
- Password management
- Photo and video galleries
- Proxies
- Remote access
- RSS
- Service monitoring and analytics
- VPN
Browser configuration and web data
- Firefox Sync server — Synchronize the Firefox browser configuration, including bookmarks, autofill data, and passwords, across multiple desktop or mobile devices.
- Nunux Keeper — Keep a private, searchable archive of web pages you've visited, edit or annotate them, and share them with friends.
- Wallabag — Extract content from web pages, store it online, and view it later on desktop or mobile. Display pages in a consistent, legible format. Import data from commercial services, such as Instapaper, Pinboard, or Pocket.
Cloud storage and file synchronization
- Nextcloud — A cloud storage service with features comparable to Dropbox. Sync and share files across multiple operating systems and devices. Supports multiple users with individual disk quotas. For more information, see our guide on how to install and run a Nextcloud server on the Internet.
- Syncthing — Continuously sync files between two or more computers without requiring an intermediate server.
- Unison — Replicate files between two or more computers. Supports Windows, macOS, and Unix-like operating systems.
- Resilio Sync — Fast, reliable P2P (peer-to-peer) file sync across multiple devices; based on the BitTorrent protocol.
- Pydio — Secure sync supporting multiple file storage mediums. Designed for both individuals and teams, with a focus on automating tasks.
- Seafile Community Edition — Multi-platform file sync with version control, and support for both desktop and mobile devices.
Dashboards and personal productivity
The following are web-accessible dashboards that monitor and control your web services, or help track your tasks and goals.
- Baby Buddy — A dashboard to help caregivers track the needs of infants. Track feeding times and methods, sleep, and diaper changes.
- DashMachine — Track your self-hosted web apps and services in a single customizable dashboard.
- Firefly III — A personal finance manager you can access securely in the cloud.
- Habitica — Track your personal and professional goals as if they were quests in an RPG (role-playing game).
- Kanboard — Organize, track, and manage tasks using the Kanban method, similar to the commercial service Asana. Tasks are organized as cards that are visually categorized and moved according to progress and priority.
- Organizr — Track web apps and services, and create multiple users that have restricted permission to view only certain services.
- Wger — Track your personal fitness. Keep a calendar of exercise sessions, and track or graph your body weight over time.
DNS
- CoreDNS — Customizable DNS (domain name system), and service discovery for network clusters. For example, CoreDNS can be configured to filter and block malicious domains, or automatically discover network services on a Kubernetes cluster.
- NSupdate.info — Self-hosted dynamic DNS.
- SPF Toolbox — Self-hostable network tools, including DNS record queries, whois, and reverse DNS lookup.
Document management
- Calibre server — Organize and search an online library of your e-books.
- EdPaper — Store, search, and view an unencrypted online archive of your PDF (Portable Document Format) documents.
- Mayan EDMS — Store, classify, and index the content of all your organization's document types.
- Papermerge — Manage a store of scanned documents. Built-in OCR (optical character recognition) lets you index, classify, and search your scanned paper documents.
E-mail services
Running an e-mail service is recommended for advanced users only. The e-mail servers of your recipients may filter e-mail from unknown e-mail providers. For that reason and others, it is difficult to operate an e-mail service on a personal domain. We recommend if you operate an e-mail service, you do so for educational purposes only. If you rely on the e-mail for personal or business use, we recommend using an established e-mail provider, such as Gmail, Yahoo, or Outlook Online.
- Homebox — A complete e-mail server solution based on Debian. It offers many features, such as spam filtering, bi-directional antivirus scanning, and full-text search of e-mail contents.
- Docker-mailserver — A minimal e-mail server that operates without a SQL (Structured Query Language) database, installable as a Docker container.
- Modoboa — A self-hosted e-mail server with a focus on standards compliance and ease of use. Features include an administration panel, monitoring, and tools for increasing your sender reputation with recipient servers.
- iRedMail — A full-featured e-mail server with webmail, calendar and contact management, an admin panel, antivirus/antispam protection, and optional paid tech support.
- Mailu — An e-mail server deployed as a Docker container, with an emphasis on using only free and open-source components.
File sharing
Share files with others directly, or over distributed P2P services.
- FilePizza — P2P file sharing directly from any supported web browser.
- Firefox Send — An experimental encrypted file sharing service developed by Mozilla.
- Instant.io — Seed or download files with the BitTorrent protocol in the web browser without separate client software.
- Magnetissimo — A self-hosted web application that crawls and indexes many popular torrent sites, and aggregates available torrents to a local database.
- Transmission — A BitTorrent client that you can self-host and access privately on the web.
- qBittorrent — A BitTorrent client that you can self-host and access privately on the web, designed as an alternative to µTorrent.
Games
- A Dark Room — A minimalist text-based game you can play in your web browser.
- Clumsy Bird — A clone of the game Angry Birds that you can self-host and play online.
- Hextris — A hexagon-based Tetris-like game for the web browser.
- Legend of the Green Dragon — A self-hosted, text-based, multiplayer online RPG based on the classic BBS (bulletin board system) door game LORD (Legend of the Red Dragon).
- Lila — A self-hosted, free, and open-source version of the engine that powers Lichess.
- Minetest — A multiplayer voxel-based 3D game similar to the wildly popular game Minecraft.
- Teeworlds — A self-hostable retro 2D multiplayer shooter, similar to the classic games W.O.R.M.S. and Scorched Earth.
Groupware
- Corteza — A self-hosted organizational platform for growing the productivity of your team, regardless of size.
- Jitsi Videobridge — An open-source video conferencing service, packaged as an XMPP (Extensible Messaging and Presence Protocol) server component. Encrypts and broadcasts multi-party video conferences without excessive use of bandwidth or CPU (central processing unit).
- Kopano — E-mail, calendar, file sharing, and video conferencing for groups.
- Overleaf — An online, collaborative LaTeX editor for scientific and academic writing by individuals or groups.
IRC tools
Web-based IRC (Internet Relay Chat) servers, clients, and tools with convenient features.
- ZNC — A BNC (IRC bouncer) that enables you to stay connected to an IRC channel even if your client disconnects.
- The Lounge — A self-hosted, always-connected web-based IRC client that removes the need for an IRC bouncer. Switch clients or devices without disconnecting from your IRC server.
- BitlBee — Aggregate multiple IM (instant message) services into IRC, so you can send and receive messages on all of them from your IRC client. Supported IM services include AIM (AOL Instant Messenger), ICQ, MSN Messenger, Google Talk/Hangouts, and Facebook Messenger.
- InspIRCd — A modular IRC server.
- Convos — An always-connected, web-based IRC client that archives all conversations, and displays linked images and videos in the chat window.
Media storage and streaming
Store and organize your audio and video media files, stream them to your devices, access them on the web, and share them with others.
- JellyFin — A self-hosted alternative to Plex for storing, categorizing, and streaming media files.
- Icecast — Store and stream audio or video streams in Ogg/Opus, WebM, or MP3 formats.
- Karaoke Eternal — Web-based karaoke client for having a karaoke party. Users can access the server on their phone to search for karaoke songs and queue them to play.
- Streama — Run a "personal Netflix." Organize and stream your digital media from anywhere, to any device.
Password management
Store, generate, and manage multiple passwords for yourself or multiple users.
- Bitwarden — Securely store passwords, generate random passwords, and sync them to multiple devices. Equally suited for personal, small business, or enterprise use.
- Keeweb — A free, cross-platform, open-source password manager compatible with KeePass.
- Padloc — A secure cloud-based password manager, with client software for multiple devices and operating systems.
- Passbolt — Secure, extensible password management for teams.
- TeamPass — Secure, extensible password management for teams with fine-tuned permissions for users and groups.
Photo and video galleries
- Lychee — "Self-hosted photo-management done right." Upload, manage, and share your photos from a web interface or a native application.
- MediaDrop — A video CMS designed for organizations with a large collection of video resources, with a built-in organization and metrics tools—based on a Python backend.
- PhotoPrism — Personal photo manager with duplicate detection, geocoding, format conversion, and automated tagging with Google TensorFlow.
- Piwigo — Manage your photo collection with a customizable interface, and share it online.
- UberGallery — A simple, customizable photo gallery based on PHP (PHP: Hypertext Preprocessor).
Proxies
Route network requests through a proxy to enhance privacy, circumvent content or geographical filters, and block malicious websites. If the proxy supports caching, a proxy can also conserve bandwidth and improve loading times for frequently-viewed websites.
- MiniProxy — A simple web proxy based on PHP. It does not support cookies and has limited AJAX (Asynchronous JavaScript and XML) support.
- Squid — A caching proxy that supports several network protocols, including HTTP (hypertext transfer protocol), HTTPS, and FTP. Provides access controls for selectively restricting web access on your network.
- Tinyproxy — A lightweight HTTP and HTTPS proxy ideal for low-resource or embedded systems.
- Redbird — A reverse proxy for nodejs that supports HTTP, HTTPS, HTTP/2, and LetsEncrypt. Supports Docker deployment in a cluster configuration.
Remote access
- Guacamole — A clientless remote desktop gateway developed by the Apache Software Foundation. Connect to your home computers, or to a GUI (graphical user interface) OS (operating system) hosted in the cloud, securely, using standard protocols such as VNC (Virtual Network Computing), RDP (Remote Desktop Protocol), and SSH (secure shell).
- Ngrok — Create an encrypted tunnel to your home web server, so you can safely access it from anywhere on the Internet. Enables a web server on your home network to use remote web APIs (application programming interface), as if it were hosted on the Internet. Introspect API usage and network requests, reviewing and optionally replaying API requests for debugging. Useful for developing websites on a firewalled home or business network.
RSS
- FreshRSS — A self-hosted aggregator and RSS service. Compile the newest content from websites and resources of your choice, and serve them as custom RSS feeds.
Service monitoring and analytics
- Grafana — "The open-source observability platform." Set up monitors and alerts for web servers you control, visualize and analyze performance, and generate reports.
- Loki — A log aggregator by Grafana. Combine, analyze, view, and search the event logs for all of your web servers.
- Prometheus — Web service monitoring, alerting, and visualization at scale.
- Graphite — A simplified approach to measure and analyze the performance of your web services.
- NetData — Real-time monitoring, alerting, and interactive visualization of your Linux-based web servers.
VPN
Self-hosted VPN (virtual private network) services can provide a measure of privacy by obscuring web traffic from your ISP (Internet service provider), and can circumvent geographical restrictions on network traffic. However, self-hosted VPNs are not anonymous because of the single IP address at your VPS (virtual private server) provider, who may divulge your identity to governments or other authorities. If anonymity is a primary reason for you to use a VPN, we recommend you use a commercial, shared VPN service that adheres to a robust privacy policy.
- Tinc — A self-hosted, fault-tolerant mesh VPN. Individual nodes in the mesh can fail, and the network automatically re-routes the VPN tunnel to compensate.
- WireGuard — Self-hosted VPN with a focus on speed, and state-of-the-art encryption. Can be implemented as a Linux kernel module, or as a service on Linux, Windows, macOS, BSD (Berkeley Software Distribution), iOS, or Android.
2. In computer programming, a self-hosting program is one that can modify, and interpret or compile, its own source code. The purpose of a self-hosting program is to create new versions of itself. For example, operating system kernels qualify as self-hosting if they contain and can compile their own source code. The first self-hosting software was written in LISP (list processor) by Timothy Hart and Michael Levin in 1964 at MIT (Massachusetts Institute of Technology). LISP is an example of a self-hosting program language, because its primary data structure is the list, and every valid LISP program is structured as a list.
Access control, Administration, Analytic, At scale, Cross-platform, Internet terms