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
+8 -6
View File
@@ -1,6 +1,6 @@
---
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:
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
::
::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
::
::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
::
::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"}
Expose your services with SWAG
::
@@ -60,9 +64,7 @@ Expose your services with SWAG
:::
::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"}
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/)
5. Install sudo and add a user to the sudo group for administrative privileges.
Log in as root:
```sh
```bash [Terminal]
su -
```
Enter your password, then type:
```sh
```bash [Terminal]
apt install sudo
```
Add the user to the sudo group:
```sh
```bash [Terminal]
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
Some essential apps youll likely need at some point, so might as well install them early:
```sh
```bash [Terminal]
sudo apt update
sudo apt upgrade
sudo apt install nano btop ranger git duf neofetch samba cifs-utils tree unzip
@@ -64,7 +64,7 @@ Additionally:
### File Transfer via rsync
```sh
```bash [Terminal]
sudo rsync -avhHSP /source /destination
```
::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
Add the Docker repositories and GPG key:
```sh
```bash [Terminal]
# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
@@ -37,7 +37,7 @@ sudo apt-get update
Install the packages:
```sh
```bash [Terminal]
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
From here on, we assume the stacks are installed in the `/docker` folder, created using the command:
```sh
```bash [Terminal]
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:
```sh
```text [Directory tree]
root
└── docker
└── dockge
@@ -71,14 +71,14 @@ root
Create the stack folder:
```sh
```bash [Terminal]
cd /docker
sudo mkdir dockge
```
Then create the `compose.yml` file in this folder using `nano`:
```sh
```bash [Terminal]
cd /docker/dockge
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:
```sh
```bash [Terminal]
cd /docker/dockge
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:
```sh
```text [Directory tree]
root
└── docker
└── 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.
::
```sh
```bash [Terminal]
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:
```sh
```bash [Terminal]
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`:
```sh
```bash [Terminal]
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:
```sh
```bash [Terminal]
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
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
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
```sh
```text [Directory tree]
root
└── docker
└── wg-easy
@@ -173,7 +173,7 @@ We assume the client server runs Linux with Docker installed.
### Folder Structure
```sh
```text [Directory tree]
root
└── docker
└── wireguard
@@ -184,7 +184,7 @@ root
Create the folder:
```sh
```bash [Terminal]
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:
```sh
```bash [Terminal]
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
✨ **Alternative method:** Transfer the file via SFTP and move it:
```sh
```bash [Terminal]
sudo cp ~/wg0.conf /docker/wireguard/config/wg_confs
```
::
@@ -230,7 +230,7 @@ services:
```
Start the container:
```sh
```bash [Terminal]
cd /docker/wireguard
sudo docker compose up -d
```
+18 -18
View File
@@ -39,7 +39,7 @@ Both modes can be configured on a per-application basis.
## Installation
Folder structure:
```sh
```text [Directory tree]
root
└── docker
└── authentik
@@ -53,13 +53,13 @@ root
Create the folders:
```sh
```bash [Terminal]
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:
```sh
```bash [Terminal]
sudo echo "PG_PASS=$(openssl rand 36 | 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
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
```
::
@@ -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.
::
```sh
```bash [Terminal]
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:
```sh
```bash [Terminal]
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`:
```sh
```bash [Terminal]
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:
```sh
```bash [Terminal]
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:
```sh
```bash [Terminal]
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.
@@ -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):
```sh
```bash [Terminal]
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:
```sh
```bash [Terminal]
cd /docker/swag/
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:
```sh
```bash [Terminal]
sudo nano /docker/authentik-outpost/.env
```
@@ -529,7 +529,7 @@ If using Dockge, deploy the stack.
Otherwise, via terminal:
```sh
```bash [Terminal]
cd /docker/authentik-outpost/
sudo docker compose up -d
```
@@ -540,7 +540,7 @@ Now, lets configure SWAG.
Open the `authentik-server.conf` file:
```sh
```bash [Terminal]
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
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
```
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
```
(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;"
```
Restore the database:
```sh
```bash [Terminal]
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.
::
```sh
```bash [Terminal]
sudo nano /docker/swag/config/tunnelconfig.yml
```
@@ -119,7 +119,7 @@ Now configure _Cloudflare Real IP_.
Open the `nginx.conf` file:
```sh
```bash [Terminal]
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
Folder structure
```sh
```text [Directory tree]
root
└── docker
└── 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.
::
```sh
```bash [Terminal]
sudo nano /docker/swag/config/nginx/proxy-confs/stats.subdomain.conf
```
Paste the following config:
@@ -21,7 +21,7 @@ description: Install Dozzle to monitor Docker container logs in real time from a
## Installation
Folder structure
```sh
```text [Directory tree]
root
└── docker
└── 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.
::
```sh
```bash [Terminal]
sudo nano /docker/swag/config/nginx/proxy-confs/dozzle.subdomain.conf
```
Paste the configuration below:
@@ -26,7 +26,7 @@ We will use the Docker image maintained by [LinuxServer.io](https://docs.linuxse
File structure:
```sh
```text [Directory tree]
root
└── docker
└── speedtest-tracker
@@ -36,7 +36,7 @@ root
In a terminal, generate a key using the following command:
```sh
```bash [Terminal]
echo -n 'base64:'; openssl rand -base64 32;
```
@@ -69,7 +69,7 @@ services:
Find your `PUID` and `GUID` by running the following command:
```sh
```bash [Terminal]
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:
```sh
```bash [Terminal]
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
```sh
```text [Directory tree]
root
└── docker
└── 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.
::
```sh
```bash [Terminal]
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
```sh
```text [Directory tree]
root
└── docker
└── 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.
::
```sh
```bash [Terminal]
sudo nano /docker/swag/config/nginx/proxy-confs/upsnap.subdomain.conf
```
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
Folder structure:
```sh
```text [Directory tree]
root
├── docker
│ ├── plex
@@ -51,7 +51,7 @@ root
Create the `movies`, `tvseries`, and `library` folders in `/media`:
```sh
```bash [Terminal]
mkdir -p /media/movies /media/library /media/tvseries
```
@@ -121,7 +121,7 @@ services:
Find your PUID and GUID by running:
```sh
```bash [Terminal]
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.
::
```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 nano /docker/swag/config/nginx/proxy-confs/tautulli.subdomain.conf
```
@@ -31,7 +31,7 @@ Heres the system well set up:
## Configuration
Folder structure
```sh
```text [Directory tree]
root
├── docker
│ └── seedbox
@@ -49,7 +49,7 @@ root
If not already done, create the `downloads` folder under `/media`:
```sh
```bash [Terminal]
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:
```sh
```bash [Terminal]
sudo docker run --rm qmcgaw/gluetun genkey
```
Note the key, then create the `/docker/gluetun` folder:
```sh
```bash [Terminal]
sudo mkdir /docker/gluetun
```
Create the `config.toml` file:
```sh
```bash [Terminal]
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.
::
```sh
```bash [Terminal]
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:
```sh
```text [Directory tree]
root
├── docker
│ ├── 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.
::
```sh
```bash [Terminal]
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
Folder structure
```sh
```text [Directory tree]
root
└── docker
└── 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.
::
```sh
```bash [Terminal]
sudo nano /docker/swag/config/nginx/proxy-confs/immich.subdomain.conf
```
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:
```sh
```text [Directory tree]
root
└── docker
└── 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:
```sh
```bash [Terminal]
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.
::
```sh
```bash [Terminal]
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`:
```sh
```bash [Terminal]
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`.
```sh
```bash [Terminal]
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.
::
```sh
```bash [Terminal]
sudo nano /docker/swag/config/nginx/proxy-confs/pingvin.subdomain.conf
```
Paste the configuration below:
@@ -27,7 +27,7 @@ For this setup, well use the [image maintained by LinuxServer.io](https://doc
Folder structure
```sh
```text [Directory tree]
root
├── docker
│ └── code-server
@@ -75,13 +75,13 @@ services:
Choose a password and generate its hash:
```sh
```bash [Terminal]
echo -n "yourpassword" | npx argon2-cli -e
```
Save the result carefully. Find your PUID and GUID with:
```sh
```bash [Terminal]
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.
::
```sh
```bash [Terminal]
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
Folder structure
```sh
```text [Directory tree]
root
└── docker
└── 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.
::
```sh
```bash [Terminal]
sudo nano /docker/swag/config/nginx/proxy-confs/gitea.subdomain.conf
```
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:
```sh
```bash [Terminal]
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.
::
```sh
```bash [Terminal]
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
Folder structure:
```sh
```text [Directory tree]
root
└── docker
└── 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.
::
```sh
```bash [Terminal]
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
Folder structure:
```sh
```text [Directory tree]
root
└── docker
└── vaultwarden
@@ -79,7 +79,7 @@ services:
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
```
@@ -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.
::
```sh
```bash [Terminal]
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:
```sh
```text [Directory tree]
.
└── media
├── 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:
```sh
```bash [Terminal]
#!/bin/bash
# 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:
```sh
```bash [Terminal]
#!/bin/bash
echo "🔍 Step 1: Indexing original files in /media/seedbox..."
@@ -21,7 +21,7 @@ This script:
* Encrypts the archive with that password
* Deletes the unencrypted archive
```sh
```bash [Terminal]
#!/bin/bash
# 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:
```sh
```text [Directory tree]
root
└── docker
└── wg-easy
@@ -146,7 +146,7 @@ Deploy the stack.
To allow communication between VPN clients, enable:
```sh
```bash [Terminal]
sudo sysctl net.ipv4.ip_forward=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:
```sh
```text [Directory tree]
root
└── docker
└── 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
::
```sh
```bash [Terminal]
sudo mkdir -p /docker/wireguard/config/wg_confs
```
@@ -197,14 +197,14 @@ Copy the `wg0.conf` file downloaded earlier:
::tip{icon=""}
✨ __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
```
::
Create `compose.yaml` in `/docker/wireguard`:
```sh
```bash [Terminal]
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:
```sh
```bash [Terminal]
cd /docker/wireguard
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/)
5. Installer sudo et ajouter un utilisateur au groupe sudo, pour les privilèges administrateurs
Se connecter en root :
```sh
```bash [Terminal]
su -
```
mettre son mot de passe puis taper :
```sh
```bash [Terminal]
apt install sudo
```
Ajouter l'utilisateur au groupe sudo :
```sh
```bash [Terminal]
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
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 upgrade
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
```sh
```bash [Terminal]
sudo rsync -avhHSP /source /destination
```
::note
+7 -7
View File
@@ -21,7 +21,7 @@ Docker, pour installer des services déployables en quelques secondes, et les ma
## Installer docker
Installez les repo Docker et la clé GPG
```sh
```bash [Terminal]
# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
@@ -38,7 +38,7 @@ sudo apt-get update
```
Installez les package
```sh
```bash [Terminal]
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
```
Et voilà !
@@ -48,7 +48,7 @@ Et voilà !
::note
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
```
::
@@ -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 :
```sh
```text [Arborescence]
root
└── docker
└── dockge
@@ -71,14 +71,14 @@ root
Créez le dossier de la stack :
```sh
```bash [Terminal]
cd /docker
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)
```sh
```bash [Terminal]
cd /docker/dockge
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 :
```sh
```bash [Terminal]
cd /docker/dockge
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 :
```sh
```text [Arborescence]
root
└── docker
└── 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.
::
```sh
```bash [Terminal]
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
```sh
```bash [Terminal]
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` :
```sh
```bash [Terminal]
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 :
```sh
```bash [Terminal]
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
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
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
```sh
```text [Arborescence]
root
└── docker
└── wg-easy
@@ -177,7 +177,7 @@ Nous partons du principe que le serveur client est un serveur linux avec Docker
Structure des dossiers
```sh
```text [Arborescence]
root
└── docker
└── 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.
::
```sh
```bash [Terminal]
sudo mkdir -p /docker/wireguard/config/wg_confs
```
Créez le fichier `wg0.conf`
```sh
```bash [Terminal]
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=""}
✨ __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
```
::
Creez le `compose.yaml` dans `/docker/wireguard `:
```sh
```bash [Terminal]
sudo nano /docker/wireguard/compose.yaml
```
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"}.
Lancez le conteneur :
```sh
```bash [Terminal]
cd /docker/wireguard
sudo docker compose up -d
```
+18 -18
View File
@@ -38,7 +38,7 @@ Les deux modes son configurables application par application.
## Installation
Structure des dossiers :
```sh
```text [Arborescence]
root
└── docker
└── authentik
@@ -52,20 +52,20 @@ root
Créez les dossiers :
```sh
```bash [Terminal]
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 :
```sh
```bash [Terminal]
sudo echo "PG_PASS=$(openssl rand 36 | base64)" >> .env
sudo echo "AUTHENTIK_SECRET_KEY=$(openssl rand 60 | base64)" >> .env
```
::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 :
```sh
```bash [Terminal]
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.
::
```sh
```bash [Terminal]
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`
```sh
```bash [Terminal]
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`.
```sh
```bash [Terminal]
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 :
```sh
```bash [Terminal]
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 :
```sh
```bash [Terminal]
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.
@@ -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`) :
```sh
```bash [Terminal]
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 :
```sh
```bash [Terminal]
cd /docker/swag/
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 :
```sh
```bash [Terminal]
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 :
```sh
```bash [Terminal]
cd /docker/authentik-outpost/
sudo docker compose up -d
```
@@ -544,7 +544,7 @@ Nous allons a présent configurer SWAG.
Ouvrez le fichier `authentik-server.conf`.
```sh
```bash [Terminal]
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
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
```
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
```
(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 -d postgres -c "DROP DATABASE IF EXISTS 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
```sh
```bash [Terminal]
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.
::
```sh
```bash [Terminal]
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`
```sh
```bash [Terminal]
sudo nano /docker/swag/config/nginx/nginx.conf
```
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
Structure des dossiers
```sh
```text [Arborescence]
root
└── docker
└── 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.
::
```sh
```bash [Terminal]
sudo nano /docker/swag/config/nginx/proxy-confs/stats.subdomain.conf
```
Collez la configuration ci-dessous :
@@ -20,7 +20,7 @@ description: Installer Dozzle pour surveiller les logs des conteneurs Docker en
## Installation
Structure des dossiers
```sh
```text [Arborescence]
root
└── docker
└── 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.
::
```sh
```bash [Terminal]
sudo nano /docker/swag/config/nginx/proxy-confs/dozzle.subdomain.conf
```
Collez la configuration ci-dessous :
@@ -25,7 +25,7 @@ Nous utiliserons l'image docker maintenue par [LinuxServer.io](https://docs.linu
Structure des fichiers
```sh
```text [Arborescence]
root
└── docker
└── speedtest-tracker
@@ -35,7 +35,7 @@ root
Dans un terminal, générez une clé avec la commande suivante :
```sh
```bash [Terminal]
echo -n 'base64:'; openssl rand -base64 32;
```
@@ -68,7 +68,7 @@ services:
Trouvez votre `PUID` et votre `GUID` en tapant la commande suivante :
```sh
```bash [Terminal]
id nomdutilisateur
```
@@ -103,7 +103,7 @@ Speedtest Tracker n'utilise pas d'authentification multifacteur. Exposer Speedte
Ouvrez le fichier speedtest.subdomain.conf :
```sh
```bash [Terminal]
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
```sh
```text [Arborescence]
root
└── docker
└── 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.
::
```sh
```bash [Terminal]
sudo nano /docker/swag/config/nginx/proxy-confs/beszel.subdomain.conf
```
Collez la configuration ci-dessous :
@@ -21,7 +21,7 @@ description: Installer UpSnap pour allumer à distance des machines de votre ré
Structure des dossiers
```sh
```text [Arborescence]
root
└── docker
└── 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.
::
```sh
```bash [Terminal]
sudo nano /docker/swag/config/nginx/proxy-confs/upsnap.subdomain.conf
```
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
Structure des dossiers :
```sh
```text [Arborescence]
root
├── docker
│ ├── plex
@@ -50,7 +50,7 @@ root
Créez les dossiers `movies`, `tvseries` et `library` dans /media :
```sh
```bash [Terminal]
mkdir -p /media/movies /media/library /media/tvseries
```
@@ -120,7 +120,7 @@ services:
Trouvez votre PUID et votre GUID en tapant la commande suivante :
```sh
```bash [Terminal]
id nomdutilisateur
```
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.
::
```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 nano /docker/swag/config/nginx/proxy-confs/tautulli.subdomain.conf
```
@@ -30,7 +30,7 @@ Nous monterons ici le système ci-dessous :
## Configuration
Structure des dossiers
```sh
```text [Arborescence]
root
├── docker
│ └── seedbox
@@ -48,7 +48,7 @@ root
Si ce n'est pas déjà fait, créez le dossier `downloads` dans `/media` :
```sh
```bash [Terminal]
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 :
```sh
```bash [Terminal]
sudo docker run --rm qmcgaw/gluetun genkey
```
Notez la clé. Puis créez le dossier `/docker/gluetun`
```sh
```bash [Terminal]
sudo mkdir /docker/gluetun
```
Et créez le fichier `config.toml`
```sh
```bash [Terminal]
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.
::
```sh
```bash [Terminal]
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 :
```sh
```text [Arborescence]
root
├── docker
│ ├── 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.
::
```sh
```bash [Terminal]
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
Structure des dossiers
```sh
```text [Arborescence]
root
└── docker
└── 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.
::
```sh
```bash [Terminal]
sudo nano /docker/swag/config/nginx/proxy-confs/immich.subdomain.conf
```
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
```sh
```text [Arborescence]
root
└── docker
└── 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 :
```sh
```bash [Terminal]
id nomdutilisateur
```
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.
::
```sh
```bash [Terminal]
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`.
```sh
```bash [Terminal]
sudo nano /docker/swag/config/nginx/proxy-confs/nexctloud.subdomain.conf
```
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`.
```sh
```bash [Terminal]
sudo nano /docker/swag/config/nginx/proxy-confs/files.subdomain.conf
```
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.
::
```sh
```bash [Terminal]
sudo nano /docker/swag/config/nginx/proxy-confs/pingvin.subdomain.conf
```
Collez la configuration ci-dessous :
@@ -26,7 +26,7 @@ Pour cette installation nous utiliserons [l'image maintenue par LinuxServer.io](
Structure des dossiers
```sh
```text [Arborescence]
root
├── docker
│ └── code-server
@@ -74,13 +74,13 @@ services:
Choisissez un mot de passe et générez un hash
```sh
```bash [Terminal]
echo -n "votremotdepasse" | npx argon2-cli -e
```
Notez précieusement le résultat. Trouvez votre PUID et votre GUID en tapant la commande suivante :
```sh
```bash [Terminal]
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.
::
```sh
```bash [Terminal]
sudo nano /docker/swag/config/nginx/proxy-confs/code.subdomain.conf
```
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
Structure des dossiers
```sh
```text [Arborescence]
root
└── docker
└── 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.
::
```sh
```bash [Terminal]
sudo nano /docker/swag/config/nginx/proxy-confs/gitea.subdomain.conf
```
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
```sh
```bash [Terminal]
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.
::
```sh
```bash [Terminal]
sudo nano /docker/swag/config/nginx/proxy-confs/tools.subdomain.conf
```
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
Structure des dossiers :
```sh
```text [Arborescence]
root
└── docker
└── 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.
::
```sh
```bash [Terminal]
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
Structure des dossiers
```sh
```text [Arborescence]
root
└── docker
└── 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`
```sh
```bash [Terminal]
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.
::
```sh
```bash [Terminal]
sudo nano /docker/swag/config/nginx/proxy-confs/vault.subdomain.conf
```
Collez la configuration ci-dessous :
@@ -12,7 +12,7 @@ J'ai donc restructuré mes dossiers, remis à la main chaque chemin dans Qbittor
Mes dossiers :
```sh
```text [Arborescence]
.
└── media
├── 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 :
```sh
```bash [Terminal]
#!/bin/bash
# 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.
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
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
```sh
```text [Arborescence]
root
└── docker
└── 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 :
```sh
```bash [Terminal]
sudo sysctl net.ipv4.ip_forward=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
```sh
```text [Arborescence]
root
└── docker
└── 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.
::
```sh
```bash [Terminal]
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=""}
✨ __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
::
Creez le `compose.yaml` dans `/docker/wireguard `:
```sh
```bash [Terminal]
sudo nano /docker/wireguard/compose.yaml
```
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"}.
Lancez le conteneur :
```sh
```bash [Terminal]
cd /docker/wireguard
sudo docker compose up -d
```