Stack docker compose de mon serveur voljin
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.
 
 
Olivier Delort 6e8d87e399 nouvelle version 2 months ago
build/nextcloud nouvelle version 2 months ago
exemple ajout du docker-compose 3 months ago
scripts nouvelle version 2 months ago
secrets migration sur nouveau serveur 8 months ago
.gitignore migration sur nouveau serveur 8 months ago
README.md migration sur nouveau serveur 8 months ago
compose-logo.png migration sur nouveau serveur 8 months ago
docker-compose.yml nouvelle version 2 months ago

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 n’a 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 d’ajouter la ligne:

'default_phone_region' => 'FR',