Label terminal commands and directory trees in code blocks
This commit is contained in:
@@ -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 you’ll 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
|
||||
|
||||
@@ -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
|
||||
```
|
||||
|
||||
@@ -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
|
||||
```
|
||||
|
||||
@@ -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 haven’t 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, let’s 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 Swag’s 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:
|
||||
|
||||
@@ -33,7 +33,7 @@ You’ll need to create a *Plex.tv* account. You don’t 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 @@ Here’s the system we’ll 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
|
||||
```
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ We’ll 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
|
||||
```
|
||||
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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 you’re 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 Nextcloud’s 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 Swag’s 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
|
||||
```
|
||||
|
||||
|
||||
@@ -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, we’ll 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
|
||||
```
|
||||
|
||||
|
||||
@@ -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
|
||||
```
|
||||
|
||||
|
||||
@@ -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
|
||||
```
|
||||
|
||||
|
||||
Reference in New Issue
Block a user