First translated batch
This commit is contained in:
parent
7630f970fe
commit
675ecaee3a
27
README.md
27
README.md
@ -1,43 +1,44 @@
|
||||
<p align="center">
|
||||
<img src="https://git.djeex.fr/Djeex/DjeexLab/raw/branch/main/docs/files/img/global/lab.svg" align="center" width="700">
|
||||
|
||||
|
||||
[](https://docu.djeex.fr/) [](https://discord.gg/jvhardware) [](https://docu.djeex.fr/)
|
||||
|
||||
[](https://docu.djeex.fr/)
|
||||
[](https://discord.gg/jvhardware)
|
||||
[](https://docu.djeex.fr/)
|
||||
</p>
|
||||
|
||||
# 🔧 De la doc, encore de la doc
|
||||
# 🔧 Docs, More Docs
|
||||
|
||||
**Docu·djeex** c'est avant tout un projet personnel visant à héberger chez soi le plus de services possibles du quotidien sans passer par des plateformes propriétaires (Google, Apple, Netflix...). Cette doc utilise [Nuxt.js](https://nuxt.com/)
|
||||
**Docu·djeex** is first and foremost a personal project aimed at self-hosting as many everyday services as possible — without relying on proprietary platforms (Google, Apple, Netflix, etc.).
|
||||
This documentation site is built using [Nuxt.js](https://nuxt.com/).
|
||||
|
||||
Ce repo contient de quoi modifier les pages, ajouter vos changements, et redéployer le site.
|
||||
This repository contains everything you need to edit pages, apply your changes, and redeploy the site.
|
||||
|
||||
## Setup
|
||||
|
||||
Installer les dépendances
|
||||
Install dependencies:
|
||||
|
||||
```bash
|
||||
npm install
|
||||
```
|
||||
|
||||
## Environnement de dévelopment (port 3000)
|
||||
## Development Environment (port 3000)
|
||||
|
||||
```bash
|
||||
npm run dev
|
||||
```
|
||||
|
||||
## Génération des pages statiques
|
||||
## Generate Static Pages
|
||||
|
||||
```bash
|
||||
npm run generate
|
||||
```
|
||||
|
||||
Les fichiers HTML seront générés dans le dossier .output/public et prêts à être déployés sur n'importe quel hébergement compatible avec un site statique.
|
||||
The HTML files will be generated in the `.output/public` folder and are ready to be deployed on any static-compatible hosting.
|
||||
|
||||
## Preview build
|
||||
## Preview Build
|
||||
|
||||
Si vous voulez voir immédiatement le résultat de la génération du site vous pouvez lancer un serveur de preview :
|
||||
If you'd like to immediately see the result of your static site build, you can launch a preview server:
|
||||
|
||||
```bash
|
||||
npm run preview
|
||||
```
|
||||
```
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
title: Accueil
|
||||
title: Home
|
||||
navigation: false
|
||||
layout: page
|
||||
main:
|
||||
@ -11,7 +11,7 @@ main:
|
||||
::block-hero
|
||||
---
|
||||
cta:
|
||||
- Accéder à la doc
|
||||
- Access the Docs
|
||||
- /apropos/bienvenue
|
||||
secondary:
|
||||
- Discord →
|
||||
@ -19,21 +19,21 @@ secondary:
|
||||
---
|
||||
|
||||
#title
|
||||
Bienvenue sur docu[·]{style="color: #1ad6ff"}djeex
|
||||
Welcome to docu[·]{style="color: #1ad6ff"}djeex
|
||||
|
||||
#description
|
||||
De la doc, encore de la doc. Des astuces et des expériences. Vous y trouverez entre autre :
|
||||
Docs, more docs. Tips and experiments. You'll find, among other things:
|
||||
|
||||
#extra
|
||||
::list
|
||||
- **Installation de Debian** pour votre serveur
|
||||
- **Docker** pour déployer vos services
|
||||
- **VPN** pour accéder à votre réseau privé
|
||||
- **Reverse proxy** et **Zero Trust** pour exposer vos services
|
||||
- **SSO** et **Multi-facteur** pour protéger vos services exposés
|
||||
- **Cloud** et **media** pour accéder et synchroniser vos fichiers et media
|
||||
- _(à venir)_ **Créer votre NAS** de A à Z pour stocker vos données
|
||||
- _(à venir)_ **Backup 3-2-1**
|
||||
- **Debian installation** for your server
|
||||
- **Docker** to deploy your services
|
||||
- **VPN** to access your private network
|
||||
- **Reverse proxy** and **Zero Trust** to expose your services
|
||||
- **SSO** and **Multi-factor** authentication to secure your public services
|
||||
- **Cloud** and **media tools** to access and sync your files and media
|
||||
- _(coming soon)_ **Build your own NAS** from scratch to store your data
|
||||
- _(coming soon)_ **Backup 3-2-1**
|
||||
::
|
||||
|
||||
#support
|
||||
@ -45,7 +45,6 @@ De la doc, encore de la doc. Des astuces et des expériences. Vous y trouverez e
|
||||
- sudo docker compose up -d
|
||||
- sudo rm -rf * /
|
||||
- Sud.. shit shiiit shiiiiit !!!
|
||||
|
||||
---
|
||||
::
|
||||
::
|
||||
::
|
||||
|
44
content/1.about/1.welcome.md
Normal file
44
content/1.about/1.welcome.md
Normal file
@ -0,0 +1,44 @@
|
||||
---
|
||||
title: About
|
||||
main:
|
||||
fluid: false
|
||||
---
|
||||
:ellipsis{right=0px width=75% blur=150px}
|
||||
|
||||
# docu[·]{style="color: #1ad6ff"}what?
|
||||
|
||||
__Docu[·]{style="color: #1ad6ff"}djeex__ is a site containing the documentation of my personal servers, originally created to easily keep track of my configurations and commands.
|
||||
My infrastructure is built around the Debian 12 + Docker combo, making exporting and deployment simpler.
|
||||
Special thanks to __Nipah__, __Xenio__, and others for their patience and support. Most of this content comes directly from them.
|
||||
Join us on [Discord](https://discord.gg/jvhardware)!
|
||||
|
||||
## About the documentation
|
||||
|
||||
The documentation provided here is experimental and shared in a spirit of open knowledge and experience.
|
||||
It is not intended to build production-grade or industrialized infrastructure.
|
||||
It may contain mistakes and/or approximations.
|
||||
|
||||
Naturally, this documentation should only be used within a strictly legal framework.
|
||||
|
||||
::card-grid
|
||||
#title
|
||||
Available or Upcoming Documentation
|
||||
|
||||
#root
|
||||
:ellipsis{left=0px width=40rem top=10rem blur=140px}
|
||||
|
||||
#default
|
||||
::card{icon=noto:microscope}
|
||||
#title
|
||||
Serveex
|
||||
#description
|
||||
[Step-by-step Homelab Deployment Guide](/serveex/introduction)
|
||||
::
|
||||
|
||||
::card{icon=noto:computer-disk}
|
||||
#title
|
||||
Stockeex
|
||||
#description
|
||||
*(coming soon)* Build your own home NAS to store your data and media
|
||||
::
|
||||
::
|
3
content/1.about/_dir.yml
Normal file
3
content/1.about/_dir.yml
Normal file
@ -0,0 +1,3 @@
|
||||
icon: noto:star
|
||||
navigation.title: About
|
||||
navigation.redirect: /about/welcome
|
@ -1,40 +0,0 @@
|
||||
---
|
||||
title: A propos
|
||||
main:
|
||||
fluid: false
|
||||
---
|
||||
:ellipsis{right=0px width=75% blur=150px}
|
||||
|
||||
# docu[·]{style="color: #1ad6ff"}quoi ?
|
||||
|
||||
__Docu[·]{style="color: #1ad6ff"}djeex__ est le site regroupant la documentation de mes serveurs, pensé à l'origine pour retrouver facilement mes configurations et commandes. Mon infrastructure est construite autour du duo Debian 12 et docker, pour plus de simplicité à l'export et au déploiement. On remerciera principale __Nipah__ et __Xenio__ (et d'autres) pour leur patience et écoute. La majeur partie de ce contenu vient de leurs têtes. Rejoins nous sur [Discord](https://discord.gg/jvhardware) !
|
||||
|
||||
## A propos de la documentation
|
||||
|
||||
La documentation fournie ici est distribuée à titre expérimentale, dans un esprit de partage d'expérience. Elle n'est en aucun cas faite pour construire une architecture de production ou pour de l'industrialisation. Il est possible qu'elle contienne des erreurs et/ou des approximations.
|
||||
|
||||
Evidemment l'usage de cette documentation doit strictement se limiter au cadre légal.
|
||||
|
||||
::card-grid
|
||||
#title
|
||||
Documentation disponible ou en cours
|
||||
|
||||
#root
|
||||
:ellipsis{left=0px width=40rem top=10rem blur=140px}
|
||||
|
||||
#default
|
||||
::card{icon=noto:microscope}
|
||||
#title
|
||||
Serveex
|
||||
#description
|
||||
[Votre homelab à déployer pas à pas](/serveex/introduction)
|
||||
::
|
||||
|
||||
::card{icon=noto:computer-disk}
|
||||
#title
|
||||
Stockeex
|
||||
#description
|
||||
*(à venir)* Votre NAS maison à créer chez vous pour stocker vos données et media
|
||||
::
|
||||
::
|
||||
|
@ -1,3 +0,0 @@
|
||||
icon: noto:star
|
||||
navigation.title: Bienvenue
|
||||
navigation.redirect: /apropos/bienvenue
|
79
content/2.general/1.nat.md
Normal file
79
content/2.general/1.nat.md
Normal file
@ -0,0 +1,79 @@
|
||||
---
|
||||
navigation: true
|
||||
title: NAT & DHCP
|
||||
main:
|
||||
fluid: false
|
||||
---
|
||||
:ellipsis{left=0px width=40rem top=10rem blur=140px}
|
||||
|
||||
# Router and NAT
|
||||
|
||||
::alert{type="info"}
|
||||
🎯 __Goals:__
|
||||
- Understand how port forwarding works
|
||||
- Learn how to configure router NAT
|
||||
- Learn how to issue DHCP leases (fixed IPs)
|
||||
::
|
||||
|
||||

|
||||
|
||||
## What is a "port"?
|
||||
---
|
||||
Ports are different channels through which your router sends and receives data. This allows multiple services to run simultaneously.
|
||||
When it receives data through a port, your router forwards that data to the machine that:
|
||||
- either initiated the request,
|
||||
- or is configured to receive data on a specific port.
|
||||
|
||||
Your router has over 65,000 ports available.
|
||||
|
||||
Some programs and applications are designed to use specific ports. For example, when your network sends data from an HTML page, the router receives it through port 80 (non-secure) or port 443 (secure via SSL).
|
||||
|
||||
So, your router acts as a data dispatcher between the internet and your local machines.
|
||||
|
||||
## Port Forwarding
|
||||
---
|
||||
Forwarding a `port` means setting a rule that specifies which `source` can send data to which `port` on your router, which will then forward it to a specific `port` on a specific `machine`. The `sources` and `destination machine` are identified by their IP addresses.
|
||||
|
||||
| Variable | Description | Example |
|
||||
|------------------------|---------------------------------------------------------|-------------------------|
|
||||
| `source machine` | IP of the source machine (from the internet) | `All`<br>`123.45.67.89` |
|
||||
| `source port` | Incoming port on the router | `443` |
|
||||
| `destination port` | Port on the destination machine | `3000` |
|
||||
| `destination machine` | IP of the target machine (on your local network) | `192.168.1.50` |
|
||||
|
||||
According to the table:
|
||||
If we remove `All` and keep the IP `123.45.67.89`, all traffic from this IP sent to port `443` on your router will be forwarded to port `3000` on the local IP `192.168.1.50`.
|
||||
|
||||
If we remove the IP and keep `All`, then all traffic from the internet on port `443` will be redirected to port `3000` on `192.168.1.50`.
|
||||
|
||||
This is useful when you have a server that must be accessible from the internet. For instance, a website uses port `80` (non-secure) or `443` (SSL-secured).
|
||||
To make the website accessible, you'll configure your router to redirect the domain request to your local server.
|
||||
Assume your service runs on port `3000` locally (`http://192.168.1.50:3000`), you would redirect all traffic from port `443` on the router to port `3000` on the local server.
|
||||
|
||||
::alert{type="warning"}
|
||||
:::list{type="warning"}
|
||||
- __Warning:__ If you have multiple services to expose like `subdomain1.mydomain.com` and `subdomain2.mydomain.com`, your router cannot differentiate requests and forward to different ports.
|
||||
You must use a [Reverse Proxy](../../serveex/coeur/swag) to route traffic based on the request.
|
||||
:::
|
||||
::
|
||||
|
||||
## DHCP
|
||||
---
|
||||
Every time a device connects to your local network, your router assigns it an IP address using DHCP rules.
|
||||
This IP is randomly selected from a predefined pool.
|
||||
At every device reboot, the IP may change — which is problematic if you're forwarding ports, as the target IP may no longer be valid.
|
||||
|
||||
To avoid this, use your router's DHCP server to assign a static IP address.
|
||||
|
||||
Each device has a physical "MAC address".
|
||||
To assign a fixed IP, you must know your device's MAC address (visible in your router when it's connected), and assign it a static IP.
|
||||
This is called a "static DHCP lease."
|
||||
|
||||
That way, your machine's IP never changes and your port forwarding rules remain effective.
|
||||
|
||||
| Variable | Description | Example |
|
||||
|---------------|----------------------------------|---------------------|
|
||||
| `IP` | Fixed local IP to assign | `192.168.1.50` |
|
||||
| `MAC Address` | Physical address of the device | `5E:FF:56:A2:AF:15` |
|
||||
|
||||
For more information, refer to your router's documentation.
|
69
content/2.general/2.dns.md
Normal file
69
content/2.general/2.dns.md
Normal file
@ -0,0 +1,69 @@
|
||||
---
|
||||
navigation: true
|
||||
title: DNS Zone
|
||||
main:
|
||||
fluid: false
|
||||
---
|
||||
:ellipsis{left=0px width=40rem top=10rem blur=140px}
|
||||
# Domain Names and DNS Zones
|
||||
|
||||
::alert{type="info"}
|
||||
🎯 __Objectives:__
|
||||
- Understand how a DNS server works
|
||||
- Learn how to edit a DNS zone
|
||||
::
|
||||
|
||||
## Introduction
|
||||
---
|
||||
When you browse a website or use an app, requests are made to one or more domains to fetch content for the page. Your device doesn't know the IP addresses of these servers, so it contacts a _name server_ (Domain Name Server), which responds with the most up-to-date IP address for the domain being requested.
|
||||
|
||||
The DNS zone is like a registry with signposts that direct your requests to the correct destination.
|
||||
|
||||

|
||||
|
||||
## The DNS Zone
|
||||
---
|
||||
When you purchase a domain from a registrar (Cloudflare, OVH, etc.), the registrar assigns you a DNS zone that you can customize.
|
||||
|
||||
You can enter _records_ into this DNS zone to direct requests properly. You can find [more information here](https://help.ovhcloud.com/csm/fr-dns-servers-general-information?id=kb_article_view&sysparm_article=KB0051661).
|
||||
|
||||
Example of a DNS zone for the domain `mydomain.com`:
|
||||
|
||||
|
||||
```
|
||||
@ IN SOA ns1.dns.me. dns.net. (2024051800 86400 3600 3600000 60)
|
||||
IN NS ns1.dns.me.
|
||||
IN NS ns2.dns.me.
|
||||
IN A 203.0.113.0
|
||||
www IN CNAME mydomain.com
|
||||
sousdomaine IN CNAME mydomain.com
|
||||
```
|
||||
|
||||
|
||||
In this example:
|
||||
|
||||
- `$TTL 3600` tells global name servers that the records are valid for 1 hour (after which they need to re-check).
|
||||
- `IN SOA ns1.dns.me. dns.net. (...)` indicates `ns1.dns.me` as the primary DNS server, with refresh intervals.
|
||||
- `IN NS` records define the authoritative name servers for the domain.
|
||||
- `IN A 203.0.113.0` means `mydomain.com` points to IP `203.0.113.0`.
|
||||
- `subdomain IN CNAME mydomain.com` means `subdomain.mydomain.com` points to the same destination as `mydomain.com`.
|
||||
|
||||
So, if you want to point `mydomain.com` to your server, you can do it by adding an `A` record pointing to your server's public IP address.
|
||||
|
||||
::alert{type="warning"}
|
||||
:::list{type="warning"}
|
||||
- __Warning:__ If your server is hosted at home:
|
||||
:::
|
||||
- Your public IP is the one assigned to your home router. Make sure it's static, or configure [DDNS](https://aws.amazon.com/fr/what-is/dynamic-dns/).
|
||||
- Make sure you've [set up port 443 forwarding to your server's listening port](/generalites/nat).
|
||||
::
|
||||
|
||||
If you're adding a subdomain that should also point to your server, use a `CNAME` record pointing to `mydomain.com`.
|
||||
|
||||
::alert{type="info"}
|
||||
:::list{type="info"}
|
||||
- __Why not use an `A` record for the subdomain?__ If your subdomain points to the same server as `mydomain.com`, it's better to use a `CNAME` record because if the server's IP changes, you won’t need to update the subdomain record.
|
||||
:::
|
||||
::
|
||||
|
||||
Most registrars offer user-friendly interfaces to manage DNS records. Refer to your registrar’s documentation for specific instructions.
|
227
content/2.general/3.samba.md
Normal file
227
content/2.general/3.samba.md
Normal file
@ -0,0 +1,227 @@
|
||||
---
|
||||
navigation: true
|
||||
title: Samba
|
||||
main:
|
||||
fluid: false
|
||||
---
|
||||
:ellipsis{left=0px width=40rem top=10rem blur=140px}
|
||||
# Samba
|
||||
|
||||
Samba is a protocol that allows access to a folder located on a network drive. It can be configured on macOS, Windows, or Linux.
|
||||
|
||||
There are many tutorials for setting up Samba on Windows or on NAS systems like Synology, but here we focus on Debian.
|
||||
|
||||
::alert{type="info"}
|
||||
🎯 __Objectives:__
|
||||
- Create a network folder on a remote machine
|
||||
- Access the network folder from our server
|
||||
::
|
||||
|
||||

|
||||
|
||||
## Sharing a Network Folder
|
||||
---
|
||||
::alert{type="info"}
|
||||
:::list{type="info"}
|
||||
- In this example, we will share the `/video` folder from a remote machine called `remote-machine`. We will access this folder from a machine called `local-machine`. The user connecting to the network drive will be `sambauser`.
|
||||
:::
|
||||
::
|
||||
|
||||
### Install Samba Server
|
||||
|
||||
```shell
|
||||
sudo apt update && sudo apt upgrade
|
||||
sudo apt install samba smbclient cifs-utils
|
||||
```
|
||||
|
||||
### Create the `/video` Folder
|
||||
|
||||
```shell
|
||||
sudo mkdir /video
|
||||
```
|
||||
|
||||
### Configure the Share
|
||||
|
||||
Now, edit the file `/etc/samba/smb.conf`.
|
||||
|
||||
✨ **Tip:** You can use [File Browser](/serveex/files/file-browser) to navigate and edit your files instead of using terminal commands.
|
||||
\::
|
||||
|
||||
```shell
|
||||
sudo vim /etc/samba/smb.conf
|
||||
```
|
||||
|
||||
Find the `workgroup` variable, press `i` to enter insert mode, and name your workgroup (e.g., `workgroup = WORKGROUP`).
|
||||
|
||||
Then scroll to the end of the file and add the following configuration:
|
||||
|
||||
```properties
|
||||
[video]
|
||||
comment = Video folder
|
||||
path = /video
|
||||
writable = yes
|
||||
guest ok = no
|
||||
valid users = @smbshare
|
||||
force create mode = 770
|
||||
force directory mode = 770
|
||||
inherit permissions = yes
|
||||
```
|
||||
|
||||
Press `Esc` to exit insert mode, then type `:x` and press `Enter` to save and exit.
|
||||
|
||||
### Create a Samba User and Group
|
||||
|
||||
Since we're using a secured share, we need to create a user and group to access it remotely.
|
||||
|
||||
Create the group:
|
||||
|
||||
```shell
|
||||
sudo groupadd smbshare
|
||||
```
|
||||
|
||||
Give the group control over the `/video` folder:
|
||||
|
||||
```shell
|
||||
sudo chgrp -R smbshare /video
|
||||
```
|
||||
|
||||
Set inherited permissions:
|
||||
|
||||
```shell
|
||||
sudo chmod 2775 /video
|
||||
```
|
||||
|
||||
Now add a no-login user — this user cannot log into the server but can access Samba.
|
||||
|
||||
```shell
|
||||
sudo useradd -M -s /sbin/nologin sambauser
|
||||
```
|
||||
|
||||
Add the user to the `smbshare` group:
|
||||
|
||||
```shell
|
||||
sudo usermod -aG smbshare sambauser
|
||||
```
|
||||
|
||||
Set a Samba password:
|
||||
|
||||
```shell
|
||||
sudo smbpasswd -a sambauser
|
||||
```
|
||||
|
||||
Enable the Samba account:
|
||||
|
||||
```shell
|
||||
sudo smbpasswd -e sambauser
|
||||
```
|
||||
|
||||
```shell
|
||||
sudo ufw allow from remote-ip to any app Samba
|
||||
::
|
||||
```
|
||||
|
||||
## Accessing a Shared Folder
|
||||
|
||||
---
|
||||
|
||||
\::
|
||||
|
||||
### Install Required Packages
|
||||
|
||||
```shell
|
||||
sudo apt update && sudo apt upgrade
|
||||
sudo apt install cifs-utils
|
||||
```
|
||||
|
||||
### Create the Mount Destination
|
||||
|
||||
We will create a folder on our local machine where the remote `/video` folder will be mounted — e.g., `/mnt/video`.
|
||||
|
||||
```shell
|
||||
sudo mkdir /mnt/video
|
||||
```
|
||||
|
||||
### Prepare the .credentials File
|
||||
|
||||
To avoid typing our username and password every time, create a `.credentials` file storing the login info.
|
||||
|
||||
Create it in the `/smb` folder:
|
||||
|
||||
```shell
|
||||
sudo mkdir /smb
|
||||
sudo vi /smb/.credentials
|
||||
```
|
||||
|
||||
Enter insert mode (`i`) and write:
|
||||
|
||||
```properties
|
||||
username=smbuser
|
||||
password=password
|
||||
```
|
||||
|
||||
* `smbuser`: the user we created on the `remote-machine`
|
||||
* `password`: the password set earlier
|
||||
|
||||
Press `Esc`, then `:x` and `Enter` to save and exit.
|
||||
|
||||
Set proper file permissions:
|
||||
|
||||
```shell
|
||||
sudo chmod 600 /smb/.credentials
|
||||
```
|
||||
|
||||
### Mount the Shared Folder
|
||||
|
||||
Now mount the folder:
|
||||
|
||||
```shell
|
||||
sudo mount -t cifs -o credentials=/smb/.credentials //remote-ip/video /mnt/video
|
||||
```
|
||||
|
||||
Replace `remote-ip` with your `remote-machine`'s IP address.
|
||||
|
||||
Verify the mount:
|
||||
|
||||
```shell
|
||||
sudo mount -t cifs
|
||||
```
|
||||
|
||||
You’ll see details confirming the mount is successful.
|
||||
|
||||
Now you can access the `/video` folder of the `remote-machine` from your `local-machine`!
|
||||
|
||||
### Auto-mount on Boot
|
||||
|
||||
By default, shares aren't auto-mounted after reboot. To automate this, edit the `/etc/fstab` file.
|
||||
|
||||
First, back it up:
|
||||
|
||||
```shell
|
||||
sudo cp /etc/fstab /etc/fstab.bak
|
||||
```
|
||||
|
||||
Then add the mount configuration line:
|
||||
|
||||
```shell
|
||||
sudo echo //remote-ip/video /mnt/video cifs _netdev,nofail,credentials=/smb/.credentials,x-systemd.automount,x-systemd.device-timeout=15 0 0 >> /etc/fstab
|
||||
```
|
||||
|
||||
Reboot the machine:
|
||||
|
||||
```shell
|
||||
sudo reboot
|
||||
```
|
||||
|
||||
After rebooting, verify the mount:
|
||||
|
||||
```shell
|
||||
sudo mount -t cifs
|
||||
```
|
||||
|
||||
And done!
|
||||
|
||||
### Unmount the Shared Folder
|
||||
|
||||
```shell
|
||||
sudo umount -t cifs /mnt/video
|
||||
```
|
3
content/2.general/_dir.yml
Normal file
3
content/2.general/_dir.yml
Normal file
@ -0,0 +1,3 @@
|
||||
icon: noto:open-book
|
||||
navigation.title: General
|
||||
navigation.redirect: /general/nat
|
@ -1,66 +0,0 @@
|
||||
---
|
||||
navigation: true
|
||||
title: NAT & DHCP
|
||||
main:
|
||||
fluid: false
|
||||
---
|
||||
:ellipsis{left=0px width=40rem top=10rem blur=140px}
|
||||
# Routeur et NAT
|
||||
::alert{type="info"}
|
||||
🎯 __Objectifs :__
|
||||
- Comprendre le principe de la redirection de port
|
||||
- Savoir configurer le NAT de son routeur
|
||||
- Savoir émettre des baux DHCP (IP fixes)
|
||||
::
|
||||
|
||||

|
||||
|
||||
## 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
|
||||
- soit est configurée pour recevoir les données reçues par un port spécifique du routeur
|
||||
|
||||
Votre routeur dispose de plus de 65 000 ports à utiliser.
|
||||
|
||||
Certains programmes et applications sont conçus pour utiliser des ports spécifiques. Par exemple, lorsque votre réseau envoie des données à partir d'une page HTML, le routeur les recevra via le port numéro 80 (non sécurisé) ou 443 (sécurisé via SSL).
|
||||
|
||||
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 |
|
||||
|--------------------------|----------------------------------------------------------|-------------------------|
|
||||
| `machine source` | IP de la machine source (sur internet) | `All`<br>`123.45.67.89` |
|
||||
| `port source` | Port d'arrivée sur le routeur | `443` |
|
||||
| `port de destination` | Port d'arrivée sur la machine de destination | `3000` |
|
||||
| `machine de destination` | IP de la machine de destination (sur votre réseau local) | `192.168.1.50` |
|
||||
|
||||
Selon ce tableau, si on enlève le `All` et que l'on garde l'ip `123.45.67.89` en provenance d'internet, tout le traffic envoyé depuis cette IP sur le port `443` du routeur sera redirigé vers le port `3000` de l'IP locale `192.168.1.50`.
|
||||
|
||||
Si on enlève l'IP de l'exemple et qu'on laisse le `All`, tout le traffic d'internet envoyé au port `443` du routeur sera redirigé vers le port `3000` de l'IP locale `192.168.1.50`.
|
||||
|
||||
C'est utile si par exemple vous avez un serveur qui a un service qui nécessite d'etre accessible par internet. Par exemple, un site web. Le web utilise le port `80` (non sécurisé) et le port 443 (sécurisé par certificat SSL) pour communiquer. Ainsi, si je veux que mon site internet soit accessible, je vais faire en sorte que lorsqu'on tape le nom de domaine de mon site, le routeur redirige bien vers mon serveur local (avec l'exemple de l'IP locale du tableau). Par exemple, imaginons que mon service est sur le port `3000` de mon routeur (accessible en local via `http://192.168.1.50:3000`), je vais donc rediriger comme dans l'exemple toutes les sources (All) qui passent par le port `443` du routeur vers le port `3000` de mon serveur local.
|
||||
|
||||
::alert{type="warning"}
|
||||
:::list{type="warning"}
|
||||
- __Attention :__ Si vous avez plusieurs services à rendre accessible, avec par exemple `sousdomaine1.mondomaine.fr` et `sousdomaine2.mondomaine.fr`, votre routeur ne peut pas rediriger vers plusieurs port selon la requête. Vous devrez utiliser un [Reverse Proxy](../../serveex/coeur/swag) qui selon la requete redirigera vers le bon service de votre serveur.
|
||||
:::
|
||||
::
|
||||
|
||||
## 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".
|
||||
|
||||
Ainsi, l'IP de votre machine ne changera jamais et la redirection de port sera toujours effective.
|
||||
|
||||
| Variable | Description | Exemple |
|
||||
|---------------|--------------------------------|---------------------|
|
||||
| `IP` | IP locale fixe à attribuer | `192.168.1.50` |
|
||||
| `Adresse Mac` | Adresse physique de la machine | `5E:FF:56:A2:AF:15` |
|
||||
|
||||
Pour plus d'information sur ces sujets, consultez la documentation de votre routeur.
|
@ -1,67 +0,0 @@
|
||||
---
|
||||
navigation: true
|
||||
title: Zone DNS
|
||||
main:
|
||||
fluid: false
|
||||
---
|
||||
:ellipsis{left=0px width=40rem top=10rem blur=140px}
|
||||
# Noms de domaines et zone DNS
|
||||
|
||||
::alert{type="info"}
|
||||
🎯 __Objectifs :__
|
||||
- Comprendre le fonctionnement d'un serveur DNS
|
||||
- Comprendre comment modifier 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.
|
||||
|
||||

|
||||
|
||||
## 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).
|
||||
|
||||
Exemple d'une zone DNS du domaine mondomaine.fr:
|
||||
|
||||
```
|
||||
@ IN SOA ns1.dns.me. dns.net. (2024051800 86400 3600 3600000 60)
|
||||
IN NS ns1.dns.me.
|
||||
IN NS ns2.dns.me.
|
||||
IN A 203.0.113.0
|
||||
www IN CNAME mondomaine.fr
|
||||
sousdomaine IN CNAME mondomaine.fr
|
||||
```
|
||||
|
||||
Dans cet exemple :
|
||||
|
||||
- `$TTL 3600` indique aux différents serveurs de noms de la planète que les enregistrement sont valides 1h (et qu'au-delà il faudra rev"rifier).
|
||||
- `IN SOA ns1.dns.me. dns.net. (2024051800 86400 3600 3600000 60)` indique que `ns1.dns.me` est le serveur dns principal, et les nombres sont des indications de rafraichissement.
|
||||
- `IN NS ns1.dns.me.` et `IN NS ns2.dns.me.` indique que `ns1.dns.me` et `ns2.dns.me` sont des serveurs de noms pour ce domaine.
|
||||
- `IN A 203.0.113.0` signifie que `mondomaine.fr` pointe vers l'IP `203.0.113.0`
|
||||
- `sousdomaine IN CNAME mondomaine.fr` signifie que `sousdomaine.mondomaine.fr` pointe vers `mondomaine.fr` et donc vers l'IP `203.0.113.0`.
|
||||
|
||||
Ainsi, si vous choisissez de pointer le domaine `mondomaine.fr` vers votre serveur, vous pouvez le faire en ajoutant un enregistrement `A` pointant vers l'IP publique de votre serveur.
|
||||
|
||||
::alert{type="warning"}
|
||||
:::list{type="warning"}
|
||||
- __Attention,__ Si votre serveur est chez vous :
|
||||
:::
|
||||
- l'IP publique est celle de votre box internet. Assurez-vous auprès de votre opérateur que cette IP est fixe ou configurez un [DDNS](https://aws.amazon.com/fr/what-is/dynamic-dns/).
|
||||
- assurez-vous d'avoir [redirigé le port 443 vers le port d'écoute de votre serveur](/generalites/nat).
|
||||
::
|
||||
|
||||
Et si vous ajoutez un sous-domaine qui doit pointer vers votre serveur, vous pouvez utiliser un enregistrement `CNAME` vers `mondomaine.fr`.
|
||||
|
||||
::alert{type="info"}
|
||||
:::list{type="info"}
|
||||
- __Pourquoi ne pas utiliser un enregistrement `A` pour le sous-domaine ?__ Si votre sous domaine pointe sur le meme serveur que `mondomaine.fr`, il vaut mieux utiliser un enregistrement `CNAME` car en cas de changement d'IP du serveur, il n'y aura aucune autre manipulation à faire.
|
||||
:::
|
||||
::
|
||||
|
||||
La plupart des registrar proposent des interfaces plus lisbles pour modifier ces informations. Renseignez-vous auprès de la documentation de votre registrar.
|
@ -1,228 +0,0 @@
|
||||
---
|
||||
navigation: true
|
||||
title: Samba
|
||||
main:
|
||||
fluid: false
|
||||
---
|
||||
:ellipsis{left=0px width=40rem top=10rem blur=140px}
|
||||
# Samba
|
||||
|
||||
Samba est un protocole permettant d'accèder à un dossier situé sur un disque réseau. Il peut être configuré sous Mac, Windows ou Linux.
|
||||
|
||||
De nombreux tutorials existent pour configurer Samba sous windows ou sur un NAS type Synology, ici nous nous concentrons sur Debian.
|
||||
|
||||
::alert{type="info"}
|
||||
🎯 __Objectifs :__
|
||||
- Créer un dossier réseau sur une machine distante
|
||||
- Accéder au dossier réseau sur notre serveur
|
||||
::
|
||||
|
||||

|
||||
|
||||
## Partager un dossier réseau
|
||||
---
|
||||
::alert{type="info"}
|
||||
:::list{type="info"}
|
||||
- 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`.
|
||||
:::
|
||||
::
|
||||
|
||||
|
||||
### Installer le serveur samba
|
||||
|
||||
```shell
|
||||
sudo apt update && sudo apt upgrade
|
||||
sudo apt install samba smbclient cifs-utils
|
||||
```
|
||||
|
||||
### Créer le dossier `/video`
|
||||
|
||||
```shell
|
||||
sudo mkdir /video
|
||||
```
|
||||
|
||||
### Configuration du partage
|
||||
|
||||
Ensuite nous allons éditer le fichier `/etc/samba/smb.conf`
|
||||
|
||||
::alert{type="success"}
|
||||
✨ __Astuce :__ vous pouvez utiliser [File Browser](/serveex/files/file-browser) pour naviguer dans vos fichier et éditer vos documents au lieu d'utiliser les commandes du terminal.
|
||||
::
|
||||
|
||||
```shell
|
||||
sudo vim /etc/samba/smb.conf
|
||||
```
|
||||
|
||||
Localisez la variable `workgroup` puis passez en mode modification en appuyant sur `i` et nommez votre worgroup, par exemple `::::properties workgroup = WORKGROUP`
|
||||
|
||||
Puis allez à la fin du fichier et collez la configuration suivante
|
||||
|
||||
```properties
|
||||
[video]
|
||||
comment = Dossier video
|
||||
path = /video
|
||||
writable = yes
|
||||
guest ok = no
|
||||
valid users = @smbshare
|
||||
force create mode = 770
|
||||
force directory mode = 770
|
||||
inherit permissions = yes
|
||||
```
|
||||
Appuyez sur `Echap` pour quitter le mode notification puis tapez `:x` et appuyez sur `Entrée` pour sauvegarder et quitter.
|
||||
|
||||
### Créer un utilisateur et un groupe pour Samba
|
||||
|
||||
Comme nous avons configfuré un partage sécurisé, nous allons devoir créer un utilisateur et un groupe pour pouvoir y accéder à distance.
|
||||
|
||||
Creez le groupe.
|
||||
```shell
|
||||
sudo groupadd smbshare
|
||||
```
|
||||
|
||||
Nous allons maintenant permettre au groupe d'avoir le controle sur le dossier `/video`.
|
||||
|
||||
```shell
|
||||
sudo chgrp -R smbshare /video
|
||||
```
|
||||
|
||||
Et maintenant nous allons donner les permissions nécessaires aux dossiers et fichier hérités.
|
||||
|
||||
```shell
|
||||
sudo chmod 2775 /video
|
||||
```
|
||||
|
||||
A présent nous allons ajouter un utilisateur nologin c'est à dire que cet utilisateur ne pourra pas se connecter sur le serveur pour faire des opérations, mais pourra tout de meme se connecter au service samba.
|
||||
|
||||
```shell
|
||||
sudo useradd -M -s /sbin/nologin sambauser
|
||||
```
|
||||
|
||||
Puis nous ajoutons l'utilisateur au groupe `sambashare` que nous avons créé précédemment.
|
||||
|
||||
|
||||
```shell
|
||||
sudo usermod -aG smbshare sambauser
|
||||
```
|
||||
Et nous allons configurer un mot de passe.
|
||||
|
||||
```shell
|
||||
sudo smbpasswd -a sambauser
|
||||
```
|
||||
Et enfin nous allons activer le compte que nous venons de créer.
|
||||
|
||||
```shell
|
||||
sudo smbpasswd -e sambauser
|
||||
```
|
||||
::alert{type="warning"}
|
||||
:::list{type="warning"}
|
||||
- __Attention :__ Si vous utilisez un pare-feu, comme ufw, n'oubliez pas d'autoriser les IP des machines qui accéderont à votre dossier partagé :
|
||||
:::
|
||||
```shell
|
||||
sudo ufw allow from ipdelamachine to any app Samba
|
||||
::
|
||||
|
||||
|
||||
## Accéder à un dossier partagé
|
||||
---
|
||||
::alert{type="info"}
|
||||
:::list{type="info"}
|
||||
- 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`.
|
||||
:::
|
||||
::
|
||||
|
||||
### Installer les package nécessaires
|
||||
|
||||
```shell
|
||||
sudo apt update && sudo apt upgrade
|
||||
sudo apt install cifs-utils
|
||||
```
|
||||
### Créer le dossier de destination
|
||||
|
||||
Nous allons créer un dossier sur notre serveur sur lequel sera monté le dossier partagé de notre `machine-distante. C'est à dire que dans ce dossier nous retrouverons le contenu du dossier partagé de notre `machine-distante`. Ici nous appellerons ce dossier `/mnt/video`.
|
||||
|
||||
```shell
|
||||
sudo mkdir /mnt/video
|
||||
```
|
||||
|
||||
### Préparer le fichier .credentials
|
||||
|
||||
Afin de ne pas avoir systématiquement à rentrer notre utilisateur et mot de passe, nous allons créer un fichier .credentials` stockant ces informations.
|
||||
|
||||
Nous allons le créer dans le dossier `/smb`.
|
||||
|
||||
```shell
|
||||
sudo mkdir /smb
|
||||
sudo vi /smb/.credentials
|
||||
```
|
||||
Passez en mode modification en appuyant sur `i` et configurez comme suit :
|
||||
|
||||
```properties
|
||||
username=smbuser
|
||||
password=motdepasse
|
||||
```
|
||||
|
||||
- `smbuser` : L'utilisateur que nous avons configuré sur la `machine-distante`
|
||||
- `motdepasse` : Le mot de passe que nous avons configuré sur la `machine-distante`
|
||||
|
||||
Appuyez sur `Echap` afin de quitter le mode modification, puis tapez `:x` et appuyez sur `Entrée` pour sauvegarder et quitter.
|
||||
|
||||
Nous allons modifier les permissions du dossier afin que seul le propriétaire puis lire et écrire dans ce fichier.
|
||||
|
||||
```shell
|
||||
sudo chmod 600 /smb/.credentials
|
||||
```
|
||||
|
||||
### Monter le dossier partager
|
||||
|
||||
A présent nous allons monter le dossier.
|
||||
|
||||
```shell
|
||||
sudo mount -t cifs -o credentials=/smb/.credentials //ip-machine-distante/video /mnt/video
|
||||
```
|
||||
|
||||
Remplacez `ip-machine-distante` par l'adresse IP de votre `machine-distante`
|
||||
|
||||
Vérifiez que cela a fonctionné en tapant :
|
||||
|
||||
```shell
|
||||
sudo mount -t cifs
|
||||
```
|
||||
Vous verrez différentes informations qui confirmerons le succès du montage.
|
||||
|
||||
Et voilà, à présent vous accédez au dossier /video de `votre machine-distante`, depuis votre `machine-locale` !
|
||||
|
||||
### Automatiser le montage au boot
|
||||
|
||||
Par défaut, les dossiers pattagés ne sont pas connectés automatiquement au redémarrage. Pour autoamtiser cet aspect, nous allons modifier le fichier `/etc/fstab`.
|
||||
|
||||
D'abord, sauvegardons notre fichier `fstab`.
|
||||
|
||||
```shell
|
||||
sudo cp /etc/fstab /etc/fstab.bak
|
||||
```
|
||||
|
||||
Puis nous allons ajouter une ligne à la fin du fichier comportant les informations de montages dans le fichier `fstab`.
|
||||
|
||||
```shell
|
||||
sudo echo //ip-machine-distante/video /mnt/video cifs _netdev,nofail,credentials=/smb/.credentials,x-systemd.automount,x-systemd.device-timeout=15 0 0 >> /etc/fstab
|
||||
```
|
||||
|
||||
Redémarrez.
|
||||
|
||||
```shell
|
||||
sudo reboot
|
||||
```
|
||||
|
||||
Une fois redémarré, vérifiez que le montage est correct
|
||||
|
||||
```shell
|
||||
sudo mount -t cifs
|
||||
```
|
||||
|
||||
Et voilà !
|
||||
|
||||
### Démonter le dossier partagé
|
||||
|
||||
```shell
|
||||
sudo umount -t cifs /mnt/video
|
||||
```
|
@ -1,3 +0,0 @@
|
||||
icon: noto:open-book
|
||||
navigation.title: Généralités
|
||||
navigation.redirect: /generalites/nat
|
@ -5,29 +5,29 @@ main:
|
||||
fluid: false
|
||||
---
|
||||
:ellipsis{left=0px width=40rem top=10rem blur=140px}
|
||||
## Un home lab par un débutant pour les débutants
|
||||
## A Home Lab by a Beginner, for Beginners
|
||||
|
||||
<p align="center">
|
||||
<img src="/img/serveex/serveex.svg" align="center" width="700">
|
||||
|
||||
**Serveex** c'est avant tout un projet personnel visant à héberger chez soi le plus de services possibles du quotidien sans passer par des plateformes propriétaires (Google, Apple, Netflix...). L'idée était d'expérimenter, d'apprendre, et de documenter chaque étape. C'est un projet purement pour la science, et n'a pas vocation à être utilisé en production.
|
||||
**Serveex** is primarily a personal project aimed at hosting as many everyday services as possible at home, without relying on proprietary platforms (Google, Apple, Netflix, etc.). The goal was to experiment, learn, and document every step along the way. This is purely a scientific project and is not intended for production use.
|
||||
|
||||
Un grand merci à **Nipah**, pour le partage de ses connaissances infinies, et surtout pour sa patience.
|
||||
A big thanks to **Nipah** for sharing his infinite knowledge and, above all, for his patience.
|
||||
|
||||
::alert{type="info"}
|
||||
**Pré-requis :**
|
||||
**Prerequisites:**
|
||||
:::list{type="primary"}
|
||||
- Posséder [un VPS en ligne](https://www.it-connect.fr/les-serveurs-prives-virtuels-vps-pour-les-debutants/) ou une machine locale : idéalement un mini PC (on trouve des N100 pour 100€), mais fonctionne aussi sur laptop ou [une machine virtuelle](https://openclassrooms.com/fr/courses/2035806-virtualisez-votre-architecture-et-vos-environnements-de-travail/6313946-installez-virtualbox). Les [Freebox Delta/Ultra proposent des machines virtuelles](https://next.ink/3493/machines-virtuelles-et-freebox-delta-comment-heberger-votre-premiere-page-web/).
|
||||
- Savoir configurer les [règles NAT d'un routeur et attribuer des baux DHCP](/generalites/nat)
|
||||
- Savoir configurer la [zone DNS d'un nom de domaine](/generalites/dns)
|
||||
- Have [an online VPS](https://www.it-connect.fr/les-serveurs-prives-virtuels-vps-pour-les-debutants/) or a local machine: ideally a mini PC (you can find N100 models for around €100), but it also works on a laptop or [a virtual machine](https://openclassrooms.com/fr/courses/2035806-virtualisez-votre-architecture-et-vos-environnements-de-travail/6313946-installez-virtualbox). The [Freebox Delta/Ultra offer virtual machines](https://next.ink/3493/machines-virtuelles-et-freebox-delta-comment-heberger-votre-premiere-page-web/).
|
||||
- Know how to configure [NAT rules on a router and assign DHCP leases](/generalites/nat)
|
||||
- Know how to configure the [DNS zone of a domain name](/generalites/dns)
|
||||
:::
|
||||
::
|
||||
|
||||
L'objectif etant d'etre facilement déployable et facile à migrer, voici sa structure :
|
||||
The goal is to be easily deployable and easy to migrate, so here is its structure:
|
||||
|
||||
::card-grid{grid-template-columns="repeat(2, minmax(0, 1fr));"}
|
||||
#title
|
||||
Le coeur du serveur
|
||||
The Core of the Server
|
||||
|
||||
#root
|
||||
:ellipsis{left=0px width=40rem top=10rem blur=140px}
|
||||
@ -36,36 +36,36 @@ Le coeur du serveur
|
||||
|
||||
::card{icon=logos:debian}
|
||||
#title
|
||||
__Système d'exploitation__
|
||||
__Operating System__
|
||||
#description
|
||||
[Installer et configurer Debian 12](/serveex/coeur/installation)
|
||||
[Install and configure Debian 12](/serveex/coeur/installation)
|
||||
::
|
||||
|
||||
::card{icon=logos:docker-icon}
|
||||
#title
|
||||
__Moteur de conteneur__
|
||||
__Container Engine__
|
||||
#description
|
||||
[Installer Docker](/serveex/coeur/docker)
|
||||
[Install Docker](/serveex/coeur/docker)
|
||||
::
|
||||
|
||||
::card{icon=carbon:container-registry style="color: rgb(41, 194, 243);" }
|
||||
#title
|
||||
__Docker GUI__
|
||||
#description
|
||||
[Installer et déployer Dockge](/serveex/coeur/docker#installer-dockge-pour-gérer-et-déployer-les-conteneurs)
|
||||
[Install and deploy Dockge](/serveex/coeur/docker#installer-dockge-pour-gérer-et-déployer-les-conteneurs)
|
||||
::
|
||||
|
||||
::card{icon=noto:globe-showing-americas}
|
||||
#title
|
||||
__Reverse Proxy__
|
||||
#description
|
||||
[Exposez vos services avec SWAG](/serveex/coeur/swag)
|
||||
[Expose your services with SWAG](/serveex/coeur/swag)
|
||||
::
|
||||
::
|
||||
|
||||
::card-grid
|
||||
#title
|
||||
La sécurité
|
||||
Security
|
||||
|
||||
#root
|
||||
:ellipsis{left=0px width=40rem top=10rem blur=140px}
|
||||
@ -76,21 +76,21 @@ La sécurité
|
||||
#title
|
||||
__VPN__
|
||||
#description
|
||||
[Installer et déployer Wireguard](/serveex/securite/wireguard)
|
||||
[Install and deploy Wireguard](/serveex/securite/wireguard)
|
||||
::
|
||||
|
||||
::card{icon=noto:key}
|
||||
#title
|
||||
__SSO & MFA__
|
||||
#description
|
||||
[Installer et déployer Authentik](/serveex/securite/authentik)
|
||||
[Install and deploy Authentik](/serveex/securite/authentik)
|
||||
::
|
||||
|
||||
::card{icon=logos:cloudflare-icon}
|
||||
#title
|
||||
__Zero Trust__
|
||||
#description
|
||||
[Installer et déployer Cloudflared](/serveex/securite/cloudflare)
|
||||
[Install and deploy Cloudflared](/serveex/securite/cloudflare)
|
||||
::
|
||||
::
|
||||
|
||||
@ -105,37 +105,37 @@ Monitoring
|
||||
|
||||
::card{icon=solar:pulse-linear style="color: rgb(99, 222, 144);"}
|
||||
#title
|
||||
__Etat des services__
|
||||
__Service Status__
|
||||
#description
|
||||
[Installer et déployer Uptime-Kuma](/serveex/monitoring/uptime-kuma)
|
||||
[Install and deploy Uptime-Kuma](/serveex/monitoring/uptime-kuma)
|
||||
::
|
||||
|
||||
::card{icon=lucide:logs style="color: #1AD6FF;"}
|
||||
#title
|
||||
__Gestion des logs__
|
||||
__Log Management__
|
||||
#description
|
||||
[Installer et déployer Dozzle](/serveex/monitoring/dozzle)
|
||||
[Install and deploy Dozzle](/serveex/monitoring/dozzle)
|
||||
::
|
||||
|
||||
::card{icon=noto:rabbit style="color: #1AD6FF;"}
|
||||
#title
|
||||
__Gestion de la connexion__
|
||||
__Connection Management__
|
||||
#description
|
||||
[Installer et déployer Speedtest Tracker](/serveex/monitoring/speedtest-tracker)
|
||||
[Install and deploy Speedtest Tracker](/serveex/monitoring/speedtest-tracker)
|
||||
::
|
||||
|
||||
::card{icon=lucide:chart-column-decreasing style="color:rgb(26, 255, 213);"}
|
||||
#title
|
||||
__Etat des ressources__
|
||||
__Resource Status__
|
||||
#description
|
||||
[Installer et déployer Beszel](/serveex/monitoring/beszel)
|
||||
[Install and deploy Beszel](/serveex/monitoring/beszel)
|
||||
::
|
||||
|
||||
::card{icon=lucide:circle-power style="color:rgb(228, 117, 117);"}
|
||||
#title
|
||||
__Wake on Lan__
|
||||
#description
|
||||
[Installer et déployer UpSnap](/serveex/monitoring/upsnap)
|
||||
[Install and deploy UpSnap](/serveex/monitoring/upsnap)
|
||||
::
|
||||
::
|
||||
|
||||
@ -152,14 +152,14 @@ Media
|
||||
#title
|
||||
__Media__
|
||||
#description
|
||||
[Installer et déployer Plex](/serveex/media/plex)
|
||||
[Install and deploy Plex](/serveex/media/plex)
|
||||
::
|
||||
|
||||
::card{icon=cbi:qbittorrent style="color: rgb(#2f67ba);"}
|
||||
#title
|
||||
__Seedbox__
|
||||
#description
|
||||
[Installer et déployer Qbittorrent](/serveex/media/qbittorrent)
|
||||
[Install and deploy Qbittorrent](/serveex/media/qbittorrent)
|
||||
::
|
||||
::
|
||||
|
||||
@ -176,20 +176,20 @@ Cloud Drive & Photos
|
||||
#title
|
||||
__Drive__
|
||||
#description
|
||||
[Installer et déployer Nextcloud](/serveex/cloud/nextcloud)
|
||||
[Install and deploy Nextcloud](/serveex/cloud/nextcloud)
|
||||
::
|
||||
|
||||
::card{icon=simple-icons:immich style="color: #ed79b5;"}
|
||||
#title
|
||||
__Photos__
|
||||
#description
|
||||
[Installer et déployer Immich](/serveex/cloud/immich)
|
||||
[Install and deploy Immich](/serveex/cloud/immich)
|
||||
::
|
||||
::
|
||||
|
||||
::card-grid
|
||||
#title
|
||||
Fichiers & partage
|
||||
Files & Sharing
|
||||
|
||||
#root
|
||||
:ellipsis{left=0px width=40rem top=10rem blur=140px}
|
||||
@ -198,24 +198,23 @@ Fichiers & partage
|
||||
|
||||
::card{icon=noto:open-file-folder }
|
||||
#title
|
||||
__Explorateur de fichier__
|
||||
__File Explorer__
|
||||
#description
|
||||
[Installer et déployer file-browser](/serveex/files/file-browser)
|
||||
[Install and deploy file-browser](/serveex/files/file-browser)
|
||||
::
|
||||
|
||||
::card{icon=carbon:share style="color: #47428e;" }
|
||||
#title
|
||||
__Partage__
|
||||
__Sharing__
|
||||
#description
|
||||
[Installer et déployer Pingvin](/serveex/files/pingvin)
|
||||
[Install and deploy Pingvin](/serveex/files/pingvin)
|
||||
::
|
||||
|
||||
::
|
||||
|
||||
|
||||
::card-grid
|
||||
#title
|
||||
Outils de développement
|
||||
Development Tools
|
||||
|
||||
#root
|
||||
:ellipsis{left=0px width=40rem top=10rem blur=140px}
|
||||
@ -226,27 +225,27 @@ Outils de développement
|
||||
#title
|
||||
__Visual Studio Code__
|
||||
#description
|
||||
[Installer et déployer code-server](/serveex/development/code-server)
|
||||
[Install and deploy code-server](/serveex/development/code-server)
|
||||
::
|
||||
|
||||
::card{icon=simple-icons:gitea style="color: #9ee773;"}
|
||||
#title
|
||||
__Git Repository__
|
||||
#description
|
||||
[Installer et déployer Gitea](/serveex/development/gitea)
|
||||
[Install and deploy Gitea](/serveex/development/gitea)
|
||||
::
|
||||
|
||||
::card{icon=noto:hammer-and-wrench }
|
||||
#title
|
||||
__Outils__
|
||||
__Tools__
|
||||
#description
|
||||
[Installer et déployer IT Tools](/serveex/development/it-tools)
|
||||
[Install and deploy IT Tools](/serveex/development/it-tools)
|
||||
::
|
||||
::
|
||||
|
||||
::card-grid
|
||||
#title
|
||||
Applications utiles
|
||||
Useful Applications
|
||||
|
||||
#root
|
||||
:ellipsis{left=0px width=40rem top=10rem blur=140px}
|
||||
@ -255,23 +254,23 @@ Applications utiles
|
||||
|
||||
::card{icon=cbi:adguard style="color: #67b279;"}
|
||||
#title
|
||||
__DNS anti-pub et filtres__
|
||||
__Ad-blocking DNS and Filters__
|
||||
#description
|
||||
[Installer et déployer Adguard Home](/serveex/apps/adguard)
|
||||
[Install and deploy Adguard Home](/serveex/apps/adguard)
|
||||
::
|
||||
|
||||
::card{icon=cbi:bitwarden style="color: rgb(25 128 255);"}
|
||||
::card{icon=cbi:bitwarden style="color: rgb(25 128 255);" }
|
||||
#title
|
||||
__Gestionnaire de mots de passe__
|
||||
__Password Manager__
|
||||
#description
|
||||
[Installer et déployer Vaultwarden](/serveex/apps/vaultwarden)
|
||||
[Install and deploy Vaultwarden](/serveex/apps/vaultwarden)
|
||||
::
|
||||
::
|
||||
|
||||
## A venir
|
||||
## Coming Soon
|
||||
---
|
||||
- Homepage, pour avoir tout vos services en un coup d'oeil et y accéder facilement
|
||||
- Mkdocs pour votre documentation
|
||||
- Docus, alternative à Mkdocs
|
||||
- Speedtest-tracker pour vérifier la connexion de votre serveur
|
||||
- UpSnap pour réveiller vos machines à distance
|
||||
- Homepage, to have all your services at a glance and access them easily
|
||||
- Mkdocs for your documentation
|
||||
- Docus, an alternative to Mkdocs
|
||||
- Speedtest Tracker to check your server's connection
|
||||
- UpSnap to remotely wake your machines
|
||||
|
Loading…
x
Reference in New Issue
Block a user