Self-Hosting-Guide
Self-Hosting Guide. Learn all about locally hosting (on premises & private web servers) and managing software applications by yourself or your organization. Including Cloud, LLMs, WireGuard, Automation, Home Assistant, and Networking.
https://github.com/mikeroyal/Self-Hosting-Guide
Last synced: 4 days ago
JSON representation
-
Install from Source
-
Virtualization
- Foreman - premises or in the cloud.
- Harvester - converged infrastructure (HCI) software built on Kubernetes.
- Apple Hypervisor - party kernel extensions. Hypervisor provides C APIs so you can interact with virtualization technologies in user space, without writing kernel extensions (KEXTs). As a result, the apps you create using this framework are suitable for distribution on the [Mac App Store](https://www.appstore.com/).
- Apple Virtualization Framework - level APIs for creating and managing virtual machines on Apple silicon and Intel-based Mac computers. This framework is used to boot and run a Linux-based operating system in a custom environment that you define. It also supports the [Virtio specification](https://www.redhat.com/en/virtio-networking-series), which defines standard interfaces for many device types, including network, socket, serial port, storage, entropy, and memory-balloon devices.
- Apple Paravirtualized Graphics Framework - accelerated graphics for macOS running in a virtual machine, hereafter known as the guest. The operating system provides a graphics driver that runs inside the guest, communicating with the framework in the host operating system to take advantage of Metal-accelerated graphics.
- Cloud Hypervisor - lang.org/) and is based on the [rust-vmm](https://github.com/rust-vmm) crates.
- VirtManager
- Firecracker - built for creating and managing secure, multi-tenant container and function-based services that provide serverless operational models. It runs workloads in lightweight virtual machines, called microVMs, which combine the security and isolation properties provided by hardware virtualization technology with the speed and flexibility of containers.
- HyperKit - level components such as the [VPNKit](https://github.com/moby/vpnkit) and [DataKit](https://github.com/moby/datakit). HyperKit currently only supports macOS using the [Hypervisor.framework](https://developer.apple.com/library/mac/documentation/DriversKernelHardware/Reference/Hypervisor/index.html) making it a core component of Docker Desktop for Mac.
- Intel® Graphics Virtualization Technology (Intel® GVT) - through, starting from 4th generation Intel Core (TM) processors with Intel processor graphics(Broadwell and newer). It can be used to virtualize the GPU for multiple guest virtual machines, effectively providing near-native graphics performance in the virtual machine and still letting your host use the virtualized GPU normally.
- Cilicon - hosted CI in less than an hour.
- Xen
- Ganeti
- Edge
- Hyper-V
- Quickemu
- Packer
- Vagrant - to-use workflow and focus on automation, Vagrant lowers development environment setup time, increases production parity, and makes the "works on my machine" excuse a relic of the past. It provides easy to configure, reproducible, and portable work environments built on top of industry-standard technology and controlled by a single consistent workflow to help maximize the productivity and flexibility of you and your team.
- Hyper-V
- Anthos - premises environments.
- Firecracker - built for creating and managing secure, multi-tenant container and function-based services that provide serverless operational models. It runs workloads in lightweight virtual machines, called microVMs, which combine the security and isolation properties provided by hardware virtualization technology with the speed and flexibility of containers.
-
Voice Assistants
- Conversation
- Mycroft
- Olivia - source chatbot built in Golang using Machine Learning technologies. Its goal is to provide a free and open-source alternative to big services like DialogFlow.
- OpenAssistant - based assistant that understands tasks, can interact with third-party systems, and retrieve information dynamically to do so.
- Wyoming - to-peer protocol for voice assistants (basically [JSONL](https://jsonlines.org/) + PCM audio). It's used in [Rhasspy](https://github.com/rhasspy/rhasspy3/) and the [Home Assistant](https://www.home-assistant.io/integrations/wyoming) for communication with voice services.
- Wyoming Faster Whisper - whisper speech to text system.
- Wyoming Porcupine1
- Wyoming Snowboy
- Porcupine - accurate and lightweight wake word engine. It enables building always-listening voice-enabled applications. It uses deep neural networks trained in real-world environments.
- openWakeWord - source wakeword library that can be used to create voice-enabled applications and interfaces. It includes pre-trained models for common words & phrases that work well in real-world environments.
- DeepSpeech - device) speech-to-text engine which can run in real time on devices ranging from a Raspberry Pi 4 to high power GPU servers.
- Leon - source personal assistant.
- Alan SDK
- Mycroft
-
VPN
- OpenVPN - Uses a custom security protocol that utilizes SSL/TLS for key exchange.
- Pritunl - OpenVPN based solution that's easy to set up.
- SoftEther - Multi-protocol software VPN with advanced features.
- strongSwan - Complete IPsec implementation for Linux.
- tinc - Distributed p2p VPN.
- sshuttle - Poor man's VPN.
- OpenVPN - Uses a custom security protocol that utilizes SSL/TLS for key exchange.
-
Websites/Blogs
- Kopage - hosted Website Builder. It's compatible with cPanel and other popular hosting control panels. Compatible with cPanel and other popular hosting control panels.
- Ghost - managed PaaS & self-hosted open source software, and can be installed and maintained relatively easily on just about any VPS hosting provider.
- Cloudron - hosted immutable infrastructure design allows easy migration of apps across servers. In fact, you can move your entire server along with all its apps to another cloud provider in no time.
- Directus - time API and App dashboard for managing SQL database content.
- Haven - hosted private blog instead of using Facebook.
- Antville
- October - hosted Content Management System (CMS) and web platform whose sole purpose is to make your development workflow simple again.
- Grav - based Web-platform. There is Zero installation required. Just extract the ZIP archive, and you are already up and running. It comes with a powerful Package Management System to allow for simple installation and upgrading of plugins and themes, as well as simple updating of Grav itself.
- Zola - in.
- FlatPress - to-set-up blogging engine.
- Chyrp Lite - lightweight blogging engine. It provides four beautiful blog themes and a friendly administration console, all fully navigable on a broad range of devices, thanks to the power of responsive HTML5.
- WriteFreely
- Sandstorm
- YunoHost - based distribution which strives to make it easy to quickly set up a server and host web applications.
- Netlify CMS
- Lyra - memory, typo-tolerant, full-text search engine written in TypeScript.
- Orchard - focused Content Management System built on the ASP.NET MVC platform.
- Ghost - managed PaaS & self-hosted open source software, and can be installed and maintained relatively easily on just about any VPS hosting provider.
-
What is Netmaker?
-
What is Tailscale?
-
Wikis
- TiddlyWiki - Reusable non-linear personal web notebook.
- BookStack - BookStack is a simple, self-hosted, easy-to-use platform for organizing and storing information. It allows for documentation to be stored in a book like fashion.
- Instiki - Instiki is a wiki clone so pretty and easy to set up, you'll wonder if it’s really a wiki. Runs on Rails and focuses on portability and stability.
- Mediawiki - MediaWiki is a free and open-source wiki software package written in PHP. It serves as the platform for Wikipedia and the other Wikimedia projects, used by hundreds of millions of people each month.
- PukiWiki - PukiWiki is a free, simple, open-source wiki management system. Minimalistic and simple design with many tools for collaborative work. Created in Japanese, so translator needed.
- Raneto - Raneto is an open source Knowledgebase platform that uses static Markdown files to power your Knowledgebase.
- Tiki - Wiki CMS Groupware with the most built-in features.
- TWiki - TWiki is a Perl-based structured wiki application, typically used to run a collaboration platform, knowledge or document management system, a knowledge base, or team portal.
- WackoWiki - WackoWiki is a light and easy to install multilingual Wiki-engine.
- Archivy - hostable knowledge repository that allows you to learn and retain information in your own personal and extensible wiki.
- Cowyo - Cowyo is a feature-rich wiki for minimalists.
- django-wiki - Wiki system with complex functionality for simple integration and a superb interface. Store your knowledge with style: Use django models.
- Dokuwiki - Easy to use, lightweight, standards-compliant wiki engine with a simple syntax allowing reading the data outside the wiki. All data is stored in plain text files, therefore no database is required.
- Gitit - Wiki program that stores pages and uploaded files in a git repository, which can then be modified using the VCS command line tools or the wiki's web interface.
- Gollum - Simple, Git-powered wiki with a sweet API and local frontend.
- Pepperminty Wiki - Complete markdown-powered wiki contained in a single PHP file.
- PineDocs - Simple, fast, customizable and lightweight site for browsing files.
- Gramax - Free, open-source application for creating, editing, and publishing Git-driven documentation sites using Markdown and a visual editor.
- PmWiki - Wiki-based system for collaborative creation and maintenance of websites.
- Documize - Modern Docs + Wiki software with built-in workflow, single binary executable, just bring MySQL/Percona.
-
WireGuard Tools
- Wiretrustee - based mesh network that connects your devices into a single private network.
- Pro Custodibus - to-site connectivity, secure remote access from anywhere, secure access to the cloud (Amazon Web Services, Google Cloud Platform, Microsoft Azure, etc), and more.
- Wireguard Manager
- Mistborn CLI - line interface for [Mistborn](https://gitlab.com/cyber5k/mistborn).
- BoringTun - 1-1-1-faster-internet/id1423538627) and [Android](https://play.google.com/store/apps/details?id=com.cloudflare.onedotonedotonedotone&hl=en_US) consumer devices as well as thousands of Cloudflare Linux servers.
- Algo VPN
- Drago - source community.
- Kilo - cloud network overlay built on WireGuard and designed for Kubernetes. Kilo connects nodes in a cluster by providing an encrypted layer 3 network that can span across data centers and public clouds. The Pod network created by Kilo is always fully connected, even when the nodes are in different networks or behind NAT. By allowing pools of nodes in different locations to communicate securely, Kilo enables the operation of multi-cloud clusters. Kilo's design allows clients to VPN to a cluster in order to securely access services running on the cluster.
- Subspace
- WG UI - contained management service for WireGuard with a self-serve web UI.
- WireHole - compose project with the intent of enabling users to quickly and easily create and deploy a personally managed full or split-tunnel WireGuard VPN with ad blocking capabilities (via Pihole), and DNS caching with additional privacy options (via Unbound).
- Gluetun - in.
- Ethr
- PiVPN
- Netmaker
-
YouTube Channels
-
-
Java Learning Resources
-
In-memory data grids
- Java
- The Eclipse Foundation
- Getting Started with Java
- Oracle Java certifications from Oracle University
- Java Tutorial by W3Schools
- Getting Started with Java in Visual Studio Code
- Google Java Style Guide
- Chromium Java style guide
- Get Started with OR-Tools for Java
- Gradle User Manual
- Google Developers Training
-
-
Java Tools & Frameworks
-
In-memory data grids
- Apache Spark - scale data processing. It provides high-level APIs in Scala, Java, Python, and R, and an optimized engine that supports general computation graphs for data analysis. It also supports a rich set of higher-level tools including Spark SQL for SQL and DataFrames, MLlib for machine learning, GraphX for graph processing, and Structured Streaming for stream processing.
- Java SE
- JDK Development Tools
- IntelliJ IDEA
- RxJava - based programs by using observable sequences. It extends the [observer pattern](http://en.wikipedia.org/wiki/Observer_pattern) to support sequences of data/events and adds operators that allow you to compose sequences together declaratively while abstracting away concerns about things like low-level threading, synchronization, thread-safety and concurrent data structures.
- Guava
- Retrofit - safe HTTP client for Android and Java develped by Square.
- Apache Flink - and batch-processing capabilities with elegant and fluent APIs in Java and Scala.
- Fastjson
- libGDX - platform Java game development framework based on OpenGL (ES) that works on Windows, Linux, Mac OS X, Android, your WebGL enabled browser and iOS.
- Jenkins - source automation server. Built with Java, it provides over 1700 [plugins](https://plugins.jenkins.io/) to support automating virtually anything, so that humans can actually spend their time doing things machines cannot.
- Redisson - Memory Data Grid. Over 50 Redis based Java objects and services: Set, Multimap, SortedSet, Map, List, Queue, Deque, Semaphore, Lock, AtomicLong, Map Reduce, Publish / Subscribe, Bloom filter, Spring Cache, Tomcat, Scheduler, JCache API, Hibernate, MyBatis, RPC, and local cache.
- GraalVM - based languages like Java, Scala, Clojure, Kotlin, and LLVM-based languages such as C and C++.
- Gradle - language software development. From mobile apps to microservices, from small startups to big enterprises, Gradle helps teams build, automate and deliver better software, faster. Write in Java, C++, Python or your language of choice.
- Apache Groovy - typing and static compilation capabilities, for the Java platform aimed at improving developer productivity thanks to a concise, familiar and easy to learn syntax. It integrates smoothly with any Java program, and immediately delivers to your application powerful features, including scripting capabilities, Domain-Specific Language authoring, runtime and compile-time meta-programming and functional programming.
- JaCoCo
- Junit
- Mockito
- SpotBugs
- YourKit
- Java Design Patterns
- Elasticsearch
- okhttp
- LeakCanary
- Apache Groovy - typing and static compilation capabilities, for the Java platform aimed at improving developer productivity thanks to a concise, familiar and easy to learn syntax. It integrates smoothly with any Java program, and immediately delivers to your application powerful features, including scripting capabilities, Domain-Specific Language authoring, runtime and compile-time meta-programming and functional programming.
- NetBeans
-
-
Kubernetes Learning Resources
-
Interfaces
- Kubernetes (K8s) - source system for automating deployment, scaling, and management of containerized applications.
- Getting started with Kubernetes on AWS
- Getting started with Google Cloud
- Getting started with Kubernetes on Red Hat
- Elastic Cloud on Kubernetes
- Kubernetes Across VMware vRealize Automation
- VMware Tanzu Kubernetes Grid
- All the Ways VMware Tanzu Works with AWS
- VMware Tanzu Education
- Using Ansible in a Cloud-Native Kubernetes Environment
- Setting up a Kubernetes cluster using Vagrant and Ansible
- Kubernetes Fluentd
- Understanding the new GitLab Kubernetes Agent
- Intro Local Process with Kubernetes for Visual Studio 2019
- Kubernetes Contributors
- KubeAcademy from VMware
- Scalable Microservices with Kubernetes course from Udacity
- Docker and Kubernetes
- Kubernetes on Microsoft Azure
- Azure Red Hat OpenShift
- Red Hat OpenShift on IBM Cloud
- Kubernetes Playground by Katacoda
- Enable OpenShift Virtualization on Red Hat OpenShift
- YAML basics in Kubernetes
- Running Apache Spark on Kubernetes
- Kubernetes Fluentd
- Kubernetes Tutorials from Pulumi
-
-
Kubernetes Tools, Frameworks, and Projects
-
Interfaces
- Thanos
- Amazon EKS
- AWS Controllers for Kubernetes (ACK) - available Kubernetes applications that utilize AWS services.
- Odo
- Rook - managing, self-scaling, self-healing storage services. It automates the tasks of a storage administrator: deployment, bootstrapping, configuration, provisioning, scaling, upgrading, migration, disaster recovery, monitoring, and resource management.
- Kubespray - sigs/kubespray/blob/master/docs/aws.md), GCE, [Azure](https://github.com/kubernetes-sigs/kubespray/blob/master/docs/azure.md), [OpenStack](https://github.com/kubernetes-sigs/kubespray/blob/master/docs/openstack.md), [vSphere](https://github.com/kubernetes-sigs/kubespray/blob/master/docs/vsphere.md), [Packet](https://github.com/kubernetes-sigs/kubespray/blob/master/docs/packet.md) (bare metal), Oracle Cloud Infrastructure (Experimental), or Baremetal.
- Helm
- Knative - based platform to build, deploy, and manage modern serverless workloads. Knative takes care of the operational overhead details of networking, autoscaling (even to zero), and revision tracking.
- KubeFlow
- Etcd - value store that provides a reliable way to store data that needs to be accessed by a distributed system or cluster of machines. Etcd is used as the backend for service discovery and stores cluster state and configuration for Kubernetes.
- OpenEBS - based tool to create stateful applications using Container Attached Storage.
- Container Storage Interface (CSI) - in.
- MicroK8s - the-air updates for ultra-reliable operations. It is supported on Linux, Windows, and MacOS.
- Lens
- Flux CD
- Platform9 Managed Kubernetes (PMK) - 2 operations with 99.9% SLA on any environment, whether in data-centers, public clouds, or at the edge.
- Container Engine for Kubernetes (OKE) - managed container orchestration service that can reduce the time and cost to build modern cloud native applications. Unlike most other vendors, Oracle Cloud Infrastructure provides Container Engine for Kubernetes as a free service that runs on higher-performance, lower-cost compute.
-
Programming Languages
Categories
Install from Source
1,298
Tools for Self-Hosting
246
Online ML Learning Resources
56
Raspberry Pi Tools
54
Raspberry Pi Learning Resources
53
Differential Privacy Learning Resources
38
Security Tools
35
Ansible Learning Resources
34
Tools for Robotics
33
Kubernetes Tools, Frameworks, and Projects
30
ML frameworks & applications
29
Python Frameworks and Tools
29
Kubernetes Learning Resources
27
C/C++ Tools
27
C/C++ Learning Resources
27
Java Tools & Frameworks
26
Open Source Security Learning Resources
22
XML Learning Resources
21
Swift Learning Resources
21
Swift Tools
20
Rust Tools
19
Ansible DevOps Tools Integration
17
Blockchain Tools, Libraries and Frameworks
17
SQL/NoSQL Learning Resources
16
Node.js Tools
16
Robotics Learning Resources
15
Telco Learning Resources
15
Differential Privacy Tools
12
Grafana Learning Resources
12
Node.js Learning Resources
12
XML Tools and Frameworks
11
Java Learning Resources
11
Docker Tools
11
Python Learning Resources
11
Security Standards, Frameworks and Benchmarks
11
Raspberry Pi Operating Systems
11
Raspberry Pi Upgrades
9
Networking Tools & Concepts
9
Blockchain Learning Resources
9
Grafana Tools
9
Docker Learning Resources
8
Rust Learning Resources
8
SQL/NoSQL Tools and Databases
4
Tools
4
Models of Raspberry Pi boards
3
Network Protocols
2
Operating System
2
License
1
Sub Categories
Interfaces
355
In-memory data grids
342
Nostr
190
Smart Home Automation
105
Setting up WireGuard on Home Assistant
83
Development
53
Databases
52
Cloud
48
Tutorials & Resources
47
Network Tools
43
Operating Systems
40
Configure WDT service
39
Subreddits
39
Containers
37
Monitoring
36
System Hardware
36
Gaming
35
Automation
34
Virtualization
32
Media Server
31
Home Server
25
Pastebins
25
Remote Access
22
Photos
22
Wikis
20
Search
19
Communications
18
Websites/Blogs
18
Storage
17
File systems
17
YouTube Channels
17
Collaboration & Synchronization
17
LLMs
17
Snapshots Management/System Recovery
16
Social
15
Video and Audio Processing
15
Gardening
15
WireGuard Tools
15
Podcasting
14
Voice Assistants
14
Running Locally on Windows, MacOS, and Linux:
14
Setting up WireGuard on OpenWRT
13
DNS
13
SSH
13
Home Assistant integrations
13
Encryption
12
Web servers
12
Analytics
11
ESPHome
11
Configuration Management
11
Backups
11
Security
11
Maps
10
Note-Taking
10
Toolkits
10
iMessage
9
Log Management
9
Video Surveillance
9
Troubleshooting
9
Health
9
BSD
8
Archiving
8
RSS
8
Business Management
8
LDAP
7
Cloud Storage
7
Text-To-Speech Synthesis (TTS)
7
VPN
7
Notifications
7
Dashboards
7
Password Management
7
Bookmarks
7
Service Discovery
6
Homebridge
6
What is Tailscale?
5
CI/CD
5
Home Assistant
5
Foundations/Projects
4
Time Monitoring
4
Back4app Web Deployment
4
Podcasts
4
AudioBooks
3
Books
3
MinIO Object Storage
3
Install ESPHome using Home Assistant
3
The BSD Desktop for the average user
3
Tools to write the Operating System (OS) image to your boot media(microSD card)
2
ChatGPT
2
Turning Raspberry Pi into a Router
2
What is Netmaker?
2
Setting Watchdog Timer (WDT) on Raspberry Pi
1
Install ESPHome using Docker
1
Keywords
nostr
104
python
52
home-assistant
48
docker
42
rust
34
homeassistant
34
self-hosted
30
addon
24
cli
23
addons
23
golang
21
security
20
nodejs
19
kubernetes
19
automation
18
raspberry-pi
16
privacy
15
lovelace
15
javascript
15
machine-learning
14
linux
14
go
14
android
13
ai
13
http
13
swift
12
monitoring
12
java
12
cpp
11
postgresql
11
server
11
typescript
11
containers
10
hacs
10
deep-learning
10
search
10
pastebin
10
wireguard
10
sql
9
devops
9
nostr-protocol
9
home-automation
9
web
9
iot
9
database
9
ios
9
macos
9
node
8
encryption
8
docker-compose
8