Add Uptime-Kuma introduction, write descriptive alt text site-wide, and fix brand capitalization and filenames with spaces

This commit is contained in:
Djeex
2026-09-07 14:35:25 +02:00
parent eff68287f2
commit 67d593cb73
90 changed files with 380 additions and 376 deletions
@@ -10,7 +10,7 @@ description: Step-by-step guide to install Debian 13 on a home server and set up
The other reason is that it stays out of your way. Appliance systems like Unraid, TrueNAS or Synology's DSM put their own layer on top of Linux, and the day you need something their interface doesn't expose, you're stuck working around it. Debian is just a server: you install what you want, where you want, and nothing is hidden behind someone else's UI. It also happens to be what most self-hosted projects target first, so their docs hand you `apt` commands that work as-is, Docker publishes an official Debian repository, and any error message you paste into a search engine already has years of answers behind it. A minimal install is light enough to leave nearly all the RAM and CPU of a small N100 box to your containers.
![picture](/img/serveex/server.svg)
![Server icon](/img/serveex/server.svg)
## Installation
+2 -2
View File
@@ -12,7 +12,7 @@ A **container** sidesteps the problem: it packages an app together with everythi
**Docker** is the tool that builds, starts and manages these containers. Point it at an *image*, a ready-made snapshot of an app maintained by its developers, and it downloads it and runs it in one command. The rest of Serveex is built entirely on it: every app from here on is one Docker container, or a handful of them working together.
![picture](/img/serveex/docker.svg)
![Diagram of Docker containers running isolated from the host system](/img/serveex/docker.svg)
## Install Docker
::steps{level="3"}
@@ -53,7 +53,7 @@ sudo mkdir /srv/docker
## Install [Dockge](https://github.com/louislam/dockge) to manage and deploy containers
[Dockge](https://github.com/louislam/dockge) is a web tool to create, configure, launch, and manage Docker containers. It's a simple, intuitive interface thats lighter and easier for beginners than using the CLI or Portainer.
![picture](/img/serveex/dockge.png)
![Dockge web interface for managing Docker Compose stacks](/img/serveex/dockge.png)
### Configuration
+5 -5
View File
@@ -1,5 +1,5 @@
---
title: Wireguard
title: WireGuard
description: Install and configure WireGuard VPN to securely access your homelab from anywhere and connect all your devices to your private network.
---
@@ -9,10 +9,10 @@ description: Install and configure WireGuard VPN to securely access your homelab
## Introduction
Using a VPN allows remote access to a servers local resources without exposing them to the internet. Its a clean and secure way to access services like SSH without exposing the port publicly. With a VPN, you can securely connect to your network from anywhere and make devices on different networks communicate.
Here we will use [Wireguard](https://www.wireguard.com/), a secure and high-performance VPN server, using containers:
Here we will use [WireGuard](https://www.wireguard.com/), a secure and high-performance VPN server, using containers:
- [wg-easy](https://github.com/wg-easy/wg-easy) as the server, providing a very simple web UI to manage connections and download config files (including QR codes for phones)
- [Wireguard](https://docs.linuxserver.io/images/docker-wireguard/?h=wireguard) as the client for Linux systems
- [WireGuard](https://docs.linuxserver.io/images/docker-wireguard/?h=wireguard) as the client for Linux systems
Clients are also available for Windows, macOS, iOS, and Android.
@@ -27,7 +27,7 @@ To achieve this, well create a **Virtual Private Network** (VPN), i.e., a sec
Additionally, you can add your phone, laptop, or other devices to the VPN and securely access your server resources wherever you are.
![picture](/img/serveex/vpn.svg)
![Diagram of a VPN tunnel connecting a remote device to the home network](/img/serveex/vpn.svg)
In this diagram, machine 1 is part of two networks:
@@ -276,4 +276,4 @@ Repeat this setup for each client.
And heres the final setup overview:
![picture](/img/serveex/wireguard.svg)
![Diagram of the WireGuard client-server tunnel setup](/img/serveex/wireguard.svg)
+5 -5
View File
@@ -6,7 +6,7 @@ description: Set up SWAG as a reverse proxy with automatic SSL, expose your serv
:ellipsis{left=0px width=40rem top=10rem blur=140px zIndex=60}
[Swag](https://docs.linuxserver.io/general/swag/) is the core of this homelab. Its a powerful reverse proxy that allows you to expose services on the internet using domain names, handling SSL certificate issuance (for encrypted connections), request routing, and access security (via HTTP auth or SSO like Authelia or Authentik). All the necessary documentation is [available here](https://docs.linuxserver.io/general/swag).
[SWAG](https://docs.linuxserver.io/general/swag/) is the core of this homelab. Its a powerful reverse proxy that allows you to expose services on the internet using domain names, handling SSL certificate issuance (for encrypted connections), request routing, and access security (via HTTP auth or SSO like Authelia or Authentik). All the necessary documentation is [available here](https://docs.linuxserver.io/general/swag).
::warning{to="/serveex/core/wireguard"}
@@ -17,7 +17,7 @@ Below is an example exposing Dockge. We will install SWAG along with the dbip mo
**Reverse proxy principle and its application in our case:**
![Picture](/img/serveex/reverse-proxy.svg)
![Diagram of a reverse proxy forwarding requests to the right backend service](/img/serveex/reverse-proxy.svg)
## Installation
@@ -161,7 +161,7 @@ Save with :kbd{value="Ctrl+O"}, then :kbd{value="Enter"}, and exit with :kbd{val
### Enable DBIP in nginx.conf
Now configure swag to access DBIP, the geolocation-based access control module. Open the `nginx.conf` file:
Now configure SWAG to access DBIP, the geolocation-based access control module. Open the `nginx.conf` file:
```bash [Terminal]
sudo nano /srv/docker/swag/config/nginx/nginx.conf
@@ -182,7 +182,7 @@ Restart the stack in Dockge. This time, the SSL certificate should be successful
Access the dashboard locally by going to `http://yourserverip:81`
On the left, you'll see a list of currently "proxied" services (none yet). On the right, the list of banned IPs. Below, various indicators. For more details, [click here](https://www.linuxserver.io/blog/introducing-swag-dashboard).
![picture](/img/serveex/swag-dashboard.png)
![SWAG dashboard showing proxied services and banned IPs](/img/serveex/swag-dashboard.png)
## DBIP
DBIP allows you to block connections based on countries. It relies on the configuration file named `dbip.conf` located in `/srv/docker/swag/config/nginx`. [More info here](https://virtualize.link/secure/).
@@ -290,7 +290,7 @@ Now it's time to expose Dockge on the internet so you can access and manage your
::warning
Dockge does not support multi-factor authentication. Exposing it online could compromise all connected machines. Only do this if you're using an MFA solution like [TinyAuth](/serveex/security/tinyauth) or [Authentik](/serveex/advanced/authentik/). Otherwise, dont expose it with SWAG. Use a VPN like [Wireguard](/serveex/core/wireguard) instead.
Dockge does not support multi-factor authentication. Exposing it online could compromise all connected machines. Only do this if you're using an MFA solution like [TinyAuth](/serveex/security/tinyauth) or [Authentik](/serveex/advanced/authentik/). Otherwise, dont expose it with SWAG. Use a VPN like [WireGuard](/serveex/core/wireguard) instead.
::
::steps{level="3"}