| Both sides previous revisionPrevious revisionNext revision | Previous revision |
| guides:self-hosting_guide [2025/11/17 23:54] – wgp | guides:self-hosting_guide [2025/11/18 00:13] (current) – wgp |
|---|
| Setting up something like a home server is a relatively straightforward process; depending on your expectations, it is possible to do it at different levels of complexity. This guide focuses on the relatively simple method (as opposed to a more comprehensive “homelab” running services like Nextcloud—explained [[guides:homeserver|in our separate guide]]), which uses a Linux computer that could be your old laptop you always keep powered on or an old desktop PC, mini-PC, a single board computer like a Raspberry Pi, or anything that can run Linux and has enough juice to run two Docker containers. [[https://www.docker.com/|Docker]] is a containerization (virtualization) system, and an alternative to Docker is [[https://podman.io/|Podman]], and both are part of the Open Container Initiative. You can use the same container images with Docker and Podman. | Setting up something like a home server is a relatively straightforward process; depending on your expectations, it is possible to do it at different levels of complexity. This guide focuses on the relatively simple method (as opposed to a more comprehensive “homelab” running services like Nextcloud—explained [[guides:homeserver|in our separate guide]]), which uses a Linux computer that could be your old laptop you always keep powered on or an old desktop PC, mini-PC, a single board computer like a Raspberry Pi, or anything that can run Linux and has enough juice to run two Docker containers. [[https://www.docker.com/|Docker]] is a containerization (virtualization) system, and an alternative to Docker is [[https://podman.io/|Podman]], and both are part of the Open Container Initiative. You can use the same container images with Docker and Podman. |
| |
| ==== Before the Setup: the Intro ==== | ==== Before the Setup ==== |
| |
| Before getting into the setup, you first have to check your internet connection at home or where you want to set up the server for your website. Generally, to set up a self-hosting website and make your server accessible to traffic on the internet, you need to have a static IP address. This address is then used when someone wants to visit your website. Most, if not all, internet service providers, though, do not give their customers static IP addresses; the static ones are usually reserved for “enterprise,” and it is not possible to get with typical customer internet plans. But no worries, there are still some ways to overcome this issue. You can use VPS, a virtual private server that your home server connects to with its dynamic IP address, and you can direct visitor traffic to your website via this “gateway,” which is one way to solve the problem. Another solution is to use a tool that updates your DNS records every time your dynamic IP address changes. The latter is a more straightforward solution, not requiring a second external server. | Before getting into the setup, you first have to check your internet connection at home or where you want to set up the server for your website. Generally, to set up a self-hosting website and make your server accessible to traffic on the internet, you need to have a static IP address. This address is then used when someone wants to visit your website. Most, if not all, internet service providers, though, do not give their customers static IP addresses; the static ones are usually reserved for “enterprise,” and it is not possible to get with typical customer internet plans. But no worries, there are still some ways to overcome this issue. You can use VPS, a virtual private server that your home server connects to with its dynamic IP address, and you can direct visitor traffic to your website via this “gateway,” which is one way to solve the problem. Another solution is to use a tool that updates your DNS records every time your dynamic IP address changes. The latter is a more straightforward solution, not requiring a second external server. |
| |
| - We start by installing Debian or Ubuntu Server on our PC. Please look for the respective distro’s instructions on how to do this. This guide is based on Debian. | - We start by installing Debian or Ubuntu Server on our PC. Please look for the respective distro’s instructions on how to do this. This guide is based on Debian. |
| - AAfter installing, use a monitor, mouse, keyboard, or [[https://opensource.com/article/20/9/ssh|SSH]] into the PC. | - After installing, use a monitor, mouse, keyboard, or [[https://opensource.com/article/20/9/ssh|SSH]] into the PC. |
| - Install Docker (or Podman). Please look up how to install Docker on your Linux distro. For Debian, you can follow these steps. Setting up Docker’s apt repository: <code> | - Install Docker (or Podman). Please look up how to install Docker on your Linux distro. For Debian, you can follow these steps. Setting up Docker’s apt repository: <code> |
| # Add Docker's official GPG key: | # Add Docker's official GPG key: |