@@ -58,7 +56,6 @@ Consider:
For low-power home servers or NAS (non-intensive computing), consider Intel N100/150 (4 cores) or N305/N355 (8 cores)—efficient and low power (ideal for 24/7 uptime).
## RAM
----

diff --git a/content/en/2.general/3.hardware/2.network.md b/content/en/2.general/3.hardware/2.network.md
index 2324ffa..c803130 100644
--- a/content/en/2.general/3.hardware/2.network.md
+++ b/content/en/2.general/3.hardware/2.network.md
@@ -18,7 +18,6 @@ Understand the basics of networking hardware
A computer network cannot exist without the hardware required to build it. Hardware determines the size of the network, communication speeds, and its overall performance. In this article, we will focus on the simplest types of networks, typically found in home environments.
## The Router
----
The __router__ is the central hub of your network. It directs __packets__—the blocks of data that travel across your network—from the sender to the appropriate recipient. It manages the routing of data both within your local network and to/from external networks. In short, it enables devices to communicate with each other and with the internet.
Everyone has a router at home—it's the __internet box__ provided by your ISP (Internet Service Provider).
@@ -41,7 +40,6 @@ You can easily use a third-party router to manage your network if your ISP’s i
::
## The Switch
----
The __switch__, or network switch, is a device that allows multiple devices to connect to the network. It acts as a literal hub, connecting directly to the router or to another switch upstream. It helps avoid overloading the switch ports on your router or relocating devices to another room without running a cable from each one back to the router. Another common use case is to segment multiple networks that are managed by the same router.
@@ -56,7 +54,6 @@ __Warning:__ Make sure to use a switch with ports that match the speeds supporte
::
## Cables
----
Cables are essential components of your network. Depending on their type and category, they can limit the bandwidth between devices, so they must be chosen to match your network's specifications. They also need to be compatible with your devices' ports.
diff --git a/content/en/3.serveex/1.introduction.md b/content/en/3.serveex/1.introduction.md
index 8e0aceb..e7798ff 100644
--- a/content/en/3.serveex/1.introduction.md
+++ b/content/en/3.serveex/1.introduction.md
@@ -186,7 +186,6 @@ Install and deploy Vaultwarden
::
## Coming Soon
----
- Homepage, to have all your services at a glance and access them easily
- Mkdocs for your documentation
diff --git a/content/en/3.serveex/2.core/1.installation.md b/content/en/3.serveex/2.core/1.installation.md
index d3fd651..5d2bb03 100644
--- a/content/en/3.serveex/2.core/1.installation.md
+++ b/content/en/3.serveex/2.core/1.installation.md
@@ -13,7 +13,6 @@ description: Step-by-step guide to install Debian 13 on a home server and set up

## Installation
----
1. [BIOS Setup](https://www.debian.org/releases/stable/i386/ch03s06.en.html#bios-setup)
2. [Download Debian Image](https://www.debian.org/download.en.html)
@@ -41,7 +40,6 @@ description: Step-by-step guide to install Debian 13 on a home server and set up
9. Optional - [Wake Server Remotely (WoW - WoL)](https://dev.to/zakery1369/enable-wake-on-lan-on-debian-4ljd)
## Must-Have CLI Apps
----
Some essential apps you’ll likely need at some point, so might as well install them early:
```sh
sudo apt update
@@ -55,7 +53,6 @@ Additionally:
- [lazydocker](https://github.com/jesseduffield/lazydocker) - CLI Docker container manager
## Useful Features
----
### Firewall
- [ufw](https://www.zenarmor.com/docs/network-security-tutorials/how-to-set-up-a-firewall-with-ufw-on-debian)
diff --git a/content/en/3.serveex/2.core/2.docker.md b/content/en/3.serveex/2.core/2.docker.md
index a60fa71..806b247 100644
--- a/content/en/3.serveex/2.core/2.docker.md
+++ b/content/en/3.serveex/2.core/2.docker.md
@@ -20,7 +20,6 @@ Docker, to install deployable services in seconds and manage them with just a fe

## Install Docker
----
Add the Docker repositories and GPG key:
```sh
@@ -55,7 +54,6 @@ From here on, we assume the stacks are installed in the `/docker` folder, create
::
## 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 that’s lighter and easier for beginners than using the CLI or Portainer.

@@ -123,7 +121,6 @@ More info on [Dockge and how to use it](https://github.com/louislam/dockge)
And there you go — Docker and a tool to easily manage your containers are ready!
## [Watchtower](https://watchtower.nickfedor.com/), to auto-update containers
----
Watchtower is a container that checks for updates and pulls new images automatically, just by adding a label in your containers’ `compose.yml` files.
### Configuration
diff --git a/content/en/3.serveex/2.core/3.swag.md b/content/en/3.serveex/2.core/3.swag.md
index 05dad96..2472b4d 100644
--- a/content/en/3.serveex/2.core/3.swag.md
+++ b/content/en/3.serveex/2.core/3.swag.md
@@ -31,7 +31,6 @@ Below is an example exposing Dockge. We will install SWAG along with the dbip mo

## Installation
----
::note
@@ -182,14 +181,12 @@ include /config/nginx/dbip.conf;
Restart the stack in Dockge. This time, the SSL certificate should be successfully generated! Check the logs to confirm the server is ready.
## Dashboard
----
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).

## DBIP
----
DBIP allows you to block connections based on countries. It relies on the configuration file named `dbip.conf` located in `/docker/swag/config/nginx`. [More info here](https://virtualize.link/secure/).
In this example, we’ll configure it to block a list of countries known to be the source of most malicious traffic. We’ll also configure a variable to allow internal server traffic, your box’s local network, and a potential VPN in the 10.x.x.x range to access your services — but not the open internet.
@@ -267,7 +264,6 @@ server {
```
## Exposing Dockge
----
::note
đź“‹ __Prerequisite:__
We assume that you have created a subdomain like `dockge.mydomain.com` in your [DNS zone](/general/networking/dns), with a `CNAME` pointing to `mydomain.com` and — unless you're using [Cloudflare Zero Trust](/serveex/security/cloudflare) — that you've forwarded port `443` from your router to the server's `443` in [your NAT rules](/general/networking/nat).
@@ -363,7 +359,6 @@ Redeploy the SWAG stack.
Wait a moment, then visit `https://dockge.mydomain.com` in your browser — you should be redirected to Dockge. You can also check the service status from the dashboard (`http://yourserverip:81` on your local network).
## Exposing Another Service with SWAG
----
SWAG includes templates for most known services, named `servicename.subdomain.conf.sample`. Just create the subdomain in your registrar's DNS zone (like OVH), point it to your main domain via a CNAME, then copy and rename the sample file:
```sh
diff --git a/content/en/3.serveex/3.security/1.wireguard.md b/content/en/3.serveex/3.security/1.wireguard.md
index 62ff424..f38935b 100644
--- a/content/en/3.serveex/3.security/1.wireguard.md
+++ b/content/en/3.serveex/3.security/1.wireguard.md
@@ -16,7 +16,6 @@ description: Install and configure WireGuard VPN to securely access your homelab
::
## Introduction
----
Using a VPN allows remote access to a server’s local resources without exposing them to the internet. It’s 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:
@@ -49,7 +48,6 @@ You *can* allow VPN clients to share access to their local networks, but we won
So only VPN-connected devices can communicate with each other on the VPN, not with other local devices outside the VPN.
## Server Setup
----
::note
đź“‹ **Pre-flight Checklist:**
@@ -168,7 +166,6 @@ To configure clients:
5. Save, download, and rename the file to `wg0.conf` (or `wg1.conf`, etc.)
## Client Server Setup
----
::note
We assume the client server runs Linux with Docker installed.
@@ -244,7 +241,6 @@ Repeat this setup for each client.
::
## Other Devices
----
- **Mobile:** Install WireGuard and scan the QR code via the web UI (`http://server-ip:51821`)
- **Desktop:** Install the WireGuard client and import the downloaded config file.
diff --git a/content/en/3.serveex/3.security/2.authentik.md b/content/en/3.serveex/3.security/2.authentik.md
index d41b426..cfe175a 100644
--- a/content/en/3.serveex/3.security/2.authentik.md
+++ b/content/en/3.serveex/3.security/2.authentik.md
@@ -38,7 +38,6 @@ There are two main modes you should know:
Both modes can be configured on a per-application basis.
## Installation
----
Folder structure:
```sh
root
@@ -202,7 +201,6 @@ __Warning:__ It’s recommended to create a new admin account and **disable** th
::
## Exposing Authentik
----
To use Authentik outside your local network, you must expose it.
::note
@@ -299,7 +297,6 @@ Restart the stack and wait for SWAG to be fully operational.
Done! You can now access Authentik via `https://auth.mydomain.com`
## Enable Multifactor Authentication
----
The main value of Authentik is using multifactor authentication for all protected apps.
- Go to `https://auth.mydomain.com`
@@ -313,11 +310,9 @@ The main value of Authentik is using multifactor authentication for all protecte
You’ll now be prompted to enter a one-time code at every login.
## Protecting a Native App
----
Authentik is natively compatible with several applications. You can find the list and [support here](https://docs.goauthentik.io/integrations/services/).
## Protecting an App via Reverse Proxy
----
SWAG lets you insert Authentik’s login page between a request and access to your service. To do this:
- Configure the authentication provider in Authentik.
@@ -372,7 +367,6 @@ Your new architecture looks like this:

## Protecting a Remote Server Service
----
For a [native application](/serveex/security/authentik/#protecting-a-native-app) (via OAuth 2.0 or other), nothing changes.
For a non-native app behind a reverse proxy, you must deploy an __Outpost__. An Outpost is a container acting as a local proxy — it's the target of your app's auth requests and the only one authorized to communicate with your Authentik API.
@@ -562,7 +556,6 @@ Save with :kbd{value="Ctrl+O"}, then :kbd{value="Enter"}, and exit with :kbd{val
Then configure the applications to protect as you did on your main server, whether they are [native](/serveex/security/authentik/#protecting-a-native-app) or protected via [reverse proxy](/serveex/security/authentik#protecting-an-app-via-reverse-proxy).
## Migrating an Authentik Database
----
On the source machine, dump the database:
```sh
diff --git a/content/en/3.serveex/3.security/3.cloudflare.md b/content/en/3.serveex/3.security/3.cloudflare.md
index 159e209..baffb6c 100644
--- a/content/en/3.serveex/3.security/3.cloudflare.md
+++ b/content/en/3.serveex/3.security/3.cloudflare.md
@@ -19,7 +19,6 @@ description: Use Cloudflare Tunnels and Zero Trust to expose homelab services wi

## Introduction
----
The _Zero Trust_ architecture is the practice of designing systems based on the principle of __"never trust, always verify"__, as opposed to the traditional principle of __"trust, but verify"__. This concept has become increasingly popular recently due to the growing number of attacks targeting user data. It’s a broad concept, but we’ll focus on how to apply _Zero Trust_ to the web services we host.
_Cloudflare tunnels_ offer a simple way to implement _Zero Trust_, using [SWAG](/serveex/core/swag) and [Authentik](/serveex/security/authentik).
@@ -43,7 +42,6 @@ Here we’ll explain how to integrate SWAG with Cloudflare tunnels.
::
## Cloudflare Configuration
----
### DNS Zone
First, you need to set Cloudflare as your [DNS zone](/general/networking/dns) manager. If you bought your domain from Cloudflare, that’s already done. Otherwise, check with your registrar how to add external DNS servers. Cloudflare provides [step-by-step documentation](https://developers.cloudflare.com/dns/zone-setups/full-setup/setup/) on how to configure a DNS Zone, whether your domain is external or registered with Cloudflare.
@@ -75,7 +73,6 @@ You must register for _Cloudflare Teams_ to access the _Zero Trust_ dashboard th
Register [via this link](https://dash.teams.cloudflare.com/).
## SWAG Configuration
----
::note
This guide assumes you own `mondomaine.fr` and that its DNS is correctly pointing to Cloudflare, as described above.
@@ -231,7 +228,6 @@ Then confirm your tunnel appears under _Networks > Tunnels_ in [Cloudflare Zero
::
## Managing Multiple Tunnels for Multiple Servers
----
By default, all subdomains of your domain are routed through the single tunnel. But if you have a second server, just change the tunnel name in that SWAG instance.
In your DNS zone, redirect subdomains to the correct tunnel.
diff --git a/content/en/3.serveex/4.monitoring/1.uptime-kuma.md b/content/en/3.serveex/4.monitoring/1.uptime-kuma.md
index 2cb86ce..874ec12 100644
--- a/content/en/3.serveex/4.monitoring/1.uptime-kuma.md
+++ b/content/en/3.serveex/4.monitoring/1.uptime-kuma.md
@@ -20,7 +20,6 @@ description: Install Uptime-Kuma to monitor your self-hosted services uptime, se

## Installation
----
Folder structure
```sh
diff --git a/content/en/3.serveex/4.monitoring/2.dozzle.md b/content/en/3.serveex/4.monitoring/2.dozzle.md
index b90ab1c..cf1d39c 100644
--- a/content/en/3.serveex/4.monitoring/2.dozzle.md
+++ b/content/en/3.serveex/4.monitoring/2.dozzle.md
@@ -19,7 +19,6 @@ description: Install Dozzle to monitor Docker container logs in real time from a

## Installation
----
Folder structure
```sh
@@ -73,7 +72,6 @@ DOMAIN=dozzle.mydomain.com
Deploy the container. Go to `http://yourserverip:9135`. VoilĂ , your Dozzle web UI is up and running!
## Exposing Dozzle with Swag
----
::warning
diff --git a/content/en/3.serveex/4.monitoring/3.speedtest-tracker.md b/content/en/3.serveex/4.monitoring/3.speedtest-tracker.md
index 51c6c9f..d04fd9a 100644
--- a/content/en/3.serveex/4.monitoring/3.speedtest-tracker.md
+++ b/content/en/3.serveex/4.monitoring/3.speedtest-tracker.md
@@ -19,7 +19,6 @@ description: Install Speedtest Tracker to automatically measure and log your int

## Installation
----
::note
We will use the Docker image maintained by [LinuxServer.io](https://docs.linuxserver.io/images/docker-speedtest-tracker/)
@@ -91,7 +90,6 @@ PORT=3225 # port to access the web UI
Deploy the container and go to `http://yourserverip:3225`. Log in with the account `admin@exemple.com` and the password `password`. Don’t forget to change your ID and password once logged in!
## Expose Speedtest Tracker
----
::note
đź“‹ **Prerequisites:**
We assume that you've already created a subdomain like `speedtest.yourdomain.com` in your [DNS zone](/general/networking/dns) with a `CNAME` pointing to `yourdomain.com`, and [unless you’re using Cloudflare Zero Trust](/serveex/security/cloudflare), you've also forwarded port `443` from your router to port `443` of your server in your [NAT rules](/general/networking/nat).
diff --git a/content/en/3.serveex/4.monitoring/4.beszel.md b/content/en/3.serveex/4.monitoring/4.beszel.md
index f900710..80656d8 100644
--- a/content/en/3.serveex/4.monitoring/4.beszel.md
+++ b/content/en/3.serveex/4.monitoring/4.beszel.md
@@ -23,7 +23,6 @@ Beszel includes a hub with a web UI and an agent that collects data from your se

## Installation
----
Folder structure
@@ -147,7 +146,6 @@ __If it fails:__ check your firewall rules.
::
## Expose Beszel with Swag
----
::warning
diff --git a/content/en/3.serveex/4.monitoring/5.upsnap.md b/content/en/3.serveex/4.monitoring/5.upsnap.md
index d72532e..26e87ff 100644
--- a/content/en/3.serveex/4.monitoring/5.upsnap.md
+++ b/content/en/3.serveex/4.monitoring/5.upsnap.md
@@ -19,7 +19,6 @@ description: Install UpSnap to remotely wake up machines on your local network v

## Installation
----
Folder structure
@@ -86,7 +85,6 @@ __If it fails:__ check your firewall rules.
::
## Exposing UpSnap with Swag
----
::warning
diff --git a/content/en/3.serveex/5.media/1.plex.md b/content/en/3.serveex/5.media/1.plex.md
index b78cfd8..fe4c306 100644
--- a/content/en/3.serveex/5.media/1.plex.md
+++ b/content/en/3.serveex/5.media/1.plex.md
@@ -32,7 +32,6 @@ You’ll need to create a *Plex.tv* account. You don’t need to expose your Ple
::
## Install Plex
----
Folder structure:
```sh
root
@@ -144,7 +143,6 @@ You must be on your local network during Plex's initial setup. Otherwise, the UR
::
## Configure Plex
----
Plex offers a range of free movies/shows. After creating your account, I recommend disabling everything in the _Online Services_ section to keep your library clean.
Then go to the _Remote Access_ section and manually select a port (we’ll use `1234`). It's best not to use the default port.
@@ -173,7 +171,6 @@ If your media is stored on a network disk (e.g. NAS or external hard drive over
::
## Expose Tautulli with Swag
----
You don’t need to expose Plex, as it's accessible via your Plex account on plex.tv.
However, you may want to expose Tautulli so you can view stats from a simple URL when you're not home.
diff --git a/content/en/3.serveex/5.media/2.qbittorrent.md b/content/en/3.serveex/5.media/2.qbittorrent.md
index 8ce1102..3271d5f 100644
--- a/content/en/3.serveex/5.media/2.qbittorrent.md
+++ b/content/en/3.serveex/5.media/2.qbittorrent.md
@@ -29,7 +29,6 @@ Here’s the system we’ll set up:

## Configuration
----
Folder structure
```sh
@@ -192,7 +191,6 @@ Detailed info:
| `PW` | Qbittorrent UI password | `password` |
## Deployment
----
Once done, deploy the container.
::warning
@@ -214,7 +212,6 @@ You're done! In Qbittorrent settings, under "Downloads", set `/media/downloads`
When adding a download, remember to select the proper directory so Plex can sync correctly (`/media/movies` or `/media/tvseries`). You can also automate this with categories and folders.
## Exposing the Web UI
----
::warning
diff --git a/content/en/3.serveex/5.media/3.servarr.md b/content/en/3.serveex/5.media/3.servarr.md
index 75a3456..90b796d 100644
--- a/content/en/3.serveex/5.media/3.servarr.md
+++ b/content/en/3.serveex/5.media/3.servarr.md
@@ -25,7 +25,6 @@ Simple.
We’ll start by deploying the stack and then proceed to configure each app and understand how they work.
## Install the Apps
----
### Docker Compose
@@ -232,7 +231,6 @@ MEDIA_PATH=
Deploy the stack.
### Configure Radarr
----
Radarr queries your torrent sources and lets you define the type of releases to prioritize. It can also upgrade your movies if a better version is available.
@@ -284,7 +282,6 @@ Go to *Settings > Connect*, add a new connection and choose *Plex Media Server*.
- Go to *Settings > General* and copy your *API Key* for later use.
### Configure Sonarr
----
Sonarr queries torrent sources and defines what kind of TV series releases to prioritize. It also upgrades series when better versions are available.
@@ -297,7 +294,6 @@ __If it fails:__ check your firewall rules.
::
### Configure Prowlarr
----
Prowlarr acts as a proxy to manage your torrent indexers and link them to Radarr and Sonarr.
@@ -322,7 +318,6 @@ In *Settings > Apps*, add Radarr and Sonarr with the following details:
- Click *Test*, then *Save* if all goes well.
### Configuring Bazarr
----
Bazarr is an app that automatically searches for the correct subtitles in your preferred languages for all the movies and TV shows added by Radarr and Sonarr.
Go to `http://yourserverip:6767`.
@@ -364,7 +359,6 @@ Go to *Settings > General* and create a username and password using *forms login
Repeat the same steps for Radarr.
### Configuring Overseerr
----
[Overseerr](https://overseerr.dev/) is an app that lets you browse a movie catalog and send requests to Sonarr and Radarr. Just browse movies or series, click *Request*, and the media will automatically be downloaded according to your Radarr or Sonarr settings. If the title hasn’t been released yet, it will be downloaded automatically when available. This way, episodes of a series appear in Plex without any manual intervention.
@@ -416,7 +410,6 @@ If the test succeeds, continue filling in the fields:
And that’s it! Just request a movie or series, then check in qBittorrent or Radarr/Sonarr. Within a few minutes, your media will be available on Plex!
## Exposing Overseerr with SWAG
----
It can be useful to expose Overseerr if you want to send requests from outside your network without a VPN, or if you've shared your Plex library with others and want them to have Overseerr access.
diff --git a/content/en/3.serveex/6.cloud/1.immich.md b/content/en/3.serveex/6.cloud/1.immich.md
index e0e9bc6..7da4258 100644
--- a/content/en/3.serveex/6.cloud/1.immich.md
+++ b/content/en/3.serveex/6.cloud/1.immich.md
@@ -16,7 +16,6 @@ description: Install Immich, a self-hosted alternative to Google Photos and iClo

## Installation
----
Folder structure
```sh
@@ -51,7 +50,6 @@ Deploy the container.
You're done! You can connect and follow the setup instructions at `http://yourserverip:2283`.
## Exposing Immich with SWAG
----
The main benefit of this setup is being able to access Immich remotely on all your devices. We'll expose Immich using SWAG.
::note
diff --git a/content/en/3.serveex/6.cloud/2.nextcloud.md b/content/en/3.serveex/6.cloud/2.nextcloud.md
index 5104822..6b8f331 100644
--- a/content/en/3.serveex/6.cloud/2.nextcloud.md
+++ b/content/en/3.serveex/6.cloud/2.nextcloud.md
@@ -16,7 +16,6 @@ description: Install Nextcloud to self-host your files, photos, and calendar —

## Installation
----
::note
We'll be using the Docker image maintained by [LinuxServer.io](https://docs.linuxserver.io/images/docker-nextcloud/)
@@ -84,7 +83,6 @@ __If it fails:__ check your firewall rules.
::
## Exposing Nextcloud with Swag
----
The goal of this setup is to access Nextcloud remotely from all your devices. We’ll use Swag to expose the app.
::note
diff --git a/content/en/3.serveex/7.files/1.file-browser.md b/content/en/3.serveex/7.files/1.file-browser.md
index 9282ca4..c1062c5 100644
--- a/content/en/3.serveex/7.files/1.file-browser.md
+++ b/content/en/3.serveex/7.files/1.file-browser.md
@@ -19,7 +19,6 @@ description: Install File Browser to browse and manage your server files from a

## Installation
----
Open Dockge, click on `compose`, name the stack `filebrowser`, then copy and paste the following:
```yaml
@@ -58,7 +57,6 @@ __If it doesn’t work:__ check your firewall rules.
::
## Exposing File Browser with Swag
----
::warning
diff --git a/content/en/3.serveex/7.files/2.pingvin.md b/content/en/3.serveex/7.files/2.pingvin.md
index 4c9cbc4..1649895 100644
--- a/content/en/3.serveex/7.files/2.pingvin.md
+++ b/content/en/3.serveex/7.files/2.pingvin.md
@@ -19,7 +19,6 @@ description: Install Pingvin Share, a self-hosted file sharing platform to send

## Installation
----
Open Dockge, click `compose`, name the stack `pingvin`, then copy-paste this:
```yaml
@@ -80,7 +79,6 @@ __If it fails:__ check your firewall rules.
::
## Exposing Pingvin with Swag
----
The whole point of a solution like this is being able to access it remotely, from all your devices. To do this, we'll expose Pingvin through Swag.
::note
diff --git a/content/en/3.serveex/8.development/1.code-server.md b/content/en/3.serveex/8.development/1.code-server.md
index 3b771e4..35bacb3 100644
--- a/content/en/3.serveex/8.development/1.code-server.md
+++ b/content/en/3.serveex/8.development/1.code-server.md
@@ -20,7 +20,6 @@ description: Install code-server to run VS Code in your browser from your homela

## Installation
----
::note
For this setup, we’ll use the [image maintained by LinuxServer.io](https://docs.linuxserver.io/images/docker-code-server/).
@@ -107,7 +106,6 @@ __If it fails:__ check your firewall rules.
::
## Mount Folders
----
You can mount folders into VS Code by adding the relevant volumes in `compose.yaml` (or via Dockge), then redeploy the container.
```yaml
@@ -121,7 +119,6 @@ services:
Once inside VS Code, you'll have access to the mounted folder.
## Expose code-server with Swag
----
The whole point of such a solution is to access it remotely from any device. To do this, we’ll expose code-server via Swag.
::note
diff --git a/content/en/3.serveex/8.development/2.gitea.md b/content/en/3.serveex/8.development/2.gitea.md
index 8ffa996..6c40f3a 100644
--- a/content/en/3.serveex/8.development/2.gitea.md
+++ b/content/en/3.serveex/8.development/2.gitea.md
@@ -19,7 +19,6 @@ description: Install Gitea, a lightweight self-hosted Git service to manage your

## Installation
----
Folder structure
```sh
@@ -73,7 +72,6 @@ __If it fails:__ check your firewall rules.
::
## Exposing Gitea with Swag
----
The benefit of this setup is being able to access it remotely from any of your devices. To do so, we’ll expose Gitea through Swag.
::note
diff --git a/content/en/3.serveex/8.development/3.it-tools.md b/content/en/3.serveex/8.development/3.it-tools.md
index 815533f..f2b6b25 100644
--- a/content/en/3.serveex/8.development/3.it-tools.md
+++ b/content/en/3.serveex/8.development/3.it-tools.md
@@ -19,7 +19,6 @@ description: Install IT Tools, a self-hosted collection of handy utilities for d

## Installation
----
Open Dockge, click on `compose`, name the stack `it-tools`, and paste the following:
@@ -56,7 +55,6 @@ __If it fails:__ check your firewall rules.
::
## Expose IT Tools with Swag
----
You might want to access it remotely on all your devices. To do that, we'll expose IT Tools using Swag.
::note
diff --git a/content/en/3.serveex/9.apps/1.adguard.md b/content/en/3.serveex/9.apps/1.adguard.md
index 88fea03..986f49e 100644
--- a/content/en/3.serveex/9.apps/1.adguard.md
+++ b/content/en/3.serveex/9.apps/1.adguard.md
@@ -38,7 +38,6 @@ This is how ads and malicious domains are blocked—Adguard blocks only the bad

## Installation
----
Folder structure:
```sh
@@ -101,7 +100,6 @@ Go to `http://yourserverip:3000` and follow the setup instructions.
That’s it! Adguard is deployed.
## Exposing AdGuard with SWAG
----
To make AdGuard usable from outside your home network, you need to expose it.
::note
@@ -242,7 +240,6 @@ Press :kbd{value="Ctrl+O"}, then :kbd{value="Enter"} to save, and :kbd{value="Ct
And that's it! AdGuard is now exposed!
## Configure SSL/TLS Encryption
----
Encryption is essential if you want to keep your queries to AdGuard private. Encrypting your queries ensures that no one—not even your ISP—can see your history. It also ensures that only your server can respond to you.
To configure encryption:
@@ -261,7 +258,6 @@ To configure encryption:
Done! Your future DNS queries are now protected!
## Configure Devices
----
You have several options (which you can combine) to configure your devices.
### Secure the Local Network
You can secure your local network with AdGuard by configuring your router to direct all DNS queries by default to AdGuard instead of your ISP’s DNS. Note: your router must allow DNS changes (Orange routers do not).
@@ -299,6 +295,5 @@ In Windows, you need to configure AdGuard for each network adapter you want to u
All programs using that network adapter will now be filtered by AdGuard.
## Add Filters
----
- Go to the settings and change the filters.
diff --git a/content/en/3.serveex/9.apps/2.vaultwarden.md b/content/en/3.serveex/9.apps/2.vaultwarden.md
index d04a817..8082f2d 100644
--- a/content/en/3.serveex/9.apps/2.vaultwarden.md
+++ b/content/en/3.serveex/9.apps/2.vaultwarden.md
@@ -18,7 +18,6 @@ description: Install Vaultwarden, a self-hosted Bitwarden-compatible password ma
Vaultwarden is a fork of [Bitwarden](https://bitwarden.com/fr-fr/help/).
## Installation
----
Folder structure:
```sh
@@ -108,7 +107,6 @@ __If it fails:__ check your firewall rules.
::
## Exposing Vaultwarden with SWAG
----
The main benefit of Vaultwarden is being able to access it remotely from any device. We'll expose it through [SWAG](/serveex/core/swag).
::note
diff --git a/content/en/5.nonsense/1.python/1.nvidia-stock-bot.md b/content/en/5.nonsense/1.python/1.nvidia-stock-bot.md
index 4b5202c..e8b4fd9 100644
--- a/content/en/5.nonsense/1.python/1.nvidia-stock-bot.md
+++ b/content/en/5.nonsense/1.python/1.nvidia-stock-bot.md
@@ -6,7 +6,6 @@ description: A Python bot that monitors GPU stock availability in real time and
:ellipsis{left=0px width=40rem top=10rem blur=140px zIndex=60}
# 🤖 Nvidia Stock Bot
----
For the past four years, the electronics hardware shortage has been relentless. Graphics cards are no exception. In 2020, I had to wait two months to get my RTX 3080. To manage it, I joined [JV Hardware](https://discord.gg/gxffg3GA96), where a small group of geeks had set up a bot that pinged users when GPUs became available.
diff --git a/content/en/5.nonsense/1.python/2.adguard-cidre.md b/content/en/5.nonsense/1.python/2.adguard-cidre.md
index 629cf2d..11dcc39 100644
--- a/content/en/5.nonsense/1.python/2.adguard-cidre.md
+++ b/content/en/5.nonsense/1.python/2.adguard-cidre.md
@@ -6,7 +6,6 @@ description: A Python script to sync AdGuard Home CIDR allowlists automatically,
:ellipsis{left=0px width=40rem top=10rem blur=140px zIndex=60}
# 🤖 Adguard CIDRE Sync
----
Adguard Home is a fantastic solution for DNS-level ad blocking and rewriting requests—perfect for removing ISP DNS trackers or intrusive ads.
diff --git a/content/en/5.nonsense/2.bash/1.servarr-duplicates.md b/content/en/5.nonsense/2.bash/1.servarr-duplicates.md
index 66c0cc3..b88b8b7 100644
--- a/content/en/5.nonsense/2.bash/1.servarr-duplicates.md
+++ b/content/en/5.nonsense/2.bash/1.servarr-duplicates.md
@@ -6,7 +6,6 @@ description: A bash script to detect and fix duplicate media files in Sonarr and
:ellipsis{left=0px width=40rem top=10rem blur=140px zIndex=60}
# Servarr duplicates corrector
----
Six months after downloading terabytes of media, I realized that Sonarr and Radarr were copying them into my Plex library instead of creating hardlinks. This happens due to a counterintuitive mechanism: if you mount multiple folders in Sonarr/Radarr, it sees them as different filesystems and thus cannot create hardlinks. That’s why you should mount only one parent folder containing all child folders (like `downloads`, `movies`, `tvseries` inside a `media` parent folder).
diff --git a/content/en/5.nonsense/2.bash/2.luks-backup.md b/content/en/5.nonsense/2.bash/2.luks-backup.md
index bcb7a50..8019e8a 100644
--- a/content/en/5.nonsense/2.bash/2.luks-backup.md
+++ b/content/en/5.nonsense/2.bash/2.luks-backup.md
@@ -6,7 +6,6 @@ description: A bash script to automatically dump LUKS headers from all encrypted
:ellipsis{left=0px width=40rem top=10rem blur=140px zIndex=60}
# Backup of LUKS Headers for Encrypted Disks/Volumes
----
I recently realized that having just the password is not enough to unlock a LUKS volume after a failure or corruption. I learned how to dump the LUKS headers from disks/volumes and to use the serial numbers along with partition names to accurately identify which header corresponds to which disk/partition (I have 10 of them!).
diff --git a/content/en/5.nonsense/2.bash/3.socat-proxy.md b/content/en/5.nonsense/2.bash/3.socat-proxy.md
index f851645..9b586c4 100644
--- a/content/en/5.nonsense/2.bash/3.socat-proxy.md
+++ b/content/en/5.nonsense/2.bash/3.socat-proxy.md
@@ -6,7 +6,6 @@ description: Use socat to proxy the Docker socket through Docker Socket Proxy, a
:ellipsis{left=0px width=40rem top=10rem blur=140px zIndex=60}
# Socat Proxy
----
This project addresses a common use case:
diff --git a/content/en/5.nonsense/2.bash/4.hotdisk.md b/content/en/5.nonsense/2.bash/4.hotdisk.md
index e51182b..813be44 100644
--- a/content/en/5.nonsense/2.bash/4.hotdisk.md
+++ b/content/en/5.nonsense/2.bash/4.hotdisk.md
@@ -6,7 +6,6 @@ description: A bash script that monitors hard drive temperatures and automatical
:ellipsis{left=0px width=40rem top=10rem blur=140px zIndex=60}
# HotDisk
----
When you have a NAS with several drives sitting in a laundry room, temperatures can quickly rise.
Hard drives are very sensitive to heat and can suffer serious damage if they exceed a certain temperature threshold for too long.
diff --git a/content/en/5.nonsense/2.bash/5.backrest-docker-stop.md b/content/en/5.nonsense/2.bash/5.backrest-docker-stop.md
index 413b0db..04f8cca 100644
--- a/content/en/5.nonsense/2.bash/5.backrest-docker-stop.md
+++ b/content/en/5.nonsense/2.bash/5.backrest-docker-stop.md
@@ -6,7 +6,6 @@ description: A bash script that stops Docker containers before a Backrest backup
:ellipsis{left=0px width=40rem top=10rem blur=140px zIndex=60}
# Backrest Docker Stop
----
[Backrest](https://github.com/garethgeorge/backrest) is a fantastic backup tool. In the case of [Serveex](https://docu.djeex.fr/en/serveex/introduction), most of the data that needs to be backed up consists of containers, and those containers often include databases.
diff --git a/content/en/6.recycled/1.deprecated/1.wireguard-14.md b/content/en/6.recycled/1.deprecated/1.wireguard-14.md
index 40974e4..97e6a1b 100644
--- a/content/en/6.recycled/1.deprecated/1.wireguard-14.md
+++ b/content/en/6.recycled/1.deprecated/1.wireguard-14.md
@@ -15,7 +15,6 @@ title: Wireguard 14
::
## Introduction
----
Using a VPN allows remote access to a server’s local resources without exposing them to the internet. It’s 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:
@@ -48,7 +47,6 @@ You *can* allow VPN clients to share access to their local networks, but we won
So only VPN-connected devices can communicate with each other on the VPN, not with other local devices outside the VPN.
## Server Side
----
::note
đź“‹ __Checklist:__
@@ -168,7 +166,6 @@ If it fails, check firewall rules.
::
## On the Client Server
----
::note
Assumes the client is a Linux server with Docker installed
@@ -248,7 +245,6 @@ Repeat for each client
::
## Other Devices
----
- **Phone:** Install Wireguard and scan the QR code from the web UI (`http://your-server-ip:51821`)
- **PC:** Install the Wireguard client and import the config file
diff --git a/content/fr/2.general/1.networking/1.nat.md b/content/fr/2.general/1.networking/1.nat.md
index a777d17..fb17937 100644
--- a/content/fr/2.general/1.networking/1.nat.md
+++ b/content/fr/2.general/1.networking/1.nat.md
@@ -16,7 +16,6 @@ description: Comprendre le NAT, la redirection de ports et le DHCP sur un routeu

## Qu'est-ce qu'un "port" ?
----
Les ports sont différents canaux par lesquels votre routeur envoie et reçoit des données, ce qui permet d'utiliser plusieurs services en meme temps. Lorsqu'il reçoit une donnée via un port, otre routeur transmet ensuite les données à la machine qui :
- soit a émis la requête de départ
@@ -29,7 +28,6 @@ Certains programmes et applications sont conçus pour utiliser des ports spécif
Le routeur sert donc de plateforme d'aiguillage des données entre internet et votre machine.
## La redirection de port
----
Rediriger un `port`, c'est émettre une règle qui spécifie que telle `source` peut envoyer des données à tel `port` de votre routeur, qui redirigera les données sur tel `port` de telle `machine`. Les `sources` et la `machine de destination` sont identifiées par leur `adresse IP`.
| Variable | Description | exemple |
@@ -51,7 +49,6 @@ __Attention :__ Si vous avez plusieurs services Ă rendre accessible, avec par e
::
## Le DHCP
----
A chaque fois que vous connectez un appareil sur votre réseau local, votre routeur lui attribue une adresse IP via les règles DHCP. Celle-ci est aléatoire selon des règles prédéfinies. A chaque redémarrage de l'appareil, l'IP peut changer. C'est embetant si vous exposez un service et que vous avez une redirection de port dans votre routeur car si l'IP change, la redirection enverra les données dans le vide. Le serveur DHCP de votre box permet d'attribuer une IP fixe à un appareil.
Chaque appareil a une adresse physique dite "adressse MAC". Pour fixer l'IP, vous devez connaitre l'adresse physique de votre appareil (visible dans votre routeur si votre machine est connectée au réseau), et lui attribuer une adresse IP fixe, ce qu'on appel un "bail DHCP fixe".
diff --git a/content/fr/2.general/1.networking/2.dns.md b/content/fr/2.general/1.networking/2.dns.md
index d2e945d..e367021 100644
--- a/content/fr/2.general/1.networking/2.dns.md
+++ b/content/fr/2.general/1.networking/2.dns.md
@@ -14,7 +14,6 @@ description: Comprendre le fonctionnement du DNS, lire et éditer une zone DNS,
::
## Introduction
----
Lorsque vous naviguez sur un site, ou une application, des requêtes sont émises vers un ou des domaines afin d'afficher le contenu de votre page. Votre appareil ne connait pas les adresses IP de ces serveurs à joindre. Pour les connaitre, il va contacter un _serveur de nom_ (Domain Name Server) qui lui va lui répondre avec l'adresse IP la plus à jour pour le domaine de la requête.
La zone DNS, c'est une sorte de registre avec des panneaux qui redirige vos requĂŞtes vers la bonne destination.
@@ -22,7 +21,6 @@ La zone DNS, c'est une sorte de registre avec des panneaux qui redirige vos requ

## La zone DNS
----
Lorsque vous réservez un domaine chez votre registrar (cloudflare, ovh...), ce registrar vous attribue une zone DNS que vous pouvez personnaliser.
Vous pouvez rentrer des _enregistrements_ dans cette zone DNS qui permettront d'orienter les requĂŞtes au bon endroit. Vous trouverez [plus d'information ici](https://help.ovhcloud.com/csm/fr-dns-servers-general-information?id=kb_article_view&sysparm_article=KB0051661).
diff --git a/content/fr/2.general/1.networking/3.samba.md b/content/fr/2.general/1.networking/3.samba.md
index 34edebf..25034d4 100644
--- a/content/fr/2.general/1.networking/3.samba.md
+++ b/content/fr/2.general/1.networking/3.samba.md
@@ -20,7 +20,6 @@ De nombreux tutorials existent pour configurer Samba sous windows ou sur un NAS

## Partager un dossier réseau
----
::note
Ici, nous allons partager le dossier `/video` d'une machine distant que nous appelerons `machine-distante`. Nous accéderons à ce dossier par la machine nommée `machine-locale`. L'utilisateur de connexion au disque réseau sera `sambauser`.
@@ -119,7 +118,6 @@ __Attention :__ Si vous utilisez un pare-feu, comme ufw, n'oubliez pas d'autoris
::
## Accéder à un dossier partagé
----
::note
A présent, nous sommes sur votre `machine-locale` qui nécessite d'accéder au dossier partagé `/video` présent sur la `machine-distante`.
diff --git a/content/fr/2.general/2.storage/1.raid.md b/content/fr/2.general/2.storage/1.raid.md
index 12648fc..0170c23 100644
--- a/content/fr/2.general/2.storage/1.raid.md
+++ b/content/fr/2.general/2.storage/1.raid.md
@@ -35,7 +35,6 @@ Il existe plusieurs types de RAID, chacun ayant ses avantages et inconvénients.
::
### Sans RAID
----

@@ -49,7 +48,6 @@ Il existe plusieurs types de RAID, chacun ayant ses avantages et inconvénients.
Utilisez vos disques sans RAID si vous n’avez pas peur de perdre des données et pouvez tolérer une interruption de service entre la panne et la restauration.
### RAID 0
----

@@ -66,7 +64,6 @@ Utilisez vos disques sans RAID si vous n’avez pas peur de perdre des données
Utilisez RAID 0 si vous souhaitez privilégier la performance et que la perte de données n’est pas un problème. Idéal pour le stockage temporaire à haute vitesse (montage vidéo, IA, etc). Pas adapté au stockage à long terme.
### RAID 1
----

@@ -87,7 +84,6 @@ Utilisez RAID 1 pour une redondance maximale. Chaque disque contient toutes les
::
### RAID 5
----
@@ -102,7 +98,6 @@ Utilisez RAID 1 pour une redondance maximale. Chaque disque contient toutes les
Utilisez RAID 5 pour un stockage fiable avec 3 à 5 disques et une perte minimale d’espace. Il tolère une panne, mais la reconstruction peut durer plusieurs jours avec des performances dégradées.
### RAID 6
----
diff --git a/content/fr/2.general/3.hardware/1.basics.md b/content/fr/2.general/3.hardware/1.basics.md
index 3f7ca0c..01de9ce 100644
--- a/content/fr/2.general/3.hardware/1.basics.md
+++ b/content/fr/2.general/3.hardware/1.basics.md
@@ -17,7 +17,6 @@ Comprendre les bases du hardware d'un serveur
Un __serveur__ n'est rien d'autre qu'un ordinateur dédié à des taches particulières, ayant vocation à rester accessible en permanence. En soi, sa structure ne diffère pas d'un ordinateur classique, si ce n'est que selon l'usage cible, on fera évoluer certains composants dans un sens ou dans un autre. Dans cet article, vous trouverez un aide mémoire pour comprendre quels sont les composants essentiels d'un serveur et comprendre leur fonction selon vos usages.
## La carte mère
----
La __carte mère__ est le socle de votre machine. C'est le composant qui relie tous les autres composants. Elle sert à les faire communiquer et à interagir avec vos périphériques (clavier, souris, etc...). Il faut donc la choisir en fonction de vos besoins en terme d'entrées/sorties (I/O) comme le nombre de ports USB, de ports réseau, leur vitesse, etc... Mais il faut également veiller à sa compatibilité avec les autres composants que vous allez brancher dessus.
Les composants importants Ă brancher dessus sont :
@@ -37,7 +36,6 @@ Il existe plusieurs formats de carte mère grand public :
Bien sûr, selon la taille, le nombre de ports et de fonctionnalité diffère. D'autre part, les constructeurs de machines déjà assemblées peuvent aussi profiter de formats plus personnalisés.
## Le CPU
----

@@ -59,7 +57,6 @@ Il faut les juger selon :
Dans le cadre d'un homelab/NAS sans calcul intensif, aujourd'hui on se dirigera facilement vers les Intel N100/150 (4 coeurs) et N305/N355 (8 coeurs) qui sont des processeurs performants à très faible consommation (rappelez vous que ces machines sont censées tourner H24).
## La RAM
----
@@ -70,14 +67,12 @@ La __RAM__ (Random Access Memory), est une zone de stockage éphémère ultra ra
Elle prend généralement la forme de barettes, à brancher sur la carte mère. Il en existe plusieurs format selon le type de carte mère, et de plusieurs générations (DDR5 de nos jours).
## Le GPU
----
Le __GPU__ (Graphical Processor Unit) est un processeur dédié aux calculs graphiques, vidéo, et parfois d'intelligence artificielle. Dans le cadre d'un serveur, il aura son utilité pour tout ce qui touche au media center (Streaming de video comme [Plex](/fr/serveex/media/plex) par exemple), mais aussi en terme d'accélération matérielle pour les calculs d'IA comme la reconnaissance faciale ou la recherche sur des photos (comme via [Immich](/fr/serveex/cloud/immich) par exemple).
Selon la puissance requise, on choisira un GPU dédié avec sa propre VRAM (une carte graphique à brancher sur un port PCIe de la carte mère), ou un iGPU, c'est à dire un GPU compris dans le CPU (comme les N100/N150 et N305/N355), qui utilisera la RAM globale de la machine
### Le ou les HDD
----
@@ -94,7 +89,6 @@ De manière générale, on les privilégiera pour stocker des données qui ne se
Il existe plusieurs formats de HDD : 3.5" et 2.5". De manière générale dans un serveur on privilégiera les 3.5, plus fiables.
### Le ou les SSD
----
@@ -107,7 +101,6 @@ On les trouve dans plusieurs formats, aujourd'hui on priviligiera les versions M
Ils sont en revanche beaucoup plus chers que les disque durs à capacité de stockage égale. Généralement, on y stockera au moins le système d'exploitation de la machine (Operating System ou OS) pour garantir une certaine rapidité d'execution. Dans le cadre d'un serveur, on y stockera aussi si possible les conteneurs type [docker](/fr/serveex/core/docker) et les bases de données. De manière générale, toute données dont un a besoin régulièrement et rapidement pour des calculs (site web, applications, etc...).
### La carte réseau
----
Une __carte réseau__ sert à faire communiquer votre machine avec votre réseau (dont internet). Elle est composée d'une puce de controle et d'un ou plusieurs port réseau. Ces ports peuvent dits _ports ethernet_ peuvent être dans plusieurs formats physique et dans plusieurs normes de débit :
@@ -126,14 +119,12 @@ __Attention :__ Pensez bien à dimensionner vos appareils réseaux (routeurs, sw
La carte réseau est généralement directement intégrée à la carte mère, mais vous pouvez utiliser des cartes réseau dédiées comme par USB par exemple ou via un port d'extension PCIe. De manière générale, sur un serveur, on appréciera d'avoir au moins deux ports ethernet afin d'avoir de la redondance en cas de panne.
### Entrées et sorties
----
Les __ports d'entrées et sorties__ (Input/Outpout) sont l'ensemble des ports de la machine permettant d'échanger de l'information avec des appareils externes (écrans, clavier, souris, réseau...). Généralement, sur une carte mère on retrouve le ou les ports réseaux, des ports USB de plusieurs formats et vitesse différentes, un ou plusieurs port vidéo, et des ports audio.
Selon vos usages, vous devrez choisir votre carte mere et ses éventuelles cartes d'extension en fonction de vos besoin à ce niveau.
### L'alimentation
----
__L'alimentation__ est le composant qui permet d'alimenter électriquement les composants de votre machine. Elle se compose d'un cable secteur en entrée, et de plusieurs types de cables en sorties. Ces cables se branchent sur la carte mère et différents périphériques le nécessitant, comme les disques dur, ou certaines cartes graphiques dédiées. L'alimentation se caractérise par sa puissance, en Watt, sa modularité (cables attachés ou détachables), et son rendement, en pourcentage. Comprendre qu'une alimentation de 500W avec un rendement de 80% consommera en fait 625W pour fournir ces 500W.
@@ -142,7 +133,6 @@ Une autre caractéristiques des alimentations sont leur format. Il en existe plu
Pour choisir votre alimentation, la convention est d'estimer la puissance electrique demandée par votre machine à usage et de multiplier par deux cette puissance. En effet, le rendement des alimentations se situe environ à 50% de sa charge totale.
### Le boitier
----

diff --git a/content/fr/2.general/3.hardware/2.network.md b/content/fr/2.general/3.hardware/2.network.md
index 476058b..2ee9e05 100644
--- a/content/fr/2.general/3.hardware/2.network.md
+++ b/content/fr/2.general/3.hardware/2.network.md
@@ -17,7 +17,6 @@ Comprendre les bases du matériel réseau
Un réseau informatique est indissociable du matériel nécessaire à le mettre en place. Le matériel va conditionner les dimension du réseau, les vitesses de communication et les performances du réseau. Dans cet article, nous nous limiterons au réseau les plus simples, composant généralement ceux que l'on peut retrouver chez soi.
## Le routeur
----
Le __routeur__ est le point central de votre réseau. C'est lui qui dirige les __paquets__, c'est à dire les blocs d'informations qui transitent sur votre réseau, de l'émetteur vers le bon destinataire. Il permet à la fois de conditionner le routage de l'information au sein de votre réseau mais aussi vers ou depuis l'exterieur. Globalement, il fait communiquer les appareils entre eux et avec internet.
Vous avez tous un routeur chez vous, c'est la __box__ de votre _FAI_ (Fournisseur d'Accès à Internet).
@@ -40,7 +39,6 @@ Vous pouvez utiliser sans difficulté un routeur tiers pour votre réseau qui re
::
## Le Switch
----
Le __switch__ ou commutateur, est un appareil qui permet de brancher plusieurs appareils au réseau. C'est littéralement un hub, qui se connecte directement au routeur ou à un autre switch, jusqu'au routeur. Il permet d'éviter de saturer toutes les prises switch du routeur, ou de délocaliser le matériel dans une autre pièce, sans tirer un cable par appareil vers le routeur. Un autre cas d'usage est de pouvoir séparer plusieurs réseaux gérés par un meme routeur.
@@ -55,7 +53,6 @@ __Attention :__ Veillez Ă bien utiliser un switch avec des ports disposant des
::
## Les cables
----
Les cables sont des composants essentiels de votre réseau. Selon leur type et catégorie, ils limiteront le débit entre vos appareils et nécessitent donc d'etre dimensionnés de manière cohérente avec votre réseau. Ils doivent être compatibles avec les ports de vos apapreils. Pour rappel, voici les normes de ports les plus utilisées:
diff --git a/content/fr/3.serveex/1.introduction.md b/content/fr/3.serveex/1.introduction.md
index 42a792d..a5339c0 100644
--- a/content/fr/3.serveex/1.introduction.md
+++ b/content/fr/3.serveex/1.introduction.md
@@ -185,7 +185,6 @@ L'objectif étant d'être facilement déployable et facile à migrer, voici sa s
::
## A venir
----
- Homepage, pour avoir tout vos services en un coup d'oeil et y accéder facilement
- Mkdocs pour votre documentation
diff --git a/content/fr/3.serveex/2.core/1.installation.md b/content/fr/3.serveex/2.core/1.installation.md
index e80a926..d499708 100644
--- a/content/fr/3.serveex/2.core/1.installation.md
+++ b/content/fr/3.serveex/2.core/1.installation.md
@@ -12,7 +12,6 @@ description: Guide pas Ă pas pour installer Debian 13 sur un serveur et configu

## Installation
----
1. [Paramètrage BIOS](https://www.debian.org/releases/stable/amd64/ch03s06.fr.html#bios-setup)
2. [Téléchargement de l'image Debian 13](https://www.debian.org/download.fr.html)
@@ -40,7 +39,6 @@ description: Guide pas Ă pas pour installer Debian 13 sur un serveur et configu
9. Optionnel - [Réveiller le serveur à distance (WoW - WoL)](https://dev.to/zakery1369/enable-wake-on-lan-on-debian-4ljd)
## CLI apps à avoir près de soi
----
Quelques app que vous utiliserez forcément à un moment donné, autant les installer dès le départ
```sh
sudo apt update
@@ -54,7 +52,6 @@ En plus :
- [lazydocker](https://github.com/jesseduffield/lazydocker) - Gestion de conteneurs docker en CLI
## Fonctions utiles
----
### Pare-feu
- [ufw](https://www.zenarmor.com/docs/network-security-tutorials/how-to-set-up-a-firewall-with-ufw-on-debian)
diff --git a/content/fr/3.serveex/2.core/2.docker.md b/content/fr/3.serveex/2.core/2.docker.md
index 2ebc7d7..a7e963f 100644
--- a/content/fr/3.serveex/2.core/2.docker.md
+++ b/content/fr/3.serveex/2.core/2.docker.md
@@ -19,7 +19,6 @@ Docker, pour installer des services déployables en quelques secondes, et les ma

## Installer docker
----
Installez les repo Docker et la clé GPG
```sh
@@ -55,7 +54,6 @@ Dans toute la suite, on part du principe que les stacks sont installées dans le
::
## Installer [dockge](https://github.com/louislam/dockge) pour gérer et déployer les conteneurs
----
[Dockge](https://github.com/louislam/dockge) est un outil web permettant de créer, configurer, lancer et gérer des conteneurs pour Docker. C'est une interface simple, intuitive, qui est plus légère et plus facile pour les débutants que d'utiliser docker en CLI ou Portainer.

@@ -122,7 +120,6 @@ Plus d'info sur [dockge et comment l'utiliser](https://github.com/louislam/dockg
Et voilà , vous avez installé docker et un outil facile pour manager vos conteneurs !
## [Watchtower](https://watchtower.nickfedor.com/), pour mettre Ă jour automatiquement les conteneurs
----
Watchtower est un conteneur qui permet de vérifier les mise à jour et d'installer les nouvelles images sans effort, en ajoutant un simple label dans les fichiers `compose.yml` de vos conteneurs.
### Configuration
diff --git a/content/fr/3.serveex/2.core/3.swag.md b/content/fr/3.serveex/2.core/3.swag.md
index 0fe9c32..1a59980 100644
--- a/content/fr/3.serveex/2.core/3.swag.md
+++ b/content/fr/3.serveex/2.core/3.swag.md
@@ -30,7 +30,6 @@ Ci-dessous, vous trouverez un exemple, exposant Dockge. Nous installerons SWAG,

## Installation
----
::note
@@ -181,14 +180,12 @@ include /config/nginx/dbip.conf
Relancez la stack dans Dockge, cette fois le certificat SSL est bien émis ! Vérifiez dans les logs que le serveur est bien ready.
## Dashboard
----
Accedez au dashboard via votre réseau local en tapant `http//ipdevotreserveur:81`
A gauche, vous trouverez la liste des services actuellement "proxied" (aucun pour le moment). A droite, les IP bannies. En-dessous, une liste d'indicateurs. pour le détail, [c'est par ici](https://www.linuxserver.io/blog/introducing-swag-dashboard).

## DBIP
----
DBIP permet de bloquer les connexions en fonction des pays. Il s'appuie sur le fichier de config nommé `dbip.conf` dans `/docker/swag/config/nginx`. [Plus d'info ici](https://virtualize.link/secure/).
Dans cet exemple, nous allons le configurer pour bloquer une liste de pays connus pour etre à l'origine de la plupart des connexions malveillantes. Nous allons également configurer une variable au cas où nous souhaiterions permettre au réseau interne du serveur, au réseau local de votre box ainsi qu'à un éventuel vpn en 10.x.x.x de pouvoir accéder à vos services, mais pas directement à internet.
@@ -269,7 +266,6 @@ Dans les fichiers de conf des domaines (section suivante), vous pourrez activer
```
## Exposer Dockge
----
::note
📋 __Prérequis :__
Nous partons du principe que vous avez créé dans votre [zone DNS](/fr/general/networking/dns) un sous domaine du type `dockge.mondomaine.fr` avec pour `CNAME` `mondomaine.fr` et [à moins que vous utilisiez Cloudflare Zero Trust](/fr/serveex/security/cloudflare), que vous avez déjà redirigé le port `443` de votre box vers le `443` de votre serveur dans [les règles NAT](/fr/general/networking/nat).
@@ -378,7 +374,6 @@ Déployez à nouveau la stack de SWAG.
Patientez puis tapez `https://dockge.mondomaine.fr` dans votre navigateur, vous devriez être redirigé vers dockge. Vous pouvez vérifier le statut du service via le dashboard (depuis votre réseau local, http://ipdevotreserveur:81)
## Exposer un autre service avec SWAG
----
Swag dispose de modeles pour la plupart des services connus, nommés `nomduservice.subdomain.conf.sample`. Il vous suffit de créer le sous-domaine dans votre zone DNS chez votre registrar (comme OVH par exemple), de le faire pointer sur votre domaine principale (via un enregistrement CNAME) et de copier en renommant `nomduservice.subdomain.conf.sample` en `nomduservice.subdomain.conf`.
```sh
diff --git a/content/fr/3.serveex/3.security/1.wireguard.md b/content/fr/3.serveex/3.security/1.wireguard.md
index d623ac0..acfdd8b 100644
--- a/content/fr/3.serveex/3.security/1.wireguard.md
+++ b/content/fr/3.serveex/3.security/1.wireguard.md
@@ -15,7 +15,6 @@ description: Installer et configurer WireGuard VPN pour accéder à votre homela
::
## Introduction
----
L'utilisation d'un VPN permet d'accéder à distance aux ressources locales du serveur sans les exposer sur internet. C'est notamment une manière propre de sécuriser l'accès à la console SSH, plutot que d'exposer le port sur internet. C'est pouvoir se connecter à son réseau où que l'on soit, de maniere sécurisée, et de faire dialoguer des machines qui sont sur des réseaux différents.
Ici nous utiliserons [Wireguard](https://www.wireguard.com/), un serveur VPN sécurisé et très performant, à l'aide des conteneurs :
@@ -48,7 +47,6 @@ On peut aussi faire en sorte que les machines reliées au réseau virtuel partag
Ainsi, sur le réseau virtuel, seules les machines directement reliées pourront dialoguer entre elle depuis ce réseau. Elles ne pourront pas dialoguer avec une machine situées sur un autre réseau local et non reliée au VPN.
## Côté serveur
----
::note
📋 __A vérifier au préalable :__
@@ -130,12 +128,13 @@ networks:
- Ajoutez le label de watchtower afin d'automatiser les mises Ă jour
```yaml
- services
+ services:
wg-easy:
#...
labels:
- com.centurylinklabs.watchtower.enable=true
+ ```
::
Puis déployez la stack et connectez vous via le web en local sur `http://ipduserveur:51821`
@@ -211,13 +210,14 @@ Copiez-collez le contenu du `wg0.conf` que vous avez téléchargé, puis enregis
```sh
sudo cp ~/wg0.conf /docker/wireguard/config/wg_confs
+ ```
::
Creez le `compose.yaml` dans `/docker/wireguard `:
```sh
sudo nano /docker/wireguard/compose.yaml
```
-Appuyez sur `i` pour rentrer en modification et copiez la configuration ci-dessous
+Copiez la configuration ci-dessous
```yaml
services:
wireguard:
@@ -251,7 +251,6 @@ A répéter pour chaque client
::
## Autres appareils
----
- **Téléphone :** installer wireguard et scanner le QR code via le webui (http://ipduserveur:51821)
- **PC :** Installer wireguard client et mettre directement le fichier de conf téléchargé via le webui
diff --git a/content/fr/3.serveex/3.security/2.authentik.md b/content/fr/3.serveex/3.security/2.authentik.md
index f1862df..ed28891 100644
--- a/content/fr/3.serveex/3.security/2.authentik.md
+++ b/content/fr/3.serveex/3.security/2.authentik.md
@@ -37,7 +37,6 @@ Deux modes principaux sont Ă connaitre:
Les deux modes son configurables application par application.
## Installation
----
Structure des dossiers :
```sh
root
@@ -199,7 +198,6 @@ __Attention :__ il est conseillé de créer un nouveau compte admin, et de **dé
::
## Exposer authentik
----
Pour ĂŞtre utilisable hors de chez vous, vous devez exposer authentik.
::note
@@ -300,7 +298,6 @@ Relancez la stack et patientez le temps que SWAG soit complètement opérationne
Et voilà ! Vous pouvez accéder à authentik via `https://auth.mondomaine.fr`
## Activer le multifacteur
----
Tout l'intérêt de authentik c'est de disposer du multifacteur pour toutes les apps que l'on protègera.
- Rendez vous sur `https://auth.mondomaine.fr`
@@ -314,11 +311,9 @@ Tout l'intérêt de authentik c'est de disposer du multifacteur pour toutes les
Et voilà , vous serez invité à saisir un code à usage unique à chaque connexion.
## Protéger une app native
----
Authentik est compatible nativement avec un certain nombre d'application, vous retrouverez la liste et [le support ici](https://docs.goauthentik.io/integrations/services/)
## Protéger une app par reverse proxy
----
Swag permet d'intercaler la page d'authentik entre la requête et l'accès à votre service. Pour cela il va falloir :
- Configurer le service d'authentification dans authentik.
@@ -373,7 +368,6 @@ VoilĂ votre nouvelle architecture :

## Protéger un service sur un serveur distant
----
Dans le cas d'une application [native](/fr/serveex/security/authentik#protéger-une-app-native) (via OAuth 2.0 ou autre), rien ne change.
Dans le cas d'une application non native à protéger derrière un reverse proxy, vous devrez déployer un __avant-poste__. Un avant-poste est un conteneur qui jouera le rôle de proxy local, c'est à dire que c'est vers ce conteneur que les requêtes d'authentification de vos applications seront redirigées. C'est le seul qui est autorisé à dialoguer avec l'API de votre instance authentik.
@@ -566,7 +560,6 @@ Enregistrez avec :kbd{value="Ctrl+O"} puis :kbd{value="Entrée"}, puis quittez a
Ensuite, configurez les applications à protéger selon si elles sont [natives](/fr/serveex/security/authentik#protéger-une-app-native) ou par [proxy](/fr/serveex/security/authentik#protéger-une-app-par-reverse-proxy) comme vous l'avez fait sur votre serveur principal.
## Migrer une base authentik
----
Sur la machine d'origine, dumper la bdd :
```sh
diff --git a/content/fr/3.serveex/3.security/3.cloudflare.md b/content/fr/3.serveex/3.security/3.cloudflare.md
index a74d3bb..09b3ea1 100644
--- a/content/fr/3.serveex/3.security/3.cloudflare.md
+++ b/content/fr/3.serveex/3.security/3.cloudflare.md
@@ -18,7 +18,6 @@ description: Utiliser les tunnels Cloudflare et Zero Trust pour exposer des serv

## Introduction
----
L'architecture _Zero Trust_ est la pratique consistant à concevoir des systèmes fondés sur le principe de __« ne jamais faire confiance__, __toujours vérifier »__, par opposition au principe traditionnel de __« confiance, mais vérifier »__. Ce concept est devenu très populaires récemment, à la suite des attaques toujours plus nombreuses concernant les données des utilisateurs. C'est un concept très large, nous nous concentrerons sur l’application du _Zero Trust_ aux services Web que nous hébergeons.
Les _tunnels Cloudflare_ offrent un moyen simple d'arriver au _Zero Trust_, en s'appuyant sur [SWAG](/fr/serveex/core/swag) et [Authentik](/fr/serveex/security/authentik).
@@ -42,7 +41,6 @@ Ici, nous expliquerons comment associer SWAG aux tunnels Cloudflare.
::
## Configuration Cloudflare
----
### Zone DNS
Avant toute chose, vous devez définir Cloudflare comme gestionnaire de votre [zone DNS](/fr/general/networking/dns). Si vous avez réservé votre nom de domaine chez Cloudflare, c'est déjà le cas. Sinon, renseignez vous auprès de votre registrar sur comment ajouter des DNS externes. Cloudflare dispose d'[une documentation expliquant pas à pas comment paramétrer une Zone DNS](https://developers.cloudflare.com/dns/zone-setups/full-setup/setup/), que vous ayez un domaine externe ou reservé chez Cloudflare.
@@ -74,7 +72,6 @@ Vous devez vous inscrire à _Cloudflare Teams_ pour pouvoir accéder au tableau
Inscrivez-vous [via ce lien](https://dash.teams.cloudflare.com/).
## Configuration de Swag
----
::note
Nous partons du principe que vous avez le domaine `mondomaine.fr` avec les DNS qui pointent bien vers ceux de Cloudflare, comme vu précédemment.
@@ -231,7 +228,6 @@ Une fois le conteneur en ligne, vérifiez dans cloudflare que votre tunnel est b
::
## Gérer plusieurs tunnels pour plusieurs serveurs
----
Par défaut, l'ensemble des sous domaine de votre nom de domaine pointent vers le tunnel que vous avez créé. Mais si vous avez un second serveur, vous pouvez avoir un second tunnel en changeant seulement le nom de tunnel dans la configuration de l'instance swag de votre serveur.
Vous devrez ensuite dans votre zone DNS rediriger les sous domaine souhaité vers le bon tunnel. Pour cela, faites comme suit.
diff --git a/content/fr/3.serveex/4.monitoring/1.uptime-kuma.md b/content/fr/3.serveex/4.monitoring/1.uptime-kuma.md
index 848b8d8..8ec37d6 100644
--- a/content/fr/3.serveex/4.monitoring/1.uptime-kuma.md
+++ b/content/fr/3.serveex/4.monitoring/1.uptime-kuma.md
@@ -19,7 +19,6 @@ description: Installer Uptime-Kuma pour surveiller la disponibilité de vos serv

## Installation
----
Structure des dossiers
```sh
diff --git a/content/fr/3.serveex/4.monitoring/2.dozzle.md b/content/fr/3.serveex/4.monitoring/2.dozzle.md
index 2c1304f..b6a3883 100644
--- a/content/fr/3.serveex/4.monitoring/2.dozzle.md
+++ b/content/fr/3.serveex/4.monitoring/2.dozzle.md
@@ -18,7 +18,6 @@ description: Installer Dozzle pour surveiller les logs des conteneurs Docker en

## Installation
----
Structure des dossiers
```sh
@@ -72,7 +71,6 @@ DOMAIN=dozzle.mondomaine.fr
Déployez le conteneur et rendez-vous sur `http://ipduserveur:9135`. Et voilà , votre instance Dozzle en webui est disponible !
## Exposer Dozzle avec Swag
----
::warning
diff --git a/content/fr/3.serveex/4.monitoring/3.speedtest-tracker.md b/content/fr/3.serveex/4.monitoring/3.speedtest-tracker.md
index 59415ff..ebf3051 100644
--- a/content/fr/3.serveex/4.monitoring/3.speedtest-tracker.md
+++ b/content/fr/3.serveex/4.monitoring/3.speedtest-tracker.md
@@ -18,7 +18,6 @@ description: Installer Speedtest Tracker pour mesurer et enregistrer automatique

## Installation
----
::note
Nous utiliserons l'image docker maintenue par [LinuxServer.io](https://docs.linuxserver.io/images/docker-speedtest-tracker/)
@@ -90,7 +89,6 @@ PORT=3225 # port d'accès à la webui
Déployez le conteneur et rendez-vous sur http://ipduserveur:3225. Connectez vous avec le compte `admin@exemple.com` et le mot de passe `password`. N'oubliez pas de changer votre id et votre mot de apsse une fois connecté !
## Exposer Speedtest Tracker
----
::note
📋 __Prérequis :__
Nous partons du principe que vous avez créé dans votre [zone DNS](/fr/general/networking/dns) un sous domaine du type `speedtest.mondomaine.fr` avec pour `CNAME` `mondomaine.fr` et [à moins que vous utilisiez Cloudflare Zero Trust](/fr/serveex/security/cloudflare), que vous avez déjà redirigé le port `443` de votre box vers le `443` de votre serveur dans [les règles NAT](/fr/general/networking/nat).
diff --git a/content/fr/3.serveex/4.monitoring/4.beszel.md b/content/fr/3.serveex/4.monitoring/4.beszel.md
index 0764675..e7d67d1 100644
--- a/content/fr/3.serveex/4.monitoring/4.beszel.md
+++ b/content/fr/3.serveex/4.monitoring/4.beszel.md
@@ -22,7 +22,6 @@ Beszel dispose d'un hub avec une webui et d'un agent qui permet de collecter les

## Installation
----
Structure des dossiers
@@ -145,7 +144,6 @@ __En cas d'échec :__ vérifiez les règles de votre pare-feu.
::
## Exposer Beszel avec Swag
----
::warning
diff --git a/content/fr/3.serveex/4.monitoring/5.upsnap.md b/content/fr/3.serveex/4.monitoring/5.upsnap.md
index 05856b4..20c3852 100644
--- a/content/fr/3.serveex/4.monitoring/5.upsnap.md
+++ b/content/fr/3.serveex/4.monitoring/5.upsnap.md
@@ -18,7 +18,6 @@ description: Installer UpSnap pour allumer à distance des machines de votre ré

## Installation
----
Structure des dossiers
@@ -85,7 +84,6 @@ __En cas d'échec :__ vérifiez les règles de votre pare-feu.
::
## Exposer UpSnap avec Swag
----
::warning
diff --git a/content/fr/3.serveex/5.media/1.plex.md b/content/fr/3.serveex/5.media/1.plex.md
index 98335df..0ef4545 100644
--- a/content/fr/3.serveex/5.media/1.plex.md
+++ b/content/fr/3.serveex/5.media/1.plex.md
@@ -31,7 +31,6 @@ Vous serez amenés à creer un compte *Plex.tv*. Vous n'avez pas besoin d'expose
::
## Installer Plex
----
Structure des dossiers :
```sh
root
@@ -140,7 +139,6 @@ Vous devez impérativement être sur votre réseau local au moment du premier se
::
## Paramétrer Plex
----
Plex propose tout une gamme de film/série gratuitement. Après avoir créé votre compte, et pour ne pas polluer votre bibliothèque, je vous conseille de tout désactiver dans la section _Services en ligne_.
Ensuite rendez-vous dans la section _Accès à distance_ et choisissez un port manuellement (ici cela sera `1234`). Il est préférable de ne pas garder le port d'origine.
@@ -169,7 +167,6 @@ Si pour stocker vos média vous utilisez un disque réseau (par exemple un stock
::
## Exposer Tautulli avec Swag
----
Plex n'a pas besoin d'etre exposé, étant joignable directement depuis votre compte Plex sur plex.tv.
En revanche, vous pouvez désirer exposer Tautulli, afin d'accéder aux stats même si vous n'est pas chez vous, depuis une simple url.
diff --git a/content/fr/3.serveex/5.media/2.qbittorrent.md b/content/fr/3.serveex/5.media/2.qbittorrent.md
index cb45ec9..ec4c9cb 100644
--- a/content/fr/3.serveex/5.media/2.qbittorrent.md
+++ b/content/fr/3.serveex/5.media/2.qbittorrent.md
@@ -28,7 +28,6 @@ Nous monterons ici le système ci-dessous :

## Configuration
----
Structure des dossiers
```sh
@@ -190,7 +189,6 @@ En détails :
| `PW`{lang=properties} | mot de passe que vous utilisez pour vous logger dans l'interface de Qbittorrent | `password` |
## Déploiement
----
Une fois fait, déployez le conteneur.
::warning
@@ -212,7 +210,6 @@ Et voilà ! Dans les paramètres de Qbittorrent, dans "téléchargements" select
Lorsque vous lancez un téléchargement, n'oubliez pas de préciser le bon répertoire de téléchargement afin que Plex puisse synchroniser correctement sa bibliothèque (`/media/movies` et `/media/tvseries`). Vous pouvez aussi l'automatiser en créant une catégorie et un répertoire associé.
## Exposer la webui
----
::warning
diff --git a/content/fr/3.serveex/5.media/3.servarr.md b/content/fr/3.serveex/5.media/3.servarr.md
index a376be6..9ea050a 100644
--- a/content/fr/3.serveex/5.media/3.servarr.md
+++ b/content/fr/3.serveex/5.media/3.servarr.md
@@ -24,7 +24,6 @@ Simple.
Je vous propose de déployer la stack puis nous verrons par la suite la configuration de chacune des apps et leur fonctionnement.
## Installer les apps
----
### Docker compose
@@ -230,7 +229,6 @@ MEDIA_PATH=
Déployez la stack.
### Paramétrer Radarr
----
Radarr est une app qui permet de requêter à votre place vos sources de torrent et de définir quel type de release vous souhaitez télécharger en priorité. Radarr permet aussi de mettre à jour vos films si une meilleure version est disponible.
Maintenant que vous avez déployé la stack, vous pouvez vous rendre sur `http://ipduserveur:7878`.
@@ -282,7 +280,6 @@ Dans *Settings > Connect*, ajoutez une nouvelle connexion, choisissez *Plex Medi
- Dans *Settings > General*, copiez la *API Key* et notez la précieusement.
### Paramétrer Sonarr
----
Sonarr est une app qui permet de requêter à votre place vos sources de torrent et de définir quel type de release vous souhaitez télécharger en priorité. Radarr permet aussi de mettre à jour vos séries si une meilleure version est disponible.
- Rendez-vous sur `http://ipduserveur:8989`.
@@ -294,7 +291,6 @@ __En cas d'échec :__ vérifiez les règles de votre pare-feu.
::
### Paramétrer Prowlarr
----
Prowlarr est un proxy qui permet de gérer vos sources de torrents et de les passer à Radarr et Sonarr.
Rendez-vous sur `http://ipduserveur:9696` et créez vous un compte en choisissant bien *forms login*.
@@ -319,7 +315,6 @@ Dans la section *Settings > Apps*, ajoutez Radarr et Sonarr avec les information
- Si tout va bien, appuyez sur *Save*.
### Paramétrer Bazarr
----
Bazarr est une app qui permet de chercher automatiquement les bons sous-titre dans les langues souhaitez pour tout les films et séries que Radarr et Sonarr ajoutent pour vous.
Rendez-vous sur `http://ipduserveur:6767`.
@@ -361,7 +356,6 @@ Rendez-vous dans *Settings > General* et créez un identifiant et un mot de pass
Faites de mĂŞme avec Radarr.
### Paramétrer Overseerr
----
[Overseerr](https://overseerr.dev/) est une application qui permet de naviguer dans un catalogue de film et de faire des requetes à Sonarr et à Radarr. Il suffit de naviguer dans les films ou séries, puis de cliquer sur *Demander*, et le film ou la série sera automatiquement téléchargée selon les paramètres de Radarr ou de Sonarr. Si le film ou la série n'est pas sortie, cela sera automatiquement téléchargé lorsque cela sera disponible. Ainsi, les épisodes d'une séerie arrivent automatiquement au fur et à mesure dans Plex sans aucune intervention manuelle.
@@ -413,7 +407,6 @@ Si tout va bien, continuez Ă renseigner les champs.
Et voilà ! Vous n'avez plus qu'à faire une demande d'un film et d'une serie, puis de vérifier dans qbittorrent ou dans radarr/sonarr que tout va bien. Dans quelques minutes, votre media sera sur Plex !
## Exposer Overseerr avec Swag
----
Il peut etre intéressant d'exposer Overseerr, si vous souhaitez pouvoir faire des requêtes depuis l'exterieur sans VPN, ou si vous avez partagé votre Bibliothèque Plex à des utilisateurs et que vous souhaitez qu'ils aient accès à Overseerr.
diff --git a/content/fr/3.serveex/6.cloud/1.immich.md b/content/fr/3.serveex/6.cloud/1.immich.md
index b3037ce..3591434 100644
--- a/content/fr/3.serveex/6.cloud/1.immich.md
+++ b/content/fr/3.serveex/6.cloud/1.immich.md
@@ -15,7 +15,6 @@ description: Installer Immich, une alternative auto-hébergée à Google Photos

## Installation
----
Structure des dossiers
```sh
@@ -50,7 +49,6 @@ Déployez le conteneur.
Et voilĂ , vous pouvez vous connecter et suivre les instructions sur `http://ipduserveur:2283`
## Exposer Immich avec Swag
----
Tout l'intérêt d'une telle solution, c'est de pouvoir y accéder à distance et sur tout vos appareils. Pour cela, nous allons exposer Immich via Swag.
::note
diff --git a/content/fr/3.serveex/6.cloud/2.nextcloud.md b/content/fr/3.serveex/6.cloud/2.nextcloud.md
index db2ebaa..586e3dd 100644
--- a/content/fr/3.serveex/6.cloud/2.nextcloud.md
+++ b/content/fr/3.serveex/6.cloud/2.nextcloud.md
@@ -15,7 +15,6 @@ description: Installer Nextcloud pour auto-héberger vos fichiers, photos et age

## Installation
----
::note
Nous utiliserons l'image docker maintenue par [LinuxServer.io](https://docs.linuxserver.io/images/docker-nextcloud/)
@@ -82,7 +81,6 @@ __En cas d'échec :__ vérifiez les règles de votre pare-feu.
::
## Exposer Nextcloud avec Swag
----
Tout l'intérêt d'une telle solution, c'est de pouvoir y accéder à distance et sur tout vos appareils. Pour cela, nous allons exposer Nextcloud via Swag.
::note
diff --git a/content/fr/3.serveex/7.files/1.file-browser.md b/content/fr/3.serveex/7.files/1.file-browser.md
index 4aa56a6..0bc188f 100644
--- a/content/fr/3.serveex/7.files/1.file-browser.md
+++ b/content/fr/3.serveex/7.files/1.file-browser.md
@@ -18,7 +18,6 @@ description: Installer File Browser pour parcourir et gérer les fichiers de vot

## Installation
----
Ouvrez Dockge, cliquez sur `compose`, appelez la stack `filebrowser` puis copiez collez ceci :
```yaml
@@ -57,7 +56,6 @@ __En cas d'échec :__ vérifiez les règles de votre pare-feu.
::
## Exposer File Browser avec Swag
----
::warning
diff --git a/content/fr/3.serveex/7.files/2.pingvin.md b/content/fr/3.serveex/7.files/2.pingvin.md
index a3892bb..29b2f39 100644
--- a/content/fr/3.serveex/7.files/2.pingvin.md
+++ b/content/fr/3.serveex/7.files/2.pingvin.md
@@ -18,7 +18,6 @@ description: Installer Pingvin Share, une plateforme d'envoi de fichiers auto-h

## Installation
----
Ouvrez Dockge, cliquez sur `compose`, appelez la stack `pingvin` puis copiez collez ceci :
```yaml
@@ -79,7 +78,6 @@ __En cas d'échec :__ vérifiez les règles de votre pare-feu.
::
## Exposer Immich avec Swag
----
Tout l'intérêt d'une telle solution, c'est de pouvoir y accéder à distance et sur tout vos appareils. Pour cela, nous allons exposer Pingvin via Swag.
::note
diff --git a/content/fr/3.serveex/8.development/1.code-server.md b/content/fr/3.serveex/8.development/1.code-server.md
index 41ae0ca..9c12a6f 100644
--- a/content/fr/3.serveex/8.development/1.code-server.md
+++ b/content/fr/3.serveex/8.development/1.code-server.md
@@ -19,7 +19,6 @@ description: Installer code-server pour utiliser VS Code dans votre navigateur d

## Installation
----
::note
Pour cette installation nous utiliserons [l'image maintenue par LinuxServer.io](https://docs.linuxserver.io/images/docker-code-server/).
@@ -106,7 +105,6 @@ __En cas d'échec :__ vérifiez les règles de votre pare-feu.
::
## Monter des dossiers
----
Vous pouvez monter les dossiers à partager dans vscode en ajoutant les volumes concernés dans le compose.yaml (ou via dockge), et en redéployant le conteneur.
```yaml
@@ -120,7 +118,6 @@ services:
Une fois dans vscode, vous pourrez accéder au dossier.
## Exposer code-server avec Swag
----
Tout l'intérêt d'une telle solution, c'est de pouvoir y accéder à distance et sur tout vos appareils. Pour cela, nous allons exposer coder-server via Swag.
::note
diff --git a/content/fr/3.serveex/8.development/2.gitea.md b/content/fr/3.serveex/8.development/2.gitea.md
index cda7935..071cd70 100644
--- a/content/fr/3.serveex/8.development/2.gitea.md
+++ b/content/fr/3.serveex/8.development/2.gitea.md
@@ -18,7 +18,6 @@ description: Installer Gitea, un service Git auto-hébergé léger pour gérer v

## Installation
----
Structure des dossiers
```sh
@@ -71,7 +70,6 @@ __En cas d'échec :__ vérifiez les règles de votre pare-feu.
::
## Exposer Gitea avec Swag
----
Tout l'intérêt d'une telle solution, c'est de pouvoir y accéder à distance et sur tout vos appareils. Pour cela, nous allons exposer Gitea via Swag.
::note
diff --git a/content/fr/3.serveex/8.development/3.it-tools.md b/content/fr/3.serveex/8.development/3.it-tools.md
index 8ae48ec..477dcd3 100644
--- a/content/fr/3.serveex/8.development/3.it-tools.md
+++ b/content/fr/3.serveex/8.development/3.it-tools.md
@@ -18,7 +18,6 @@ description: Installer IT Tools, une collection auto-hébergée d'utilitaires pr

## Installation
----
Ouvrez Dockge, cliquez sur `compose`, appelez la stack `it-tools` puis copiez collez ceci :
@@ -55,7 +54,6 @@ __En cas d'échec :__ vérifiez les règles de votre pare-feu.
::
## Exposer IT Tools avec Swag
----
Vous aurez peut-etre envie d'y accéder à distance et sur tout vos appareils. Pour cela, nous allons exposer IT Tools via Swag.
::note
diff --git a/content/fr/3.serveex/9.apps/1.adguard.md b/content/fr/3.serveex/9.apps/1.adguard.md
index 25e305f..cfffc79 100644
--- a/content/fr/3.serveex/9.apps/1.adguard.md
+++ b/content/fr/3.serveex/9.apps/1.adguard.md
@@ -36,7 +36,6 @@ C'est ainsi que les pubs et domaines malveillants sont bloqués : leurs domaines

## Installation
----
Structure des dossiers :
```sh
@@ -101,7 +100,6 @@ Rendez-vous sur `http//ipduserveur:3000` et suivez les instructions
Et voilà , vous avez déployé Adguard !
## Exposer Adguard avec Swag
----
Pour ĂŞtre utilisable hors de chez vous, vous devez exposer Adguard
::note
@@ -243,7 +241,6 @@ Enregistrez avec :kbd{value="Ctrl+O"} puis :kbd{value="Entrée"}, puis quittez a
Et voilà , vous exposez Adguard à présent !
## Configurer le chiffrement SSL/TLS
----
Le chiffrement est essentiel si vous souhaitez garder privées les requêtes que vous faites vers adguard. Chiffrer ces requêtes c'est vous assurez que personne, meme votre FAI ne connaissent votre historique. C'est aussi vous assurer que personne d'autre que votre serveur vous répond.
Afin de configurer le chiffrement :
@@ -262,7 +259,6 @@ Afin de configurer le chiffrement :
Et voilà ! Vous avez protégé vos futures requêtes DNS !
## Configurer les appareils
----
Pour configurer vos appareils, vous avez plusieurs choix (que vous pouvez cumuler).
### Sécuriser le réseau local
Vous pouvez sécuriser votre réseau local avec adguard en configurant votre box pour que chaque requête DNS soit dirigée par défaut vers adguard plutot que les services de votre FAI. Attention, votre box doit pouvoir permettre le changement de DNS (Orange ne le permet pas).
@@ -300,6 +296,5 @@ Dans windows, vous devez paramétrer Adguard pour chaque carte réseau que vous
Tous les programmes de votre machine utilisant cette carte réseau seront filtrés par Adguard.
## Ajouter des filtres
----
- Allez dans les paramètres et changez les filtres.
diff --git a/content/fr/3.serveex/9.apps/2.vaultwarden.md b/content/fr/3.serveex/9.apps/2.vaultwarden.md
index 21939ec..bb2e187 100644
--- a/content/fr/3.serveex/9.apps/2.vaultwarden.md
+++ b/content/fr/3.serveex/9.apps/2.vaultwarden.md
@@ -17,7 +17,6 @@ description: Installer Vaultwarden, un gestionnaire de mots de passe auto-héber
Vaultwarden est un fork de la solution [Bitwarden](https://bitwarden.com/fr-fr/help/).
## Installation
----
Structure des dossiers
```sh
@@ -108,7 +107,6 @@ __En cas d'échec :__ vérifiez les règles de votre pare-feu.
::
## Exposer Vaultwarden avec SWAG
----
Tout l'intérêt d'une telle solution, c'est de pouvoir y accéder à distance et sur tout vos appareils. Pour cela, nous allons exposer Vaultwarden via [SWAG](/fr/serveex/core/swag).
::note
diff --git a/content/fr/5.nonsense/1.python/1.nvidia-stock-bot.md b/content/fr/5.nonsense/1.python/1.nvidia-stock-bot.md
index 54da6e1..a8b5fd7 100644
--- a/content/fr/5.nonsense/1.python/1.nvidia-stock-bot.md
+++ b/content/fr/5.nonsense/1.python/1.nvidia-stock-bot.md
@@ -9,7 +9,6 @@ description: Un bot Python qui surveille la disponibilité des GPU en temps rée
Mes cochonneries en python
## 🤖 Nvidia Stock Bot
----
Depuis déjà 4 ans, la pénurie de materiel electronique fait rage. Et les cartes graphiques ne sont pas épargnées. En 2020, j'ai du attendre 2 mois pour obtenir mon exemplaire de RTX 3080, et pour cela j'ai du m'inscrire sur [JV Hardware](https://discord.gg/gxffg3GA96) où une poignée de geek avait mis en place un bot qui envoyait un ping lorsqu'elles étaient disponibles.
diff --git a/content/fr/5.nonsense/1.python/2.adguard-cidre.md b/content/fr/5.nonsense/1.python/2.adguard-cidre.md
index 1a15689..69004a5 100644
--- a/content/fr/5.nonsense/1.python/2.adguard-cidre.md
+++ b/content/fr/5.nonsense/1.python/2.adguard-cidre.md
@@ -5,7 +5,6 @@ description: Un script Python pour synchroniser automatiquement les listes CIDR
:ellipsis{left=0px width=40rem top=10rem blur=140px zIndex=60}
# 🤖 Adguard CIDRE Sync
----
Adguard Home est une solution merveilleuse pour filter ses requêtes DNS et ainsi se débarasser de la publicité ou des DNS des fournisseurs d'accès, ou encore réécrire des requetes.
diff --git a/content/fr/5.nonsense/2.bash/1.servarr-duplicates.md b/content/fr/5.nonsense/2.bash/1.servarr-duplicates.md
index a41d84f..4cf45ee 100644
--- a/content/fr/5.nonsense/2.bash/1.servarr-duplicates.md
+++ b/content/fr/5.nonsense/2.bash/1.servarr-duplicates.md
@@ -5,7 +5,6 @@ description: Un script bash pour détecter et corriger les fichiers médias en d
:ellipsis{left=0px width=40rem top=10rem blur=140px zIndex=60}
# Detection de doublons et remplacement par des hardlinks
----
Six mois après avoir téléchargé des térabytes de media, je me suis rendu compte que Sonarr et Radarr les copaient dans ma biblio Plex au lieu de créer des hardlinks. C'est dû à un mécanisme contre intuitif qui est que si vous montez plusieurs dossiers dans Sonarr/Radarr, il les voit comme deux systemes de fichiers différents. Et ne peut donc pas créer de hardlinks. C'est pour cela qu'il ne faut monter qu'un seul dossier parent, qui contient tous les enfants (`downloads`, `movies`, `tvseries` dans le dossier parent `media` par exemple).
diff --git a/content/fr/5.nonsense/2.bash/2.luks-backup.md b/content/fr/5.nonsense/2.bash/2.luks-backup.md
index 02b5bd4..99d74a2 100644
--- a/content/fr/5.nonsense/2.bash/2.luks-backup.md
+++ b/content/fr/5.nonsense/2.bash/2.luks-backup.md
@@ -5,7 +5,6 @@ description: Un script bash pour extraire automatiquement les headers LUKS de to
:ellipsis{left=0px width=40rem top=10rem blur=140px zIndex=60}
# Backup des headers luks pour disques/volumes chiffrés
----
Je me suis rendu compte il y a peu qu'il ne suffisait pas d'avoir le mot de passe pour deverouiller un volume luks apres une panne ou une corruption. J'ai ainsi appris à dump les headers luks des disques/volumes et à utiliser les numéros de série + noms de partitions pour pouvoir bien identifier quel header correspond à quel disque/partition (j'en ai 10 !).
diff --git a/content/fr/5.nonsense/2.bash/3.socat-proxy.md b/content/fr/5.nonsense/2.bash/3.socat-proxy.md
index ae847a2..fe1872b 100644
--- a/content/fr/5.nonsense/2.bash/3.socat-proxy.md
+++ b/content/fr/5.nonsense/2.bash/3.socat-proxy.md
@@ -5,7 +5,6 @@ description: Utiliser socat pour proxifier le socket Docker via Docker Socket Pr
:ellipsis{left=0px width=40rem top=10rem blur=140px zIndex=60}
# Socat Proxy
----
Ce projet répond à un cas d'usage problématique :
diff --git a/content/fr/5.nonsense/2.bash/4.hotdisk.md b/content/fr/5.nonsense/2.bash/4.hotdisk.md
index b16bba5..1b7a806 100644
--- a/content/fr/5.nonsense/2.bash/4.hotdisk.md
+++ b/content/fr/5.nonsense/2.bash/4.hotdisk.md
@@ -5,7 +5,6 @@ description: Un script bash qui surveille la température des disques durs et é
:ellipsis{left=0px width=40rem top=10rem blur=140px zIndex=60}
# HotDisk
----
Quand on a un NAS avec plusieurs disques dans une buanderie, les températures peuvent vite grimper. Or, un disque dur est très sensible aux températures et peut subir de gros dommages s'il dépasse une température seuil pendant un certain temps. Après un été très chaud qui a fournit son lot de sueur froide en regardant la température de mes disques, j'ai cherché un moyen de pouvoir automatiser l'extinction du serveur en cas de dépassement prolonger de la température maximale supportée par mes disques.
diff --git a/content/fr/5.nonsense/2.bash/5.backrest-docker-stop.md b/content/fr/5.nonsense/2.bash/5.backrest-docker-stop.md
index d412677..368073c 100644
--- a/content/fr/5.nonsense/2.bash/5.backrest-docker-stop.md
+++ b/content/fr/5.nonsense/2.bash/5.backrest-docker-stop.md
@@ -5,7 +5,6 @@ description: Un script bash qui arrĂŞte les conteneurs Docker avant une sauvegar
:ellipsis{left=0px width=40rem top=10rem blur=140px zIndex=60}
# Backrest Docker Stop
----
[Backrest](https://github.com/garethgeorge/backrest) est un formidable outil de backup. Dans le cas de [Serveex](https://docu.djeex.fr/fr/serveex/introduction), la majeure partie des données à sauvegarder sont des conteneurs, et souvent ces conteneurs possèdent des bases de données. Le problème ? On ne peut pas sauvegarder proprement une BDD qui est en route. Alors, il existe plein de solutions complexe à base de dump des bases de données, mais souvent le plus simple cela reste de stopper les conteneurs, de sauvegarder, et de redémarrer les conteneurs.
diff --git a/content/fr/6.recycled/1.deprecated/1.wireguard-14.md b/content/fr/6.recycled/1.deprecated/1.wireguard-14.md
index 4a7480a..41b580f 100644
--- a/content/fr/6.recycled/1.deprecated/1.wireguard-14.md
+++ b/content/fr/6.recycled/1.deprecated/1.wireguard-14.md
@@ -15,7 +15,6 @@ description: Ancien guide WireGuard 14 conservé à titre archivé — voir le g
::
## Introduction
----
L'utilisation d'un VPN permet d'accéder à distance aux ressources locales du serveur sans les exposer sur internet. C'est notamment une manière propre de sécuriser l'accès à la console SSH, plutot que d'exposer le port sur internet. C'est pouvoir se connecter à son réseau où que l'on soit, de maniere sécurisée, et de faire dialoguer des machines qui sont sur des réseaux différents.
Ici nous utiliserons [Wireguard](https://www.wireguard.com/), un serveur VPN sécurisé et très performant, à l'aide des conteneurs :
@@ -48,7 +47,6 @@ On peut aussi faire en sorte que les machines reliées au réseau virtuel partag
Ainsi, sur le réseau virtuel, seules les machines directement reliées pourront dialoguer entre elle depuis ce réseau. Elles ne pourront pas dialoguer avec une machine situées sur un autre réseau local et non reliée au VPN.
## Côté serveur
----
::note
📋 __A vérifier au préalable :__
@@ -241,7 +239,6 @@ A répéter pour chaque client
::
## Autres appareils
----
- **Téléphone :** installer wireguard et scanner le QR code via le webui (http://ipduserveur:51821)
- **PC :** Installer wireguard client et mettre directement le fichier de conf téléchargé via le webui