Stack docker compose de mon serveur voljin
This repository has been archived on 2022-06-13. You can view files and clone it, but cannot push or open issues/pull-requests.
 
 
Go to file
Draconis 6e8d87e399 nouvelle version 2022-06-13 14:11:29 +02:00
build/nextcloud nouvelle version 2022-06-13 14:11:29 +02:00
exemple ajout du docker-compose 2022-05-16 15:09:38 +02:00
scripts nouvelle version 2022-06-13 14:11:29 +02:00
secrets migration sur nouveau serveur 2021-12-17 11:58:28 +01:00
.gitignore migration sur nouveau serveur 2021-12-17 11:58:28 +01:00
README.md migration sur nouveau serveur 2021-12-17 11:58:28 +01:00
compose-logo.png migration sur nouveau serveur 2021-12-17 11:58:28 +01:00
docker-compose.yml nouvelle version 2022-06-13 14:11:29 +02:00

README.md

Voljin

logo

Mon serveur cloud personnel hébergé depuis chez moi sur Gigabyte Brix GB-BXBT-2807 avec 8 Go de RAM. Le tout orchestré par Docker-Compose et Debian. Le serveur s'appelle Voljin en hommage au chef des Trolls dans l'univers de Warcraft.

Contenu

  • Traefik - reverse-proxy pour l'accès internet des applications qui en ont l'usage

Composition

.
├── build
├── exemple
├── scripts
├── secrets
├── compose-logo.png
├── docker-compose.yml
└── README.yml

build : Contient les éléments pour la construction des mes images dockers.

exemple : exemple de mes fichiers .env utilisés pour la gestion des variables d'environement.

scripts : tous les exécutables pour configurer, démarrer, gérer la stack

secrets : réuni tous les docker secrets

Configuration

Secrets

Le code de la stack étant public et pour sécuriser la communication des différents conteneurs, j'utilise des docker secrets afin que les informations sensible ne soient pas diffusées en clair. Ils sont tous contenus dans le répertoire secretsprévu à cet effet.

.
└── traefik_auth_file
  • traefik_auth_file : authentification pour la console traefik. Le traefik_auth_file se présente sous la forme d'un ligne de texte contenant le nom d'utilisateur et le mot de passe qui sera chiffré ave openssl.
user:mot_de_passe_chiffré

Pour chiffrer le mot de passe avec openssl.

openssl passwd -apr1 mon_mot_de_passe

Le mot de passe chiffré doit ressembler à cela.

$apr1$89eqM5Ro$CxaFELthUKV21DpI3UTQO.

On copie-colle avec le nom d'utilisateur.

user:$apr1$89eqM5Ro$CxaFELthUKV21DpI3UTQO.

On mettra une ligne par utilisateurs.

Lancement des scripts

  1. setup.sh

Post-Configuration

Nextcloud

1. La configuration de l'en-tête du reverse proxy est incorrecte ou vous accédez à Nextcloud à partir d'un proxy de confiance.

Cette erreur survient avec l'utilisation d'un reverse proxy, Traefik dans mon cas. Pour la résoudre il faut inspecter le conteneur qui exécute Traefik.

docker inspect traefik

Et chercher les lignes suivantes et relever les lignes "IPAddress" et "IPrefxLen".

...
"EndpointID": "dca0adfbbddf2ffc29f183a5147c5140775dec40ece7a                                                                                                 f5b75e6d285272c304a",
                    "Gateway": "172.1.0.1",
                    "IPAddress": "172.1.0.2",
                    "IPPrefixLen": 16,
                    "IPv6Gateway": "",
                    "GlobalIPv6Address": "",
                    "GlobalIPv6PrefixLen": 0,
                    "MacAddress": "02:46:ac:E4:00:02",
                    "DriverOpts": null
                }
...

Puis dans le fichier de configuration de nextcloud ajouter cette ligne.

...
'trusted_proxies' => '172.1.0.2/16',
...

2. Basculez complètement Nextcloud vers HTTPs

Lorsque vous vous connectez à Nextcloud, vous remarquerez probablement que certains symboles ne s'affichent pas. Cela a à voir avec le fait que ceux-ci doivent être chargés via HTTP. Mais celui-ci est bloqué. Pour une prise en charge totale du HTTPs il faut modifier le fichier de configuration de Nextcloud

chercher:
 'overwrite.cli.url' => 'http://nextcloud.mondomaine.do',
remplacer par:
 'overwrite.cli.url' => 'https://nextcloud.mondomaine.do',
ajouter ses deux lignes à suite :
 'overwriteprotocol' => 'https',
 'overwritehost' => 'nextcloud.mondomaine.do',

3. Votre installation na pas de préfixe de région par défaut.

Pour solutionner le problème il suffit déditer le fichier "config/config.php" et dajouter la ligne:

'default_phone_region' => 'FR',