Label terminal commands and directory trees in code blocks

This commit is contained in:
Djeex
2026-08-31 19:57:52 +02:00
parent 61f4b0447b
commit baf3590186
53 changed files with 214 additions and 206 deletions
+6
View File
@@ -31,6 +31,12 @@ export default defineAppConfig({
base: 'bg-[rgba(12,13,12,0.8)] border-[#121110]', base: 'bg-[rgba(12,13,12,0.8)] border-[#121110]',
}, },
}, },
// Custom code-block header icons, keyed by lowercase `[label]` text
// (see ```text [Arborescence] / ```text [Directory tree] blocks).
codeIcon: {
'arborescence': 'i-lucide-folder-tree',
'directory tree': 'i-lucide-folder-tree',
},
pre: { pre: {
slots: { slots: {
base: 'bg-[#121110] border-[#201e1b] rounded-lg', base: 'bg-[#121110] border-[#201e1b] rounded-lg',
+8 -6
View File
@@ -1,6 +1,6 @@
--- ---
title: Introduction title: Introduction
description: Introduction to Serveex a personal homelab project to self-host everyday services using Debian and Docker, replacing Google, Apple, and Netflix. description: Introduction to Serveex, a personal homelab project to self-host everyday services using Debian and Docker, replacing cloud services as Google, Apple or Netflix.
navigation: navigation:
icon: i-lucide-bookmark icon: i-lucide-bookmark
--- ---
@@ -40,14 +40,18 @@ The goal is to be easily deployable and easy to migrate, so here is its structur
Install and configure Debian 13 Install and configure Debian 13
:: ::
::card{icon="i-logos-docker-icon" title="Container Engine" to="/serveex/core/docker"} ::card{icon="i-logos-docker-icon" title="Using apps container" to="/serveex/core/docker"}
Install Docker Install Docker
:: ::
::card{icon="i-carbon-container-registry" title="Docker GUI" to="/serveex/core/docker#installer-dockge-pour-gérer-et-déployer-les-conteneurs"} ::card{icon="i-carbon-container-registry" title="Container manager" to="/serveex/core/docker#installer-dockge-pour-gérer-et-déployer-les-conteneurs"}
Install and deploy Dockge Install and deploy Dockge
:: ::
::card{icon="i-simple-icons-wireguard" title="VPN" to="/serveex/security/wireguard"}
Install and deploy Wireguard
::
::card{icon="i-noto-globe-showing-americas" title="Reverse Proxy" to="/serveex/core/swag"} ::card{icon="i-noto-globe-showing-americas" title="Reverse Proxy" to="/serveex/core/swag"}
Expose your services with SWAG Expose your services with SWAG
:: ::
@@ -60,9 +64,7 @@ Expose your services with SWAG
::: :::
::card-group ::card-group
::card{icon="i-simple-icons-wireguard" title="VPN" to="/serveex/security/wireguard"}
Install and deploy Wireguard
::
::card{icon="i-noto-key" title="SSO & MFA" to="/serveex/security/authentik"} ::card{icon="i-noto-key" title="SSO & MFA" to="/serveex/security/authentik"}
Install and deploy Authentik Install and deploy Authentik
@@ -20,15 +20,15 @@ description: Step-by-step guide to install Debian 13 on a home server and set up
4. [Install Debian and Set Up SSH](https://www.howtoforge.com/tutorial/debian-minimal-server/) 4. [Install Debian and Set Up SSH](https://www.howtoforge.com/tutorial/debian-minimal-server/)
5. Install sudo and add a user to the sudo group for administrative privileges. 5. Install sudo and add a user to the sudo group for administrative privileges.
Log in as root: Log in as root:
```sh ```bash [Terminal]
su - su -
``` ```
Enter your password, then type: Enter your password, then type:
```sh ```bash [Terminal]
apt install sudo apt install sudo
``` ```
Add the user to the sudo group: Add the user to the sudo group:
```sh ```bash [Terminal]
adduser <username> sudo adduser <username> sudo
``` ```
@@ -41,7 +41,7 @@ description: Step-by-step guide to install Debian 13 on a home server and set up
## Must-Have CLI Apps ## Must-Have CLI Apps
Some essential apps youll likely need at some point, so might as well install them early: Some essential apps youll likely need at some point, so might as well install them early:
```sh ```bash [Terminal]
sudo apt update sudo apt update
sudo apt upgrade sudo apt upgrade
sudo apt install nano btop ranger git duf neofetch samba cifs-utils tree unzip sudo apt install nano btop ranger git duf neofetch samba cifs-utils tree unzip
@@ -64,7 +64,7 @@ Additionally:
### File Transfer via rsync ### File Transfer via rsync
```sh ```bash [Terminal]
sudo rsync -avhHSP /source /destination sudo rsync -avhHSP /source /destination
``` ```
::note ::note
+7 -7
View File
@@ -22,7 +22,7 @@ Docker, to install deployable services in seconds and manage them with just a fe
## Install Docker ## Install Docker
Add the Docker repositories and GPG key: Add the Docker repositories and GPG key:
```sh ```bash [Terminal]
# Add Docker's official GPG key: # Add Docker's official GPG key:
sudo apt-get update sudo apt-get update
sudo apt-get install ca-certificates curl sudo apt-get install ca-certificates curl
@@ -37,7 +37,7 @@ sudo apt-get update
Install the packages: Install the packages:
```sh ```bash [Terminal]
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
``` ```
@@ -48,7 +48,7 @@ That's it!
::note ::note
From here on, we assume the stacks are installed in the `/docker` folder, created using the command: From here on, we assume the stacks are installed in the `/docker` folder, created using the command:
```sh ```bash [Terminal]
sudo mkdir /docker sudo mkdir /docker
``` ```
:: ::
@@ -62,7 +62,7 @@ From here on, we assume the stacks are installed in the `/docker` folder, create
File structure we will create: File structure we will create:
```sh ```text [Directory tree]
root root
└── docker └── docker
└── dockge └── dockge
@@ -71,14 +71,14 @@ root
Create the stack folder: Create the stack folder:
```sh ```bash [Terminal]
cd /docker cd /docker
sudo mkdir dockge sudo mkdir dockge
``` ```
Then create the `compose.yml` file in this folder using `nano`: Then create the `compose.yml` file in this folder using `nano`:
```sh ```bash [Terminal]
cd /docker/dockge cd /docker/dockge
sudo nano compose.yml sudo nano compose.yml
``` ```
@@ -109,7 +109,7 @@ Press :kbd{value="Ctrl+O"}, then :kbd{value="Enter"} to save, and :kbd{value="Ct
To launch the container: To launch the container:
```sh ```bash [Terminal]
cd /docker/dockge cd /docker/dockge
sudo docker compose up -d sudo docker compose up -d
``` ```
+6 -6
View File
@@ -39,7 +39,7 @@ This tutorial assumes you have a domain name pointing to your server, and that y
File structure to be modified: File structure to be modified:
```sh ```text [Directory tree]
root root
└── docker └── docker
└── swag └── swag
@@ -138,7 +138,7 @@ In CLI, go to the dns-conf folder and edit the `ovh.ini` file:
You can use [File Browser](/serveex/files/file-browser) to browse and edit files instead of using terminal commands. You can use [File Browser](/serveex/files/file-browser) to browse and edit files instead of using terminal commands.
:: ::
```sh ```bash [Terminal]
sudo nano /docker/swag/config/dns-conf/ovh.ini sudo nano /docker/swag/config/dns-conf/ovh.ini
``` ```
@@ -168,7 +168,7 @@ Save with :kbd{value="Ctrl+O"}, then :kbd{value="Enter"}, and exit with :kbd{val
Now configure swag to access DBIP, the geolocation-based access control module. Open the `nginx.conf` file: Now configure swag to access DBIP, the geolocation-based access control module. Open the `nginx.conf` file:
```sh ```bash [Terminal]
sudo nano /docker/swag/config/nginx/nginx.conf sudo nano /docker/swag/config/nginx/nginx.conf
``` ```
@@ -195,7 +195,7 @@ This configuration can be enabled or disabled per service (see the Dockge exampl
Open `dbip.conf`: Open `dbip.conf`:
```sh ```bash [Terminal]
sudo nano /docker/swag/config/nginx/dbip.conf sudo nano /docker/swag/config/nginx/dbip.conf
``` ```
@@ -278,7 +278,7 @@ Dockge does not support multi-factor authentication. Exposing it online could co
Open the `dockge.subdomain.conf` file: Open the `dockge.subdomain.conf` file:
```sh ```bash [Terminal]
sudo nano /docker/swag/config/nginx/proxy-confs/dockge.subdomain.conf sudo nano /docker/swag/config/nginx/proxy-confs/dockge.subdomain.conf
``` ```
@@ -361,7 +361,7 @@ Wait a moment, then visit `https://dockge.mydomain.com` in your browser — you
## Exposing Another Service with SWAG ## 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: 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 ```bash [Terminal]
cd /docker/swag/config/proxy-confs cd /docker/swag/config/proxy-confs
sudo cp servicename.subdomain.conf.sample servicename.subdomain.conf sudo cp servicename.subdomain.conf.sample servicename.subdomain.conf
``` ```
@@ -62,7 +62,7 @@ __Warning__: If your IP is not static, use a Dynamic DNS service ([DynDNS](https
### Folder Structure ### Folder Structure
```sh ```text [Directory tree]
root root
└── docker └── docker
└── wg-easy └── wg-easy
@@ -173,7 +173,7 @@ We assume the client server runs Linux with Docker installed.
### Folder Structure ### Folder Structure
```sh ```text [Directory tree]
root root
└── docker └── docker
└── wireguard └── wireguard
@@ -184,7 +184,7 @@ root
Create the folder: Create the folder:
```sh ```bash [Terminal]
sudo mkdir -p /docker/wireguard/config/wg_confs sudo mkdir -p /docker/wireguard/config/wg_confs
``` ```
@@ -194,7 +194,7 @@ sudo mkdir -p /docker/wireguard/config/wg_confs
Create the `wg0.conf` file: Create the `wg0.conf` file:
```sh ```bash [Terminal]
sudo nano /docker/wireguard/config/wg_confs/wg0.conf sudo nano /docker/wireguard/config/wg_confs/wg0.conf
``` ```
@@ -202,7 +202,7 @@ Paste the downloaded configuration, then save with :kbd{value="Ctrl+O"}, :kbd{va
::tip ::tip
✨ **Alternative method:** Transfer the file via SFTP and move it: ✨ **Alternative method:** Transfer the file via SFTP and move it:
```sh ```bash [Terminal]
sudo cp ~/wg0.conf /docker/wireguard/config/wg_confs sudo cp ~/wg0.conf /docker/wireguard/config/wg_confs
``` ```
:: ::
@@ -230,7 +230,7 @@ services:
``` ```
Start the container: Start the container:
```sh ```bash [Terminal]
cd /docker/wireguard cd /docker/wireguard
sudo docker compose up -d sudo docker compose up -d
``` ```
+18 -18
View File
@@ -39,7 +39,7 @@ Both modes can be configured on a per-application basis.
## Installation ## Installation
Folder structure: Folder structure:
```sh ```text [Directory tree]
root root
└── docker └── docker
└── authentik └── authentik
@@ -53,13 +53,13 @@ root
Create the folders: Create the folders:
```sh ```bash [Terminal]
sudo mkdir -p /docker/authentik/media /docker/authentik/certs /docker/authentik/custom-template /docker/authentik/ssh sudo mkdir -p /docker/authentik/media /docker/authentik/certs /docker/authentik/custom-template /docker/authentik/ssh
``` ```
Navigate to the `authentik` folder via `cd /docker/authentik` and generate a password and secret key to include in the `.env` file: Navigate to the `authentik` folder via `cd /docker/authentik` and generate a password and secret key to include in the `.env` file:
```sh ```bash [Terminal]
sudo echo "PG_PASS=$(openssl rand 36 | base64)" >> .env sudo echo "PG_PASS=$(openssl rand 36 | base64)" >> .env
sudo echo "AUTHENTIK_SECRET_KEY=$(openssl rand 60 | base64)" >> .env sudo echo "AUTHENTIK_SECRET_KEY=$(openssl rand 60 | base64)" >> .env
``` ```
@@ -67,7 +67,7 @@ sudo echo "AUTHENTIK_SECRET_KEY=$(openssl rand 60 | base64)" >> .env
::note ::note
To generate the keys, we created the folders ahead of deployment using Dockge. Dockge will prevent you from creating a stack with the same name in these folders unless a `compose.yml` file exists. So, create an empty `compose.yml` so it appears as an inactive stack: To generate the keys, we created the folders ahead of deployment using Dockge. Dockge will prevent you from creating a stack with the same name in these folders unless a `compose.yml` file exists. So, create an empty `compose.yml` so it appears as an inactive stack:
```sh ```bash [Terminal]
sudo nano /docker/authentik/compose.yml sudo nano /docker/authentik/compose.yml
``` ```
:: ::
@@ -215,7 +215,7 @@ Open the `authentik-server.conf` file:
You can use [File Browser](/serveex/files/file-browser) to navigate and edit files instead of using terminal commands. You can use [File Browser](/serveex/files/file-browser) to navigate and edit files instead of using terminal commands.
:: ::
```sh ```bash [Terminal]
sudo nano /docker/swag/config/nginx/authentik-server.conf sudo nano /docker/swag/config/nginx/authentik-server.conf
``` ```
@@ -230,7 +230,7 @@ If not, make the necessary changes, then save with :kbd{value="Ctrl+O"}, :kbd{va
Create the `auth.subdomain.conf` file: Create the `auth.subdomain.conf` file:
```sh ```bash [Terminal]
sudo nano /docker/swag/config/nginx/proxy-confs/auth.subdomain.conf sudo nano /docker/swag/config/nginx/proxy-confs/auth.subdomain.conf
``` ```
@@ -343,7 +343,7 @@ Why do this when Dockge already has authentication? Because Dockge uses weak HTT
Edit the file `dockge.mydomain.com`: Edit the file `dockge.mydomain.com`:
```sh ```bash [Terminal]
sudo nano /docker/swag/config/nginx/proxy-confs/dockge.subdomain.conf sudo nano /docker/swag/config/nginx/proxy-confs/dockge.subdomain.conf
``` ```
@@ -423,7 +423,7 @@ On your remote machine, use [Dockge](/serveex/core/docker/#installer-dockge-pour
If you havent installed [Dockge](/serveex/core/docker/#installer-dockge-pour-gérer-et-déployer-les-conteneurs), create a folder `/docker/authentik-outpost`, or directly via command line: If you havent installed [Dockge](/serveex/core/docker/#installer-dockge-pour-gérer-et-déployer-les-conteneurs), create a folder `/docker/authentik-outpost`, or directly via command line:
```sh ```bash [Terminal]
sudo mkdir -P /docker/authentik-outpost sudo mkdir -P /docker/authentik-outpost
``` ```
@@ -436,7 +436,7 @@ Create the `compose.yaml` file or paste the configuration directly into Dockge i
Via command line: Via command line:
```sh ```bash [Terminal]
sudo nano /docker/authentik-outpost/compose.yaml sudo nano /docker/authentik-outpost/compose.yaml
``` ```
Paste the following configuration, updating the version in `{AUTHENTIK_TAG:proxy:2024.2.3}`{lang=properties} to match your Authentik server version. Paste the following configuration, updating the version in `{AUTHENTIK_TAG:proxy:2024.2.3}`{lang=properties} to match your Authentik server version.
@@ -465,7 +465,7 @@ services:
Go to the SWAG stack on the remote machine (or edit directly using Dockge) and add the authentik-outpost network in the configuration file like this (see `networks` section): Go to the SWAG stack on the remote machine (or edit directly using Dockge) and add the authentik-outpost network in the configuration file like this (see `networks` section):
```sh ```bash [Terminal]
sudo nano /docker/swag/compose.yaml sudo nano /docker/swag/compose.yaml
``` ```
@@ -496,7 +496,7 @@ If using [Dockge](/serveex/core/docker/#installer-dockge-pour-gérer-et-déploye
Otherwise, via terminal: Otherwise, via terminal:
```sh ```bash [Terminal]
cd /docker/swag/ cd /docker/swag/
sudo docker compose up -d sudo docker compose up -d
``` ```
@@ -505,7 +505,7 @@ Create (or fill using Dockge) the `.env` file in the `authentik-outpost` directo
Via command line: Via command line:
```sh ```bash [Terminal]
sudo nano /docker/authentik-outpost/.env sudo nano /docker/authentik-outpost/.env
``` ```
@@ -529,7 +529,7 @@ If using Dockge, deploy the stack.
Otherwise, via terminal: Otherwise, via terminal:
```sh ```bash [Terminal]
cd /docker/authentik-outpost/ cd /docker/authentik-outpost/
sudo docker compose up -d sudo docker compose up -d
``` ```
@@ -540,7 +540,7 @@ Now, lets configure SWAG.
Open the `authentik-server.conf` file: Open the `authentik-server.conf` file:
```sh ```bash [Terminal]
sudo nano /docker/swag/config/nginx/authentik-server.conf sudo nano /docker/swag/config/nginx/authentik-server.conf
``` ```
@@ -558,24 +558,24 @@ Then configure the applications to protect as you did on your main server, wheth
## Migrating an Authentik Database ## Migrating an Authentik Database
On the source machine, dump the database: On the source machine, dump the database:
```sh ```bash [Terminal]
sudo docker exec authentik-postgres pg_dump -U authentik -F t authentik > /path/to/mydb.tar sudo docker exec authentik-postgres pg_dump -U authentik -F t authentik > /path/to/mydb.tar
``` ```
Then transfer it to the target machine. On the target machine, copy the file into the Docker container: Then transfer it to the target machine. On the target machine, copy the file into the Docker container:
```sh ```bash [Terminal]
cp /path/to/mydb.tar authentik-postgres:/path/to/wherever cp /path/to/mydb.tar authentik-postgres:/path/to/wherever
``` ```
(Optional) Purge existing tables: (Optional) Purge existing tables:
```sh ```bash [Terminal]
sudo docker exec -i authentik-postgres psql -U authentik -c "SELECT pg_terminate_backend(pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'authentik' AND pid <> pg_backend_pid();" && sudo docker exec -i authentik-postgres psql -U authentik -d postgres -c "DROP DATABASE IF EXISTS authentik;" && sudo docker exec -i authentik-postgres psql -U authentik -d postgres -c "CREATE DATABASE authentik;" sudo docker exec -i authentik-postgres psql -U authentik -c "SELECT pg_terminate_backend(pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'authentik' AND pid <> pg_backend_pid();" && sudo docker exec -i authentik-postgres psql -U authentik -d postgres -c "DROP DATABASE IF EXISTS authentik;" && sudo docker exec -i authentik-postgres psql -U authentik -d postgres -c "CREATE DATABASE authentik;"
``` ```
Restore the database: Restore the database:
```sh ```bash [Terminal]
sudo docker exec authentik-postgresql pg_restore -U authentik -d authentik /path/to/wherever/mydb.tar sudo docker exec authentik-postgresql pg_restore -U authentik -d authentik /path/to/wherever/mydb.tar
``` ```
@@ -93,7 +93,7 @@ Create a file `tunnelconfig.yml` to reference in your SWAG `compose.yaml`.
__Tip:__ Use [File Browser](/serveex/files/file-browser) to navigate and edit files instead of using the terminal. __Tip:__ Use [File Browser](/serveex/files/file-browser) to navigate and edit files instead of using the terminal.
:: ::
```sh ```bash [Terminal]
sudo nano /docker/swag/config/tunnelconfig.yml sudo nano /docker/swag/config/tunnelconfig.yml
``` ```
@@ -119,7 +119,7 @@ Now configure _Cloudflare Real IP_.
Open the `nginx.conf` file: Open the `nginx.conf` file:
```sh ```bash [Terminal]
sudo nano /docker/swag/config/nginx/nginx.conf sudo nano /docker/swag/config/nginx/nginx.conf
``` ```
@@ -22,7 +22,7 @@ description: Install Uptime-Kuma to monitor your self-hosted services uptime, se
## Installation ## Installation
Folder structure Folder structure
```sh ```text [Directory tree]
root root
└── docker └── docker
└── uptime-kuma └── uptime-kuma
@@ -85,7 +85,7 @@ In the Swag folders, create the `stats.subdomain.conf` file.
you can use [File Browser](/serveex/files/file-browser) to browse and edit your files instead of using terminal commands. you can use [File Browser](/serveex/files/file-browser) to browse and edit your files instead of using terminal commands.
:: ::
```sh ```bash [Terminal]
sudo nano /docker/swag/config/nginx/proxy-confs/stats.subdomain.conf sudo nano /docker/swag/config/nginx/proxy-confs/stats.subdomain.conf
``` ```
Paste the following config: Paste the following config:
@@ -21,7 +21,7 @@ description: Install Dozzle to monitor Docker container logs in real time from a
## Installation ## Installation
Folder structure Folder structure
```sh ```text [Directory tree]
root root
└── docker └── docker
└── dozzle └── dozzle
@@ -118,7 +118,7 @@ In the Swag folder, create the `dozzle.subdomain.conf` file.
✨ __Tip:__ You can use [File Browser](/serveex/files/file-browser) to browse and edit files instead of using terminal commands. ✨ __Tip:__ You can use [File Browser](/serveex/files/file-browser) to browse and edit files instead of using terminal commands.
:: ::
```sh ```bash [Terminal]
sudo nano /docker/swag/config/nginx/proxy-confs/dozzle.subdomain.conf sudo nano /docker/swag/config/nginx/proxy-confs/dozzle.subdomain.conf
``` ```
Paste the configuration below: Paste the configuration below:
@@ -26,7 +26,7 @@ We will use the Docker image maintained by [LinuxServer.io](https://docs.linuxse
File structure: File structure:
```sh ```text [Directory tree]
root root
└── docker └── docker
└── speedtest-tracker └── speedtest-tracker
@@ -36,7 +36,7 @@ root
In a terminal, generate a key using the following command: In a terminal, generate a key using the following command:
```sh ```bash [Terminal]
echo -n 'base64:'; openssl rand -base64 32; echo -n 'base64:'; openssl rand -base64 32;
``` ```
@@ -69,7 +69,7 @@ services:
Find your `PUID` and `GUID` by running the following command: Find your `PUID` and `GUID` by running the following command:
```sh ```bash [Terminal]
id yourusername id yourusername
``` ```
@@ -104,7 +104,7 @@ Speedtest Tracker does not use multi-factor authentication. Exposing it on the i
Open the `speedtest.subdomain.conf` file: Open the `speedtest.subdomain.conf` file:
```sh ```bash [Terminal]
sudo nano /docker/swag/config/nginx/proxy-confs/speedtest.subdomain.conf sudo nano /docker/swag/config/nginx/proxy-confs/speedtest.subdomain.conf
``` ```
@@ -26,7 +26,7 @@ Beszel includes a hub with a web UI and an agent that collects data from your se
Folder structure Folder structure
```sh ```text [Directory tree]
root root
└── docker └── docker
└── beszel └── beszel
@@ -192,7 +192,7 @@ In Swags config folders, create `beszel.subdomain.conf`.
✨ __Tip:__ Use [File Browser](/serveex/files/file-browser) to browse and edit files instead of terminal commands. ✨ __Tip:__ Use [File Browser](/serveex/files/file-browser) to browse and edit files instead of terminal commands.
:: ::
```sh ```bash [Terminal]
sudo nano /docker/swag/config/nginx/proxy-confs/beszel.subdomain.conf sudo nano /docker/swag/config/nginx/proxy-confs/beszel.subdomain.conf
``` ```
@@ -22,7 +22,7 @@ description: Install UpSnap to remotely wake up machines on your local network v
Folder structure Folder structure
```sh ```text [Directory tree]
root root
└── docker └── docker
└── upsnap └── upsnap
@@ -131,7 +131,7 @@ In the Swag folders, create the file `upsnap.subdomain.conf`.
✨ __Tip:__ You can use [File Browser](/serveex/files/file-browser) to navigate your files and edit documents instead of using terminal commands. ✨ __Tip:__ You can use [File Browser](/serveex/files/file-browser) to navigate your files and edit documents instead of using terminal commands.
:: ::
```sh ```bash [Terminal]
sudo nano /docker/swag/config/nginx/proxy-confs/upsnap.subdomain.conf sudo nano /docker/swag/config/nginx/proxy-confs/upsnap.subdomain.conf
``` ```
And paste the following configuration: And paste the following configuration:
+4 -4
View File
@@ -33,7 +33,7 @@ Youll need to create a *Plex.tv* account. You dont need to expose your Ple
## Install Plex ## Install Plex
Folder structure: Folder structure:
```sh ```text [Directory tree]
root root
├── docker ├── docker
│ ├── plex │ ├── plex
@@ -51,7 +51,7 @@ root
Create the `movies`, `tvseries`, and `library` folders in `/media`: Create the `movies`, `tvseries`, and `library` folders in `/media`:
```sh ```bash [Terminal]
mkdir -p /media/movies /media/library /media/tvseries mkdir -p /media/movies /media/library /media/tvseries
``` ```
@@ -121,7 +121,7 @@ services:
Find your PUID and GUID by running: Find your PUID and GUID by running:
```sh ```bash [Terminal]
id username id username
``` ```
@@ -212,7 +212,7 @@ Copy and rename the file `tautulli.subdomain.conf.sample` to `tautulli.subdomain
✨ **Tip:** Use [File Browser](/serveex/files/file-browser) to navigate and edit files instead of using terminal commands. ✨ **Tip:** Use [File Browser](/serveex/files/file-browser) to navigate and edit files instead of using terminal commands.
:: ::
```sh ```bash [Terminal]
sudo cp /docker/swag/config/nginx/proxy-confs/tautulli.subdomain.conf.sample /docker/swag/config/nginx/proxy-confs/tautulli.subdomain.conf sudo cp /docker/swag/config/nginx/proxy-confs/tautulli.subdomain.conf.sample /docker/swag/config/nginx/proxy-confs/tautulli.subdomain.conf
sudo nano /docker/swag/config/nginx/proxy-confs/tautulli.subdomain.conf sudo nano /docker/swag/config/nginx/proxy-confs/tautulli.subdomain.conf
``` ```
@@ -31,7 +31,7 @@ Heres the system well set up:
## Configuration ## Configuration
Folder structure Folder structure
```sh ```text [Directory tree]
root root
├── docker ├── docker
│ └── seedbox │ └── seedbox
@@ -49,7 +49,7 @@ root
If not already done, create the `downloads` folder under `/media`: If not already done, create the `downloads` folder under `/media`:
```sh ```bash [Terminal]
mkdir -P /media/downloads mkdir -P /media/downloads
``` ```
@@ -138,19 +138,19 @@ We now need to allow the mod to fetch info from Gluetun, which only allows encry
Open a terminal to generate the authentication key: Open a terminal to generate the authentication key:
```sh ```bash [Terminal]
sudo docker run --rm qmcgaw/gluetun genkey sudo docker run --rm qmcgaw/gluetun genkey
``` ```
Note the key, then create the `/docker/gluetun` folder: Note the key, then create the `/docker/gluetun` folder:
```sh ```bash [Terminal]
sudo mkdir /docker/gluetun sudo mkdir /docker/gluetun
``` ```
Create the `config.toml` file: Create the `config.toml` file:
```sh ```bash [Terminal]
sudo nano /docker/gluetun/config.toml sudo nano /docker/gluetun/config.toml
``` ```
@@ -257,7 +257,7 @@ Now create/edit `seedbox.subdomain.conf`.
✨ __Terminal-free tip:__ use [File Browser](/serveex/files/file-browser) to edit files instead of using the terminal. ✨ __Terminal-free tip:__ use [File Browser](/serveex/files/file-browser) to edit files instead of using the terminal.
:: ::
```sh ```bash [Terminal]
sudo nano /docker/swag/config/nginx/proxy-confs/seedbox.subdomain.conf sudo nano /docker/swag/config/nginx/proxy-confs/seedbox.subdomain.conf
``` ```
+2 -2
View File
@@ -30,7 +30,7 @@ Well start by deploying the stack and then proceed to configure each app and
Folder structure: Folder structure:
```sh ```text [Directory tree]
root root
├── docker ├── docker
│ ├── plex │ ├── plex
@@ -450,7 +450,7 @@ Create and edit the file `films.subdomain.conf`:
✨ __Tip:__ you can use [File Browser](/serveex/files/file-browser) to browse and edit files instead of using terminal commands. ✨ __Tip:__ you can use [File Browser](/serveex/files/file-browser) to browse and edit files instead of using terminal commands.
:: ::
```sh ```bash [Terminal]
sudo nano /docker/swag/config/nginx/proxy-confs/films.subdomain.conf sudo nano /docker/swag/config/nginx/proxy-confs/films.subdomain.conf
``` ```
+2 -2
View File
@@ -18,7 +18,7 @@ description: Install Immich, a self-hosted alternative to Google Photos and iClo
## Installation ## Installation
Folder structure Folder structure
```sh ```text [Directory tree]
root root
└── docker └── docker
└── immich └── immich
@@ -91,7 +91,7 @@ In the SWAG folders, create a file named `immich.subdomain.conf`.
✨ __Tip:__ You can use [File Browser](/serveex/files/file-browser) to navigate and edit your files instead of using terminal commands. ✨ __Tip:__ You can use [File Browser](/serveex/files/file-browser) to navigate and edit your files instead of using terminal commands.
:: ::
```sh ```bash [Terminal]
sudo nano /docker/swag/config/nginx/proxy-confs/immich.subdomain.conf sudo nano /docker/swag/config/nginx/proxy-confs/immich.subdomain.conf
``` ```
Then paste the following configuration: Then paste the following configuration:
+4 -4
View File
@@ -23,7 +23,7 @@ We'll be using the Docker image maintained by [LinuxServer.io](https://docs.linu
File structure: File structure:
```sh ```text [Directory tree]
root root
└── docker └── docker
└── nextcloud └── nextcloud
@@ -63,7 +63,7 @@ If youre using a NAS or network-shared drive via [Samba](/general/networking/
Find your `PUID` and `GUID` by running the following command: Find your `PUID` and `GUID` by running the following command:
```sh ```bash [Terminal]
id username id username
``` ```
@@ -122,7 +122,7 @@ In Nextclouds files, edit the `config.php` file:
✨ __Tip:__ You can use [File Browser](/serveex/files/file-browser) to navigate and edit files instead of using terminal commands. ✨ __Tip:__ You can use [File Browser](/serveex/files/file-browser) to navigate and edit files instead of using terminal commands.
:: ::
```sh ```bash [Terminal]
sudo nano /docker/nextcloud/config/www/nextcloud/config/config.php sudo nano /docker/nextcloud/config/www/nextcloud/config/config.php
``` ```
@@ -148,7 +148,7 @@ Press :kbd{value="Ctrl+O"}, then :kbd{value="Enter"} to save, and :kbd{value="Ct
In Swags folders, create the file `nextcloud.subdomain.conf`: In Swags folders, create the file `nextcloud.subdomain.conf`:
```sh ```bash [Terminal]
sudo nano /docker/swag/config/nginx/proxy-confs/nextcloud.subdomain.conf sudo nano /docker/swag/config/nginx/proxy-confs/nextcloud.subdomain.conf
``` ```
@@ -98,7 +98,7 @@ Restart the stack by clicking "deploy" and wait for SWAG to fully initialize.
In the Swag folders, create the file `files.subdomain.conf`. In the Swag folders, create the file `files.subdomain.conf`.
```sh ```bash [Terminal]
sudo nano /docker/swag/config/nginx/proxy-confs/files.subdomain.conf sudo nano /docker/swag/config/nginx/proxy-confs/files.subdomain.conf
``` ```
+1 -1
View File
@@ -119,7 +119,7 @@ In the Swag folders, create the `pingvin.subdomain.conf` file.
✨ __Tip:__ you can use [File Browser](/serveex/files/file-browser) to browse your files and edit your documents instead of using terminal commands. ✨ __Tip:__ you can use [File Browser](/serveex/files/file-browser) to browse your files and edit your documents instead of using terminal commands.
:: ::
```sh ```bash [Terminal]
sudo nano /docker/swag/config/nginx/proxy-confs/pingvin.subdomain.conf sudo nano /docker/swag/config/nginx/proxy-confs/pingvin.subdomain.conf
``` ```
Paste the configuration below: Paste the configuration below:
@@ -27,7 +27,7 @@ For this setup, well use the [image maintained by LinuxServer.io](https://doc
Folder structure Folder structure
```sh ```text [Directory tree]
root root
├── docker ├── docker
│ └── code-server │ └── code-server
@@ -75,13 +75,13 @@ services:
Choose a password and generate its hash: Choose a password and generate its hash:
```sh ```bash [Terminal]
echo -n "yourpassword" | npx argon2-cli -e echo -n "yourpassword" | npx argon2-cli -e
``` ```
Save the result carefully. Find your PUID and GUID with: Save the result carefully. Find your PUID and GUID with:
```sh ```bash [Terminal]
id yourusername id yourusername
``` ```
@@ -158,7 +158,7 @@ Inside the Swag config folders, create the file `code.subdomain.conf`.
✨ __Tip:__ You can use [File Browser](/serveex/files/file-browser) to navigate and edit your files instead of using terminal commands. ✨ __Tip:__ You can use [File Browser](/serveex/files/file-browser) to navigate and edit your files instead of using terminal commands.
:: ::
```sh ```bash [Terminal]
sudo nano /docker/swag/config/nginx/proxy-confs/code.subdomain.conf sudo nano /docker/swag/config/nginx/proxy-confs/code.subdomain.conf
``` ```
@@ -21,7 +21,7 @@ description: Install Gitea, a lightweight self-hosted Git service to manage your
## Installation ## Installation
Folder structure Folder structure
```sh ```text [Directory tree]
root root
└── docker └── docker
└── gitea └── gitea
@@ -111,7 +111,7 @@ Inside the Swag folders, create the file `gitea.subdomain.conf`.
✨ __Tip:__ You can use [File Browser](/serveex/files/file-browser) to navigate and edit your files instead of using terminal commands. ✨ __Tip:__ You can use [File Browser](/serveex/files/file-browser) to navigate and edit your files instead of using terminal commands.
:: ::
```sh ```bash [Terminal]
sudo nano /docker/swag/config/nginx/proxy-confs/gitea.subdomain.conf sudo nano /docker/swag/config/nginx/proxy-confs/gitea.subdomain.conf
``` ```
Paste the configuration below: Paste the configuration below:
@@ -177,7 +177,7 @@ Press :kbd{value="Ctrl+O"}, then :kbd{value="Enter"} to save, and :kbd{value="Ct
Now open the `app.ini` file from the container's file system: Now open the `app.ini` file from the container's file system:
```sh ```bash [Terminal]
sudo nano /docker/gitea/data/gitea/conf/app.ini sudo nano /docker/gitea/data/gitea/conf/app.ini
``` ```
@@ -99,7 +99,7 @@ Inside the Swag folders, create the file `tools.subdomain.conf`.
✨ __Tip:__ You can use [File Browser](/serveex/files/file-browser) to navigate and edit your files instead of using terminal commands. ✨ __Tip:__ You can use [File Browser](/serveex/files/file-browser) to navigate and edit your files instead of using terminal commands.
:: ::
```sh ```bash [Terminal]
sudo nano /docker/swag/config/nginx/proxy-confs/tools.subdomain.conf sudo nano /docker/swag/config/nginx/proxy-confs/tools.subdomain.conf
``` ```
+2 -2
View File
@@ -40,7 +40,7 @@ This is how ads and malicious domains are blocked—Adguard blocks only the bad
## Installation ## Installation
Folder structure: Folder structure:
```sh ```text [Directory tree]
root root
└── docker └── docker
└── adguard └── adguard
@@ -145,7 +145,7 @@ Create and open the file `adguard.subdomain.conf`
You can use [File Browser](/serveex/files/file-browser) to browse and edit files instead of using terminal commands. You can use [File Browser](/serveex/files/file-browser) to browse and edit files instead of using terminal commands.
:: ::
```sh ```bash [Terminal]
sudo nano /docker/swag/config/nginx/proxy-confs/adguard.subdomain.conf sudo nano /docker/swag/config/nginx/proxy-confs/adguard.subdomain.conf
``` ```
+3 -3
View File
@@ -20,7 +20,7 @@ Vaultwarden is a fork of [Bitwarden](https://bitwarden.com/fr-fr/help/).
## Installation ## Installation
Folder structure: Folder structure:
```sh ```text [Directory tree]
root root
└── docker └── docker
└── vaultwarden └── vaultwarden
@@ -79,7 +79,7 @@ services:
Next, generate a password hash to put in the `TOKEN` variable in `.env`: Next, generate a password hash to put in the `TOKEN` variable in `.env`:
```sh ```bash [Terminal]
echo -n 'yourpassword' | argon2 "$(openssl rand -base64 32)" -e -id -k 65540 -t 3 -p 4 echo -n 'yourpassword' | argon2 "$(openssl rand -base64 32)" -e -id -k 65540 -t 3 -p 4
``` ```
@@ -145,7 +145,7 @@ In SWAG's config folder, create the file `vault.subdomain.conf`:
✨ __Tip:__ Use [File Browser](/serveex/files/file-browser) to navigate and edit files instead of using terminal commands. ✨ __Tip:__ Use [File Browser](/serveex/files/file-browser) to navigate and edit files instead of using terminal commands.
:: ::
```sh ```bash [Terminal]
sudo nano /docker/swag/config/nginx/proxy-confs/vault.subdomain.conf sudo nano /docker/swag/config/nginx/proxy-confs/vault.subdomain.conf
``` ```
@@ -13,7 +13,7 @@ So I restructured my directories, manually updated every path in Qbittorrent, Pl
My directory structure: My directory structure:
```sh ```text [Directory tree]
. .
└── media └── media
├── seedbox ├── seedbox
@@ -41,7 +41,7 @@ Spare you the endless Q&A with ChatGPT—I was disappointed. Qwen3 was much clea
To test, I first asked for a script that only lists and compares: To test, I first asked for a script that only lists and compares:
```sh ```bash [Terminal]
#!/bin/bash #!/bin/bash
# Create an associative array to store duplicates # Create an associative array to store duplicates
@@ -87,7 +87,7 @@ Again, ChatGPT disappointed. Despite my requests, it created hardlinks *before*
Quick stopover to Qwen3, RTX 5090 in overdrive, and bam—much better result. Yes, it kept ChatGPT-style emojis, but here it is: Quick stopover to Qwen3, RTX 5090 in overdrive, and bam—much better result. Yes, it kept ChatGPT-style emojis, but here it is:
```sh ```bash [Terminal]
#!/bin/bash #!/bin/bash
echo "🔍 Step 1: Indexing original files in /media/seedbox..." echo "🔍 Step 1: Indexing original files in /media/seedbox..."
@@ -21,7 +21,7 @@ This script:
* Encrypts the archive with that password * Encrypts the archive with that password
* Deletes the unencrypted archive * Deletes the unencrypted archive
```sh ```bash [Terminal]
#!/bin/bash #!/bin/bash
# Directory where LUKS headers will be backed up # Directory where LUKS headers will be backed up
@@ -61,7 +61,7 @@ __Warning:__ This guide uses version `14` of [wg-easy](https://wg-easy.github.io
Folder structure: Folder structure:
```sh ```text [Directory tree]
root root
└── docker └── docker
└── wg-easy └── wg-easy
@@ -146,7 +146,7 @@ Deploy the stack.
To allow communication between VPN clients, enable: To allow communication between VPN clients, enable:
```sh ```bash [Terminal]
sudo sysctl net.ipv4.ip_forward=1 sudo sysctl net.ipv4.ip_forward=1
sudo sysctl net.ipv4.conf.all.src_valid_mark=1 sudo sysctl net.ipv4.conf.all.src_valid_mark=1
``` ```
@@ -173,7 +173,7 @@ Assumes the client is a Linux server with Docker installed
Folder structure: Folder structure:
```sh ```text [Directory tree]
root root
└── docker └── docker
└── wireguard └── wireguard
@@ -188,7 +188,7 @@ Create the folder `/docker/wireguard/config/wg_confs`:
✨ __Tip:__ Use [File Browser](/serveex/files/file-browser) to browse and edit files without terminal ✨ __Tip:__ Use [File Browser](/serveex/files/file-browser) to browse and edit files without terminal
:: ::
```sh ```bash [Terminal]
sudo mkdir -p /docker/wireguard/config/wg_confs sudo mkdir -p /docker/wireguard/config/wg_confs
``` ```
@@ -197,14 +197,14 @@ Copy the `wg0.conf` file downloaded earlier:
::tip{icon=""} ::tip{icon=""}
✨ __Tip:__ Easiest way is to transfer the file via SFTP to `/home/youruser`, then move it: ✨ __Tip:__ Easiest way is to transfer the file via SFTP to `/home/youruser`, then move it:
```sh ```bash [Terminal]
sudo cp ~/wg0.conf /docker/wireguard/config/wg_confs sudo cp ~/wg0.conf /docker/wireguard/config/wg_confs
``` ```
:: ::
Create `compose.yaml` in `/docker/wireguard`: Create `compose.yaml` in `/docker/wireguard`:
```sh ```bash [Terminal]
sudo nano /docker/wireguard/compose.yaml sudo nano /docker/wireguard/compose.yaml
``` ```
@@ -234,7 +234,7 @@ Press :kbd{value="Ctrl+O"}, then :kbd{value="Enter"} to save, and :kbd{value="Ct
Start the container: Start the container:
```sh ```bash [Terminal]
cd /docker/wireguard cd /docker/wireguard
sudo docker compose up -d sudo docker compose up -d
``` ```
@@ -19,15 +19,15 @@ description: Guide pas à pas pour installer Debian 13 sur un serveur et configu
4. [Installer Debian et configurer SSH](https://www.howtoforge.com/tutorial/debian-minimal-server/) 4. [Installer Debian et configurer SSH](https://www.howtoforge.com/tutorial/debian-minimal-server/)
5. Installer sudo et ajouter un utilisateur au groupe sudo, pour les privilèges administrateurs 5. Installer sudo et ajouter un utilisateur au groupe sudo, pour les privilèges administrateurs
Se connecter en root : Se connecter en root :
```sh ```bash [Terminal]
su - su -
``` ```
mettre son mot de passe puis taper : mettre son mot de passe puis taper :
```sh ```bash [Terminal]
apt install sudo apt install sudo
``` ```
Ajouter l'utilisateur au groupe sudo : Ajouter l'utilisateur au groupe sudo :
```sh ```bash [Terminal]
adduser <nomdutilisateur> sudo adduser <nomdutilisateur> sudo
``` ```
@@ -40,7 +40,7 @@ description: Guide pas à pas pour installer Debian 13 sur un serveur et configu
## CLI apps à avoir près de soi ## 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 Quelques app que vous utiliserez forcément à un moment donné, autant les installer dès le départ
```sh ```bash [Terminal]
sudo apt update sudo apt update
sudo apt upgrade sudo apt upgrade
sudo apt install nano btop ranger git duf neofetch samba cifs-utils tree unzip sudo apt install nano btop ranger git duf neofetch samba cifs-utils tree unzip
@@ -63,7 +63,7 @@ En plus :
### Transfert de fichier via rsync ### Transfert de fichier via rsync
```sh ```bash [Terminal]
sudo rsync -avhHSP /source /destination sudo rsync -avhHSP /source /destination
``` ```
::note ::note
+7 -7
View File
@@ -21,7 +21,7 @@ Docker, pour installer des services déployables en quelques secondes, et les ma
## Installer docker ## Installer docker
Installez les repo Docker et la clé GPG Installez les repo Docker et la clé GPG
```sh ```bash [Terminal]
# Add Docker's official GPG key: # Add Docker's official GPG key:
sudo apt-get update sudo apt-get update
sudo apt-get install ca-certificates curl sudo apt-get install ca-certificates curl
@@ -38,7 +38,7 @@ sudo apt-get update
``` ```
Installez les package Installez les package
```sh ```bash [Terminal]
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
``` ```
Et voilà ! Et voilà !
@@ -48,7 +48,7 @@ Et voilà !
::note ::note
Dans toute la suite, on part du principe que les stacks sont installées dans le dossier `/docker`, créé grace à la commande : Dans toute la suite, on part du principe que les stacks sont installées dans le dossier `/docker`, créé grace à la commande :
```sh ```bash [Terminal]
sudo mkdir /docker sudo mkdir /docker
``` ```
:: ::
@@ -62,7 +62,7 @@ Dans toute la suite, on part du principe que les stacks sont installées dans le
Plan des fichiers que nous allons modifier : Plan des fichiers que nous allons modifier :
```sh ```text [Arborescence]
root root
└── docker └── docker
└── dockge └── dockge
@@ -71,14 +71,14 @@ root
Créez le dossier de la stack : Créez le dossier de la stack :
```sh ```bash [Terminal]
cd /docker cd /docker
sudo mkdir dockge sudo mkdir dockge
``` ```
Puis créez le fichier `compose.yml` dans ce dossier avec l'outil nano que vous avez installé préalablement (dans les outils CLI) Puis créez le fichier `compose.yml` dans ce dossier avec l'outil nano que vous avez installé préalablement (dans les outils CLI)
```sh ```bash [Terminal]
cd /docker/dockge cd /docker/dockge
sudo nano compose.yml sudo nano compose.yml
``` ```
@@ -109,7 +109,7 @@ Enregistrez avec :kbd{value="Ctrl+O"} puis :kbd{value="Entrée"}, puis quittez a
Pour lancer le conteneur, tapez : Pour lancer le conteneur, tapez :
```sh ```bash [Terminal]
cd /docker/dockge cd /docker/dockge
sudo docker compose up -d sudo docker compose up -d
``` ```
+6 -6
View File
@@ -38,7 +38,7 @@ Ce tutoriel part du principe que vous avez un nom de domaine qui pointe vers vot
Plan des fichiers que nous allons modifier : Plan des fichiers que nous allons modifier :
```sh ```text [Arborescence]
root root
└── docker └── docker
└── swag └── swag
@@ -138,7 +138,7 @@ En CLI, allez dans le dossier dns-conf et éditez le fichier `ovh.ini` :
vous pouvez utiliser [File Browser](/fr/serveex/files/file-browser) pour naviguer dans vos fichier et éditer vos documents au lieu d'utiliser les commandes du terminal. vous pouvez utiliser [File Browser](/fr/serveex/files/file-browser) pour naviguer dans vos fichier et éditer vos documents au lieu d'utiliser les commandes du terminal.
:: ::
```sh ```bash [Terminal]
sudo nano /docker/swag/config/dns-conf/ovh.ini sudo nano /docker/swag/config/dns-conf/ovh.ini
``` ```
@@ -167,7 +167,7 @@ Sauvegardez et quittez le fichier.
Configurez aussi swag pour qu'il accède à DBIP, le module de gestion des accès par géolocalisation /Ouvrez le fichier nginx.conf Configurez aussi swag pour qu'il accède à DBIP, le module de gestion des accès par géolocalisation /Ouvrez le fichier nginx.conf
```sh ```bash [Terminal]
sudo nano /docker/swag/config/nginx/nginx.conf sudo nano /docker/swag/config/nginx/nginx.conf
``` ```
@@ -194,7 +194,7 @@ La configuration est activable ou désactivable pour chaque service qui sera pro
Ouvrez `dbip.conf` : Ouvrez `dbip.conf` :
```sh ```bash [Terminal]
sudo nano /docker/swag/config/nginx/dbip.conf sudo nano /docker/swag/config/nginx/dbip.conf
``` ```
@@ -280,7 +280,7 @@ Dockge n'utilise pas d'authentification multifacteur. Exposer Dockge sur interne
Ouvrez le fichier dockge.subdomain.conf : Ouvrez le fichier dockge.subdomain.conf :
```sh ```bash [Terminal]
sudo nano /docker/swag/config/nginx/proxy-confs/dockge.subdomain.conf sudo nano /docker/swag/config/nginx/proxy-confs/dockge.subdomain.conf
``` ```
@@ -376,7 +376,7 @@ Patientez puis tapez `https://dockge.mondomaine.fr` dans votre navigateur, vous
## Exposer un autre service avec SWAG ## 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`. 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 ```bash [Terminal]
cd /docker/swag/config/proxy-confs cd /docker/swag/config/proxy-confs
sudo cp nomduservice.subdomain.conf.sample nomduservice.subdomain.conf sudo cp nomduservice.subdomain.conf.sample nomduservice.subdomain.conf
``` ```
@@ -61,7 +61,7 @@ __Attention__: Si votre IP n'est pas fixe, vous devez avoir un nom de domaine re
Structure des dossiers Structure des dossiers
```sh ```text [Arborescence]
root root
└── docker └── docker
└── wg-easy └── wg-easy
@@ -177,7 +177,7 @@ Nous partons du principe que le serveur client est un serveur linux avec Docker
Structure des dossiers Structure des dossiers
```sh ```text [Arborescence]
root root
└── docker └── docker
└── wireguard └── wireguard
@@ -193,13 +193,13 @@ Creez le dossier `/docker/wireguard/config/wg_confs`.
vous pouvez utiliser [File Browser](/fr/serveex/files/file-browser) pour naviguer dans vos fichier et éditer vos documents au lieu d'utiliser les commandes du terminal. vous pouvez utiliser [File Browser](/fr/serveex/files/file-browser) pour naviguer dans vos fichier et éditer vos documents au lieu d'utiliser les commandes du terminal.
:: ::
```sh ```bash [Terminal]
sudo mkdir -p /docker/wireguard/config/wg_confs sudo mkdir -p /docker/wireguard/config/wg_confs
``` ```
Créez le fichier `wg0.conf` Créez le fichier `wg0.conf`
```sh ```bash [Terminal]
sudo nano /docker/wireguard/config/wg_confs/wg0.conf sudo nano /docker/wireguard/config/wg_confs/wg0.conf
``` ```
@@ -208,13 +208,13 @@ Copiez-collez le contenu du `wg0.conf` que vous avez téléchargé, puis enregis
::tip{icon=""} ::tip{icon=""}
✨ __Astuce :__ Un autre moyen est de transférer le fichier par sftp dans le dossier `/home/nomdutilisateur` puis de le copier dans le bon dossier : ✨ __Astuce :__ Un autre moyen est de transférer le fichier par sftp dans le dossier `/home/nomdutilisateur` puis de le copier dans le bon dossier :
```sh ```bash [Terminal]
sudo cp ~/wg0.conf /docker/wireguard/config/wg_confs sudo cp ~/wg0.conf /docker/wireguard/config/wg_confs
``` ```
:: ::
Creez le `compose.yaml` dans `/docker/wireguard `: Creez le `compose.yaml` dans `/docker/wireguard `:
```sh ```bash [Terminal]
sudo nano /docker/wireguard/compose.yaml sudo nano /docker/wireguard/compose.yaml
``` ```
Copiez la configuration ci-dessous Copiez la configuration ci-dessous
@@ -241,7 +241,7 @@ services:
Enregistrez avec :kbd{value="Ctrl+O"} puis :kbd{value="Entrée"}, puis quittez avec :kbd{value="Ctrl+X"}. Enregistrez avec :kbd{value="Ctrl+O"} puis :kbd{value="Entrée"}, puis quittez avec :kbd{value="Ctrl+X"}.
Lancez le conteneur : Lancez le conteneur :
```sh ```bash [Terminal]
cd /docker/wireguard cd /docker/wireguard
sudo docker compose up -d sudo docker compose up -d
``` ```
+18 -18
View File
@@ -38,7 +38,7 @@ Les deux modes son configurables application par application.
## Installation ## Installation
Structure des dossiers : Structure des dossiers :
```sh ```text [Arborescence]
root root
└── docker └── docker
└── authentik └── authentik
@@ -52,20 +52,20 @@ root
Créez les dossiers : Créez les dossiers :
```sh ```bash [Terminal]
sudo mkdir -p /docker/authentik/media /docker/authentik/certs /docker/authentik/custom-template /docker/authentik/ssh sudo mkdir -p /docker/authentik/media /docker/authentik/certs /docker/authentik/custom-template /docker/authentik/ssh
``` ```
Positionnez vous dans le dossier `authentik` via `cd /docker/authentik` et générez un mot de passe et une clé secrete que l'on va intégrer dans le .env : Positionnez vous dans le dossier `authentik` via `cd /docker/authentik` et générez un mot de passe et une clé secrete que l'on va intégrer dans le .env :
```sh ```bash [Terminal]
sudo echo "PG_PASS=$(openssl rand 36 | base64)" >> .env sudo echo "PG_PASS=$(openssl rand 36 | base64)" >> .env
sudo echo "AUTHENTIK_SECRET_KEY=$(openssl rand 60 | base64)" >> .env sudo echo "AUTHENTIK_SECRET_KEY=$(openssl rand 60 | base64)" >> .env
``` ```
::note ::note
Afin de générer la clé, nous avons créé les dossiers en amont du déploiement via Dockge. Dockge vous empechera de créer une stack du meme nom dans ces dossiers s'il n'existe pas de `compose.yml`. Il faut donc créer un `compose.yml` vide afin que ce dernier la reconnaisse comme existante dans les stacks inactives : Afin de générer la clé, nous avons créé les dossiers en amont du déploiement via Dockge. Dockge vous empechera de créer une stack du meme nom dans ces dossiers s'il n'existe pas de `compose.yml`. Il faut donc créer un `compose.yml` vide afin que ce dernier la reconnaisse comme existante dans les stacks inactives :
```sh ```bash [Terminal]
sudo nano /docker/authentik/compose.yml sudo nano /docker/authentik/compose.yml
``` ```
:: ::
@@ -212,7 +212,7 @@ Ouvrez le fichier `authentik-server.conf`.
vous pouvez utiliser [File Browser](/fr/serveex/files/file-browser) pour naviguer dans vos fichier et éditer vos documents au lieu d'utiliser les commandes du terminal. vous pouvez utiliser [File Browser](/fr/serveex/files/file-browser) pour naviguer dans vos fichier et éditer vos documents au lieu d'utiliser les commandes du terminal.
:: ::
```sh ```bash [Terminal]
sudo nano /docker/swag/config/nginx/authentik-server.conf sudo nano /docker/swag/config/nginx/authentik-server.conf
``` ```
@@ -227,7 +227,7 @@ Si ce n'est pas le cas, éditez-les, puis enregistrez avec :kbd{value="Ctrl+O"}
Créez le fichier `auth.subdomain.conf` Créez le fichier `auth.subdomain.conf`
```sh ```bash [Terminal]
sudo nano /docker/swag/config/nginx/proxy-confs/auth.subdomain.conf sudo nano /docker/swag/config/nginx/proxy-confs/auth.subdomain.conf
``` ```
@@ -344,7 +344,7 @@ Pourquoi le faire alors que Dockge a déjà une page d'authentification ? Tout s
Ensuite rendez-vous dans le fichier `dockge.mondomaine.fr`. Ensuite rendez-vous dans le fichier `dockge.mondomaine.fr`.
```sh ```bash [Terminal]
sudo nano /docker/swag/config/nginx/proxy-confs/dockge.subdomain.conf sudo nano /docker/swag/config/nginx/proxy-confs/dockge.subdomain.conf
``` ```
@@ -424,7 +424,7 @@ Sur votre machine distante, à l'aide de [Dockge](/fr/serveex/core/docker#instal
Si vous n'avez pas installé [Dockge](/fr/serveex/core/docker#installer-dockge-pour-gérer-et-déployer-les-conteneurs), créez un dossier `/docker/authentik-outpost`, ou directement en ligne de commande : Si vous n'avez pas installé [Dockge](/fr/serveex/core/docker#installer-dockge-pour-gérer-et-déployer-les-conteneurs), créez un dossier `/docker/authentik-outpost`, ou directement en ligne de commande :
```sh ```bash [Terminal]
sudo mkdir -P /docker/authentik-outpost sudo mkdir -P /docker/authentik-outpost
``` ```
@@ -437,7 +437,7 @@ Créez le fichier `compose.yaml` ou copiez la configuration directement dans le
En ligne de commande : En ligne de commande :
```sh ```bash [Terminal]
sudo nano /docker/authentik-outpost/compose.yaml sudo nano /docker/authentik-outpost/compose.yaml
``` ```
Collez la configuration suivante, en changeant les chiffres de `{AUTHENTIK_TAG:proxy:2024.2.3}`{lang=properties} par la meme version que celle de votre serveur Authentik. Collez la configuration suivante, en changeant les chiffres de `{AUTHENTIK_TAG:proxy:2024.2.3}`{lang=properties} par la meme version que celle de votre serveur Authentik.
@@ -470,7 +470,7 @@ services:
Rendez-vous sur la stack de SWAG de la machine distante (ou remplissez directement si vous avez [Dockge](/fr/serveex/core/docker#installer-dockge-pour-gérer-et-déployer-les-conteneurs)) et ajoutez le réseau de authentik-outpost dans le fichier de conf sur ce modele (les champs `networks`) : Rendez-vous sur la stack de SWAG de la machine distante (ou remplissez directement si vous avez [Dockge](/fr/serveex/core/docker#installer-dockge-pour-gérer-et-déployer-les-conteneurs)) et ajoutez le réseau de authentik-outpost dans le fichier de conf sur ce modele (les champs `networks`) :
```sh ```bash [Terminal]
sudo nano /docker/swag/compose.yaml sudo nano /docker/swag/compose.yaml
``` ```
@@ -501,7 +501,7 @@ Si vous avez [Dockge](/fr/serveex/core/docker#installer-dockge-pour-g"rer-et-d"p
Sinon, via le terminal : Sinon, via le terminal :
```sh ```bash [Terminal]
cd /docker/swag/ cd /docker/swag/
sudo docker compose up -d sudo docker compose up -d
``` ```
@@ -510,7 +510,7 @@ Creez (ou remplissez directement si vous avez [Dockge](/fr/serveex/core/docker#i
En ligne de commande : En ligne de commande :
```sh ```bash [Terminal]
sudo nano /docker/authentik-outpost/.env sudo nano /docker/authentik-outpost/.env
``` ```
@@ -533,7 +533,7 @@ Si vous avez [Dockge](/fr/serveex/core/docker#installer-dockge-pour-g"rer-et-d"p
Sinon, via le terminal : Sinon, via le terminal :
```sh ```bash [Terminal]
cd /docker/authentik-outpost/ cd /docker/authentik-outpost/
sudo docker compose up -d sudo docker compose up -d
``` ```
@@ -544,7 +544,7 @@ Nous allons a présent configurer SWAG.
Ouvrez le fichier `authentik-server.conf`. Ouvrez le fichier `authentik-server.conf`.
```sh ```bash [Terminal]
sudo nano /docker/swag/config/nginx/authentik-server.conf sudo nano /docker/swag/config/nginx/authentik-server.conf
``` ```
@@ -562,19 +562,19 @@ Ensuite, configurez les applications à protéger selon si elles sont [natives](
## Migrer une base authentik ## Migrer une base authentik
Sur la machine d'origine, dumper la bdd : Sur la machine d'origine, dumper la bdd :
```sh ```bash [Terminal]
sudo docker exec authentik-postgres pg_dump -U authentik -F t authentik > /path/to/mydb.tar sudo docker exec authentik-postgres pg_dump -U authentik -F t authentik > /path/to/mydb.tar
``` ```
Puis l'envoyer sur la machine cible. Sur la machine cible, copier le fichier dans le container docker Puis l'envoyer sur la machine cible. Sur la machine cible, copier le fichier dans le container docker
```sh ```bash [Terminal]
cp /path/to/mydb.tar authentik-postgres:/path/to/wherever cp /path/to/mydb.tar authentik-postgres:/path/to/wherever
``` ```
(Optionnel) Purgez les tables existantes : (Optionnel) Purgez les tables existantes :
```sh ```bash [Terminal]
sudo docker exec -i authentik-postgres psql -U authentik -c "SELECT pg_terminate_backend(pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'authentik' AND pid <> pg_backend_pid();" && \ sudo docker exec -i authentik-postgres psql -U authentik -c "SELECT pg_terminate_backend(pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'authentik' AND pid <> pg_backend_pid();" && \
sudo docker exec -i authentik-postgres psql -U authentik -d postgres -c "DROP DATABASE IF EXISTS authentik;" && \ sudo docker exec -i authentik-postgres psql -U authentik -d postgres -c "DROP DATABASE IF EXISTS authentik;" && \
sudo docker exec -i authentik-postgres psql -U authentik -d postgres -c "CREATE DATABASE authentik;" && \ sudo docker exec -i authentik-postgres psql -U authentik -d postgres -c "CREATE DATABASE authentik;" && \
@@ -582,6 +582,6 @@ sudo docker exec -i authentik-postgres psql -U authentik -d postgres -c "CREATE
Restaurez la bdd Restaurez la bdd
```sh ```bash [Terminal]
sudo docker exec authentik-postgresql pg_restore -U authentik -d authentik /path/to/wherever/mydb.tar sudo docker exec authentik-postgresql pg_restore -U authentik -d authentik /path/to/wherever/mydb.tar
``` ```
@@ -92,7 +92,7 @@ Pour configurer les tunnels, nous aurons besoin de créer un fichier `tunnelconf
__Astuce :__ vous pouvez utiliser [File Browser](/fr/serveex/files/file-browser) pour naviguer dans vos fichier et éditer vos documents au lieu d'utiliser les commandes du terminal. __Astuce :__ vous pouvez utiliser [File Browser](/fr/serveex/files/file-browser) pour naviguer dans vos fichier et éditer vos documents au lieu d'utiliser les commandes du terminal.
:: ::
```sh ```bash [Terminal]
sudo nano /docker/swag/config/tunnelconfig.yml sudo nano /docker/swag/config/tunnelconfig.yml
``` ```
@@ -118,7 +118,7 @@ A présent, nous allons configurer le bon fonctionnement du mode _Cloudflare Rea
Ouvrez le fichier `nginx.conf` Ouvrez le fichier `nginx.conf`
```sh ```bash [Terminal]
sudo nano /docker/swag/config/nginx/nginx.conf sudo nano /docker/swag/config/nginx/nginx.conf
``` ```
Collez la configuration ci-dessous à la fin de la section `http` Collez la configuration ci-dessous à la fin de la section `http`
@@ -21,7 +21,7 @@ description: Installer Uptime-Kuma pour surveiller la disponibilité de vos serv
## Installation ## Installation
Structure des dossiers Structure des dossiers
```sh ```text [Arborescence]
root root
└── docker └── docker
└── uptime-kuma └── uptime-kuma
@@ -84,7 +84,7 @@ Dans les dossiers de Swag, créez le fichier `stats.subdomain.conf`.
vous pouvez utiliser [File Browser](/fr/serveex/files/file-browser) pour naviguer dans vos fichier et éditer vos documents au lieu d'utiliser les commandes du terminal. vous pouvez utiliser [File Browser](/fr/serveex/files/file-browser) pour naviguer dans vos fichier et éditer vos documents au lieu d'utiliser les commandes du terminal.
:: ::
```sh ```bash [Terminal]
sudo nano /docker/swag/config/nginx/proxy-confs/stats.subdomain.conf sudo nano /docker/swag/config/nginx/proxy-confs/stats.subdomain.conf
``` ```
Collez la configuration ci-dessous : Collez la configuration ci-dessous :
@@ -20,7 +20,7 @@ description: Installer Dozzle pour surveiller les logs des conteneurs Docker en
## Installation ## Installation
Structure des dossiers Structure des dossiers
```sh ```text [Arborescence]
root root
└── docker └── docker
└── dozzle └── dozzle
@@ -117,7 +117,7 @@ Dans les dossiers de Swag, créez le fichier `dozzle.subdomain.conf`.
✨ __Astuce :__ vous pouvez utiliser [File Browser](/fr/serveex/files/file-browser) pour naviguer dans vos fichier et éditer vos documents au lieu d'utiliser les commandes du terminal. ✨ __Astuce :__ vous pouvez utiliser [File Browser](/fr/serveex/files/file-browser) pour naviguer dans vos fichier et éditer vos documents au lieu d'utiliser les commandes du terminal.
:: ::
```sh ```bash [Terminal]
sudo nano /docker/swag/config/nginx/proxy-confs/dozzle.subdomain.conf sudo nano /docker/swag/config/nginx/proxy-confs/dozzle.subdomain.conf
``` ```
Collez la configuration ci-dessous : Collez la configuration ci-dessous :
@@ -25,7 +25,7 @@ Nous utiliserons l'image docker maintenue par [LinuxServer.io](https://docs.linu
Structure des fichiers Structure des fichiers
```sh ```text [Arborescence]
root root
└── docker └── docker
└── speedtest-tracker └── speedtest-tracker
@@ -35,7 +35,7 @@ root
Dans un terminal, générez une clé avec la commande suivante : Dans un terminal, générez une clé avec la commande suivante :
```sh ```bash [Terminal]
echo -n 'base64:'; openssl rand -base64 32; echo -n 'base64:'; openssl rand -base64 32;
``` ```
@@ -68,7 +68,7 @@ services:
Trouvez votre `PUID` et votre `GUID` en tapant la commande suivante : Trouvez votre `PUID` et votre `GUID` en tapant la commande suivante :
```sh ```bash [Terminal]
id nomdutilisateur id nomdutilisateur
``` ```
@@ -103,7 +103,7 @@ Speedtest Tracker n'utilise pas d'authentification multifacteur. Exposer Speedte
Ouvrez le fichier speedtest.subdomain.conf : Ouvrez le fichier speedtest.subdomain.conf :
```sh ```bash [Terminal]
sudo nano /docker/swag/config/nginx/proxy-confs/speedtest.subdomain.conf sudo nano /docker/swag/config/nginx/proxy-confs/speedtest.subdomain.conf
``` ```
@@ -25,7 +25,7 @@ Beszel dispose d'un hub avec une webui et d'un agent qui permet de collecter les
Structure des dossiers Structure des dossiers
```sh ```text [Arborescence]
root root
└── docker └── docker
└── beszel └── beszel
@@ -190,7 +190,7 @@ Dans les dossiers de Swag, créez le fichier `beszel.subdomain.conf`.
✨ __Astuce :__ vous pouvez utiliser [File Browser](/fr/serveex/files/file-browser) pour naviguer dans vos fichier et éditer vos documents au lieu d'utiliser les commandes du terminal. ✨ __Astuce :__ vous pouvez utiliser [File Browser](/fr/serveex/files/file-browser) pour naviguer dans vos fichier et éditer vos documents au lieu d'utiliser les commandes du terminal.
:: ::
```sh ```bash [Terminal]
sudo nano /docker/swag/config/nginx/proxy-confs/beszel.subdomain.conf sudo nano /docker/swag/config/nginx/proxy-confs/beszel.subdomain.conf
``` ```
Collez la configuration ci-dessous : Collez la configuration ci-dessous :
@@ -21,7 +21,7 @@ description: Installer UpSnap pour allumer à distance des machines de votre ré
Structure des dossiers Structure des dossiers
```sh ```text [Arborescence]
root root
└── docker └── docker
└── upsnap └── upsnap
@@ -130,7 +130,7 @@ Dans les dossiers de Swag, créez le fichier `upsnap.subdomain.conf`.
✨ __Astuce :__ vous pouvez utiliser [File Browser](/fr/serveex/files/file-browser) pour naviguer dans vos fichier et éditer vos documents au lieu d'utiliser les commandes du terminal. ✨ __Astuce :__ vous pouvez utiliser [File Browser](/fr/serveex/files/file-browser) pour naviguer dans vos fichier et éditer vos documents au lieu d'utiliser les commandes du terminal.
:: ::
```sh ```bash [Terminal]
sudo nano /docker/swag/config/nginx/proxy-confs/upsnap.subdomain.conf sudo nano /docker/swag/config/nginx/proxy-confs/upsnap.subdomain.conf
``` ```
Collez la configuration ci-dessous : Collez la configuration ci-dessous :
+4 -4
View File
@@ -32,7 +32,7 @@ Vous serez amenés à creer un compte *Plex.tv*. Vous n'avez pas besoin d'expose
## Installer Plex ## Installer Plex
Structure des dossiers : Structure des dossiers :
```sh ```text [Arborescence]
root root
├── docker ├── docker
│ ├── plex │ ├── plex
@@ -50,7 +50,7 @@ root
Créez les dossiers `movies`, `tvseries` et `library` dans /media : Créez les dossiers `movies`, `tvseries` et `library` dans /media :
```sh ```bash [Terminal]
mkdir -p /media/movies /media/library /media/tvseries mkdir -p /media/movies /media/library /media/tvseries
``` ```
@@ -120,7 +120,7 @@ services:
Trouvez votre PUID et votre GUID en tapant la commande suivante : Trouvez votre PUID et votre GUID en tapant la commande suivante :
```sh ```bash [Terminal]
id nomdutilisateur id nomdutilisateur
``` ```
Et renseignez le `.env` avec les infos que vous avez trouvées, par exemple : Et renseignez le `.env` avec les infos que vous avez trouvées, par exemple :
@@ -207,7 +207,7 @@ Copiez en renommant le fichier `tautulli.subdomain.conf.sample` en `tautulli.sub
✨ __Astuce :__ vous pouvez utiliser [File Browser](/fr/serveex/files/file-browser) pour naviguer dans vos fichier et éditer vos documents au lieu d'utiliser les commandes du terminal. ✨ __Astuce :__ vous pouvez utiliser [File Browser](/fr/serveex/files/file-browser) pour naviguer dans vos fichier et éditer vos documents au lieu d'utiliser les commandes du terminal.
:: ::
```sh ```bash [Terminal]
sudo cp /docker/swag/config/nginx/proxy-confs/tautulli.subdomain.conf.sample /docker/swag/config/nginx/proxy-confs/tautulli.subdomain.conf sudo cp /docker/swag/config/nginx/proxy-confs/tautulli.subdomain.conf.sample /docker/swag/config/nginx/proxy-confs/tautulli.subdomain.conf
sudo nano /docker/swag/config/nginx/proxy-confs/tautulli.subdomain.conf sudo nano /docker/swag/config/nginx/proxy-confs/tautulli.subdomain.conf
``` ```
@@ -30,7 +30,7 @@ Nous monterons ici le système ci-dessous :
## Configuration ## Configuration
Structure des dossiers Structure des dossiers
```sh ```text [Arborescence]
root root
├── docker ├── docker
│ └── seedbox │ └── seedbox
@@ -48,7 +48,7 @@ root
Si ce n'est pas déjà fait, créez le dossier `downloads` dans `/media` : Si ce n'est pas déjà fait, créez le dossier `downloads` dans `/media` :
```sh ```bash [Terminal]
mkdir -P /media/downloads mkdir -P /media/downloads
``` ```
@@ -138,19 +138,19 @@ Il faut à présent permettre au mod de récupérer l'information via Gluetun, q
A cet effet, ouvrez un terminal. Nous allons à présent générer une clé d'authentification : A cet effet, ouvrez un terminal. Nous allons à présent générer une clé d'authentification :
```sh ```bash [Terminal]
sudo docker run --rm qmcgaw/gluetun genkey sudo docker run --rm qmcgaw/gluetun genkey
``` ```
Notez la clé. Puis créez le dossier `/docker/gluetun` Notez la clé. Puis créez le dossier `/docker/gluetun`
```sh ```bash [Terminal]
sudo mkdir /docker/gluetun sudo mkdir /docker/gluetun
``` ```
Et créez le fichier `config.toml` Et créez le fichier `config.toml`
```sh ```bash [Terminal]
sudo nano /docker/gluetun/config.toml sudo nano /docker/gluetun/config.toml
``` ```
@@ -255,7 +255,7 @@ Puis nous allons créer et éditer le fichier `seedbox.subdomain.conf`.
✨ __Astuce pour les allergiques au terminal :__ vous pouvez utiliser [File Browser](/fr/serveex/files/file-browser) pour naviguer dans vos fichier et éditer vos documents au lieu d'utiliser les commandes du terminal. ✨ __Astuce pour les allergiques au terminal :__ vous pouvez utiliser [File Browser](/fr/serveex/files/file-browser) pour naviguer dans vos fichier et éditer vos documents au lieu d'utiliser les commandes du terminal.
:: ::
```sh ```bash [Terminal]
sudo nano /docker/swag/config/nginx/proxy-confs/seedbox.subdomain.conf sudo nano /docker/swag/config/nginx/proxy-confs/seedbox.subdomain.conf
``` ```
+2 -2
View File
@@ -29,7 +29,7 @@ Je vous propose de déployer la stack puis nous verrons par la suite la configur
Structure des dossiers : Structure des dossiers :
```sh ```text [Arborescence]
root root
├── docker ├── docker
│ ├── plex │ ├── plex
@@ -447,7 +447,7 @@ Créez le fichier `films.subdomain.conf` et éditez le :
✨ __Astuce :__ vous pouvez utiliser [File Browser](/fr/serveex/files/file-browser) pour naviguer dans vos fichier et éditer vos documents au lieu d'utiliser les commandes du terminal. ✨ __Astuce :__ vous pouvez utiliser [File Browser](/fr/serveex/files/file-browser) pour naviguer dans vos fichier et éditer vos documents au lieu d'utiliser les commandes du terminal.
:: ::
```sh ```bash [Terminal]
sudo nano /docker/swag/config/nginx/proxy-confs/films.subdomain.conf sudo nano /docker/swag/config/nginx/proxy-confs/films.subdomain.conf
``` ```
+2 -2
View File
@@ -17,7 +17,7 @@ description: Installer Immich, une alternative auto-hébergée à Google Photos
## Installation ## Installation
Structure des dossiers Structure des dossiers
```sh ```text [Arborescence]
root root
└── docker └── docker
└── immich └── immich
@@ -90,7 +90,7 @@ Dans les dossiers de Swag, créez le fichier `immich.subdomain.conf`.
✨ __Astuce :__ vous pouvez utiliser [File Browser](/fr/serveex/files/file-browser) pour naviguer dans vos fichier et éditer vos documents au lieu d'utiliser les commandes du terminal. ✨ __Astuce :__ vous pouvez utiliser [File Browser](/fr/serveex/files/file-browser) pour naviguer dans vos fichier et éditer vos documents au lieu d'utiliser les commandes du terminal.
:: ::
```sh ```bash [Terminal]
sudo nano /docker/swag/config/nginx/proxy-confs/immich.subdomain.conf sudo nano /docker/swag/config/nginx/proxy-confs/immich.subdomain.conf
``` ```
Collez la configuration ci-dessous : Collez la configuration ci-dessous :
+4 -4
View File
@@ -22,7 +22,7 @@ Nous utiliserons l'image docker maintenue par [LinuxServer.io](https://docs.linu
Structure des fichiers Structure des fichiers
```sh ```text [Arborescence]
root root
└── docker └── docker
└── nextcloud └── nextcloud
@@ -62,7 +62,7 @@ Si vous avez un NAS ou un disque réseau partagé via [samba](/fr/general/networ
Trouvez votre `PUID` et votre `GUID` en tapant la commande suivante : Trouvez votre `PUID` et votre `GUID` en tapant la commande suivante :
```sh ```bash [Terminal]
id nomdutilisateur id nomdutilisateur
``` ```
Et renseignez le `.env` avec le port souhaité, et les infos que vous avez trouvées, par exemple : Et renseignez le `.env` avec le port souhaité, et les infos que vous avez trouvées, par exemple :
@@ -120,7 +120,7 @@ Dans les fichiers de nextcloud, éditez le fichier `config.php`.
✨ __Astuce :__ vous pouvez utiliser [File Browser](/fr/serveex/files/file-browser) pour naviguer dans vos fichier et éditer vos documents au lieu d'utiliser les commandes du terminal. ✨ __Astuce :__ vous pouvez utiliser [File Browser](/fr/serveex/files/file-browser) pour naviguer dans vos fichier et éditer vos documents au lieu d'utiliser les commandes du terminal.
:: ::
```sh ```bash [Terminal]
sudo nano /docker/nextcloud/config/www/nextcloud/config/config.php sudo nano /docker/nextcloud/config/www/nextcloud/config/config.php
``` ```
@@ -143,7 +143,7 @@ Enregistrez avec :kbd{value="Ctrl+O"} puis :kbd{value="Entrée"}, puis quittez a
Dans les dossiers de Swag, créez le fichier `nextcloud.subdomain.conf`. Dans les dossiers de Swag, créez le fichier `nextcloud.subdomain.conf`.
```sh ```bash [Terminal]
sudo nano /docker/swag/config/nginx/proxy-confs/nexctloud.subdomain.conf sudo nano /docker/swag/config/nginx/proxy-confs/nexctloud.subdomain.conf
``` ```
Collez la configuration ci-dessous : Collez la configuration ci-dessous :
@@ -97,7 +97,7 @@ Relancez la stack en cliquant sur "déployer" et patientez le temps que SWAG soi
Dans les dossiers de Swag, créez le fichier `files.subdomain.conf`. Dans les dossiers de Swag, créez le fichier `files.subdomain.conf`.
```sh ```bash [Terminal]
sudo nano /docker/swag/config/nginx/proxy-confs/files.subdomain.conf sudo nano /docker/swag/config/nginx/proxy-confs/files.subdomain.conf
``` ```
Collez la configuration ci-dessous : Collez la configuration ci-dessous :
+1 -1
View File
@@ -119,7 +119,7 @@ Dans les dossiers de Swag, créez le fichier `pingvin.subdomain.conf`.
✨ __Astuce :__ vous pouvez utiliser [File Browser](/fr/serveex/files/file-browser) pour naviguer dans vos fichier et éditer vos documents au lieu d'utiliser les commandes du terminal. ✨ __Astuce :__ vous pouvez utiliser [File Browser](/fr/serveex/files/file-browser) pour naviguer dans vos fichier et éditer vos documents au lieu d'utiliser les commandes du terminal.
:: ::
```sh ```bash [Terminal]
sudo nano /docker/swag/config/nginx/proxy-confs/pingvin.subdomain.conf sudo nano /docker/swag/config/nginx/proxy-confs/pingvin.subdomain.conf
``` ```
Collez la configuration ci-dessous : Collez la configuration ci-dessous :
@@ -26,7 +26,7 @@ Pour cette installation nous utiliserons [l'image maintenue par LinuxServer.io](
Structure des dossiers Structure des dossiers
```sh ```text [Arborescence]
root root
├── docker ├── docker
│ └── code-server │ └── code-server
@@ -74,13 +74,13 @@ services:
Choisissez un mot de passe et générez un hash Choisissez un mot de passe et générez un hash
```sh ```bash [Terminal]
echo -n "votremotdepasse" | npx argon2-cli -e echo -n "votremotdepasse" | npx argon2-cli -e
``` ```
Notez précieusement le résultat. Trouvez votre PUID et votre GUID en tapant la commande suivante : Notez précieusement le résultat. Trouvez votre PUID et votre GUID en tapant la commande suivante :
```sh ```bash [Terminal]
id nomdutilisateur id nomdutilisateur
``` ```
@@ -157,7 +157,7 @@ Dans les dossiers de Swag, créez le fichier `code.subdomain.conf`.
✨ __Astuce :__ vous pouvez utiliser [File Browser](/fr/serveex/files/file-browser) pour naviguer dans vos fichier et éditer vos documents au lieu d'utiliser les commandes du terminal. ✨ __Astuce :__ vous pouvez utiliser [File Browser](/fr/serveex/files/file-browser) pour naviguer dans vos fichier et éditer vos documents au lieu d'utiliser les commandes du terminal.
:: ::
```sh ```bash [Terminal]
sudo nano /docker/swag/config/nginx/proxy-confs/code.subdomain.conf sudo nano /docker/swag/config/nginx/proxy-confs/code.subdomain.conf
``` ```
Collez la configuration ci-dessous : Collez la configuration ci-dessous :
@@ -20,7 +20,7 @@ description: Installer Gitea, un service Git auto-hébergé léger pour gérer v
## Installation ## Installation
Structure des dossiers Structure des dossiers
```sh ```text [Arborescence]
root root
└── docker └── docker
└── gitea └── gitea
@@ -109,7 +109,7 @@ Dans les dossiers de Swag, créez le fichier `gitea.subdomain.conf`.
✨ __Astuce :__ vous pouvez utiliser [File Browser](/fr/serveex/files/file-browser) pour naviguer dans vos fichier et éditer vos documents au lieu d'utiliser les commandes du terminal. ✨ __Astuce :__ vous pouvez utiliser [File Browser](/fr/serveex/files/file-browser) pour naviguer dans vos fichier et éditer vos documents au lieu d'utiliser les commandes du terminal.
:: ::
```sh ```bash [Terminal]
sudo nano /docker/swag/config/nginx/proxy-confs/gitea.subdomain.conf sudo nano /docker/swag/config/nginx/proxy-confs/gitea.subdomain.conf
``` ```
Collez la configuration ci-dessous : Collez la configuration ci-dessous :
@@ -175,7 +175,7 @@ Enregistrez avec :kbd{value="Ctrl+O"} puis :kbd{value="Entrée"}, puis quittez a
Ouvrez le fichier `app.ini` dans les fichiers du conteneur Ouvrez le fichier `app.ini` dans les fichiers du conteneur
```sh ```bash [Terminal]
sudo nano /docker/gitea/data/gitea/conf/app.ini sudo nano /docker/gitea/data/gitea/conf/app.ini
``` ```
@@ -98,7 +98,7 @@ Dans les dossiers de Swag, créez le fichier `tools.subdomain.conf`.
✨ __Astuce :__ vous pouvez utiliser [File Browser](/fr/serveex/files/file-browser) pour naviguer dans vos fichier et éditer vos documents au lieu d'utiliser les commandes du terminal. ✨ __Astuce :__ vous pouvez utiliser [File Browser](/fr/serveex/files/file-browser) pour naviguer dans vos fichier et éditer vos documents au lieu d'utiliser les commandes du terminal.
:: ::
```sh ```bash [Terminal]
sudo nano /docker/swag/config/nginx/proxy-confs/tools.subdomain.conf sudo nano /docker/swag/config/nginx/proxy-confs/tools.subdomain.conf
``` ```
Collez la configuration ci-dessous : Collez la configuration ci-dessous :
+2 -2
View File
@@ -38,7 +38,7 @@ C'est ainsi que les pubs et domaines malveillants sont bloqués : leurs domaines
## Installation ## Installation
Structure des dossiers : Structure des dossiers :
```sh ```text [Arborescence]
root root
└── docker └── docker
└── adguard └── adguard
@@ -145,7 +145,7 @@ Créez et ouvrez le fichier `adguard.subdomain.conf`
vous pouvez utiliser [File Browser](/fr/serveex/files/file-browser) pour naviguer dans vos fichier et éditer vos documents au lieu d'utiliser les commandes du terminal. vous pouvez utiliser [File Browser](/fr/serveex/files/file-browser) pour naviguer dans vos fichier et éditer vos documents au lieu d'utiliser les commandes du terminal.
:: ::
```sh ```bash [Terminal]
sudo nano /docker/swag/config/nginx/proxy-confs/adguard.subdomain.conf sudo nano /docker/swag/config/nginx/proxy-confs/adguard.subdomain.conf
``` ```
+3 -3
View File
@@ -19,7 +19,7 @@ Vaultwarden est un fork de la solution [Bitwarden](https://bitwarden.com/fr-fr/h
## Installation ## Installation
Structure des dossiers Structure des dossiers
```sh ```text [Arborescence]
root root
└── docker └── docker
└── vaultwarden └── vaultwarden
@@ -79,7 +79,7 @@ services:
Nous allons maintenant générer un hash de mot de passe, qu'il faudra renseigner dans la variable `TOKEN` du `.env` Nous allons maintenant générer un hash de mot de passe, qu'il faudra renseigner dans la variable `TOKEN` du `.env`
```sh ```bash [Terminal]
echo -n 'votremotdepasse' | argon2 "$(openssl rand -base64 32)" -e -id -k 65540 -t 3 -p 4 echo -n 'votremotdepasse' | argon2 "$(openssl rand -base64 32)" -e -id -k 65540 -t 3 -p 4
``` ```
@@ -145,7 +145,7 @@ Dans les dossiers de Swag, créez le fichier `vault.subdomain.conf`.
✨ __Astuce :__ vous pouvez utiliser [File Browser](/fr/serveex/files/file-browser) pour naviguer dans vos fichier et éditer vos documents au lieu d'utiliser les commandes du terminal. ✨ __Astuce :__ vous pouvez utiliser [File Browser](/fr/serveex/files/file-browser) pour naviguer dans vos fichier et éditer vos documents au lieu d'utiliser les commandes du terminal.
:: ::
```sh ```bash [Terminal]
sudo nano /docker/swag/config/nginx/proxy-confs/vault.subdomain.conf sudo nano /docker/swag/config/nginx/proxy-confs/vault.subdomain.conf
``` ```
Collez la configuration ci-dessous : Collez la configuration ci-dessous :
@@ -12,7 +12,7 @@ J'ai donc restructuré mes dossiers, remis à la main chaque chemin dans Qbittor
Mes dossiers : Mes dossiers :
```sh ```text [Arborescence]
. .
└── media └── media
├── seedbox ├── seedbox
@@ -40,7 +40,7 @@ Je vous passe les incessantes questions réponses avec ChatGPT, je suis assez d
Pour tester, j'ai d'abord demandé un script qui ne fait que lister et comparer : Pour tester, j'ai d'abord demandé un script qui ne fait que lister et comparer :
```sh ```bash [Terminal]
#!/bin/bash #!/bin/bash
# Créer un tableau associatif pour stocker les doublons # Créer un tableau associatif pour stocker les doublons
@@ -85,7 +85,7 @@ Une fois que j'ai vu que cela fonctionnait bien, j'ai demandé un script qui fai
Encore une fois ChatGPT a été décevant. Malgré mes demandes, il créait d'abord les hardlinks et ensuite il supprimait les doublons. Ce qui.. suprimme aussi le lien (meme si cela conserve l'originale). Idiot. Encore une fois ChatGPT a été décevant. Malgré mes demandes, il créait d'abord les hardlinks et ensuite il supprimait les doublons. Ce qui.. suprimme aussi le lien (meme si cela conserve l'originale). Idiot.
Petit détour par Qwen3, et ma RTX 5090 en PLS, et paf un résultat bien plus propre. Bon il a gardé les emoji de ChatGPT qui peut pas s'empecher d'en mettre partout, mais voilà : Petit détour par Qwen3, et ma RTX 5090 en PLS, et paf un résultat bien plus propre. Bon il a gardé les emoji de ChatGPT qui peut pas s'empecher d'en mettre partout, mais voilà :
```sh ```bash [Terminal]
#!/bin/bash #!/bin/bash
echo "🔍 Étape 1 : Indexation des fichiers originaux dans /media/seedbox..." echo "🔍 Étape 1 : Indexation des fichiers originaux dans /media/seedbox..."
@@ -61,7 +61,7 @@ __Attention :__ Cette documentation utilise la version `14` de [wg-easy](https:/
Structure des dossiers Structure des dossiers
```sh ```text [Arborescence]
root root
└── docker └── docker
└── wg-easy └── wg-easy
@@ -144,7 +144,7 @@ Puis déployez la stack.
Pour que l'host autorise les clients à communiquer entre eux, vous devez activer les paramèttres suivants : Pour que l'host autorise les clients à communiquer entre eux, vous devez activer les paramèttres suivants :
```sh ```bash [Terminal]
sudo sysctl net.ipv4.ip_forward=1 sudo sysctl net.ipv4.ip_forward=1
sudo sysctl net.ipv4.conf.all.src_valid_mark=1 sudo sysctl net.ipv4.conf.all.src_valid_mark=1
``` ```
@@ -172,7 +172,7 @@ Nous partons du principe que le serveur client est un serveur linux avec Docker
Structure des dossiers Structure des dossiers
```sh ```text [Arborescence]
root root
└── docker └── docker
└── wireguard └── wireguard
@@ -188,7 +188,7 @@ Creez le dossier `/docker/wireguard/config/wg_confs`.
vous pouvez utiliser [File Browser](/fr/serveex/files/file-browser) pour naviguer dans vos fichier et éditer vos documents au lieu d'utiliser les commandes du terminal. vous pouvez utiliser [File Browser](/fr/serveex/files/file-browser) pour naviguer dans vos fichier et éditer vos documents au lieu d'utiliser les commandes du terminal.
:: ::
```sh ```bash [Terminal]
sudo mkdir -p /docker/wireguard/config/wg_confs sudo mkdir -p /docker/wireguard/config/wg_confs
``` ```
@@ -197,12 +197,12 @@ Copiez le fichier` wg0.conf` téléchargé précédemment.
::tip{icon=""} ::tip{icon=""}
✨ __Astuce :__ Le moyen le plus simple est de transférer le fichier par sftp dans le dossier `/home/nomdutilisateur` puis de le copier dans le bon dossier : ✨ __Astuce :__ Le moyen le plus simple est de transférer le fichier par sftp dans le dossier `/home/nomdutilisateur` puis de le copier dans le bon dossier :
```sh ```bash [Terminal]
sudo cp ~/wg0.conf /docker/wireguard/config/wg_confs sudo cp ~/wg0.conf /docker/wireguard/config/wg_confs
:: ::
Creez le `compose.yaml` dans `/docker/wireguard `: Creez le `compose.yaml` dans `/docker/wireguard `:
```sh ```bash [Terminal]
sudo nano /docker/wireguard/compose.yaml sudo nano /docker/wireguard/compose.yaml
``` ```
Appuyez sur `i` pour rentrer en modification et copiez la configuration ci-dessous Appuyez sur `i` pour rentrer en modification et copiez la configuration ci-dessous
@@ -229,7 +229,7 @@ services:
Enregistrez avec :kbd{value="Ctrl+O"} puis :kbd{value="Entrée"}, puis quittez avec :kbd{value="Ctrl+X"}. Enregistrez avec :kbd{value="Ctrl+O"} puis :kbd{value="Entrée"}, puis quittez avec :kbd{value="Ctrl+X"}.
Lancez le conteneur : Lancez le conteneur :
```sh ```bash [Terminal]
cd /docker/wireguard cd /docker/wireguard
sudo docker compose up -d sudo docker compose up -d
``` ```